2020/2/101C语言程序设计教程主编邱希春主讲虎小丁清华大学出版社北京交通大学出版社2020/2/102教材、参考书与课时安排教材C语言程序设计教程邱希春编著清华大学出版社参考书C程序设计谭浩强清华大学出版社C高级实用程序设计王士元清华大学出版社课时安排授课:48学时上机:32学时2020/2/103课程要求课前请做好预习保持课堂安静,头脑清醒,思维活跃认真、独立、按时完成并提交作业重视上机实践,有效利用宝贵的上机时间2020/2/104课程内容第一章引论第二章算术类型数据第三章基本运算和表达式第四章语句第五章数组类型第六章函数第七章指针类型第八章自定义数据类型---结构与联合第九章文件和文件处理2020/2/105第1章引论1.1C语言的特点1.2简单的C程序1.3C程序的完整结构及程序执行1.4算法和C程序的三种基本结构1.5小结2020/2/106C语言出现的历史背景C语言是国际上广泛流行的高级语言。C语言是在B语言的基础上发展起来的。B(BCPL)语言是1970年由美国贝尔实验室设计的,并用于编写了第一个UNIX操作系统,在PDP7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。1973年贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。2020/2/107C语言出现的历史背景1975年UNIX第6版发布,C优点突出引起关注。1977年出现了《可移植C语言编译程序》,推动了UNIX在各种机器上实现,C语言也得到推广,其发展相辅相成。1978年影响深远的名著《TheCProgrammingLanguage》由BrianW.Kernighan和DennisM.Ritchie合著,被称为标准C。之后,C语言先后移植到大、中、小、微型计算机上,已独立于UNIX和PDP,风靡世界,成为最广泛的几种计算机语言之一2020/2/108C语言出现的历史背景1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSIC,比标准C有了很大的发展。1988年K&R按照ANSIC修改了他们的《TheCProgrammingLanguage》。1987年,ANSI公布了新标准——87ANSIC。1990年,国际标准化组织接受了87ANSIC为ISOC的标准(ISO9899—1990)。1994年,ISO又修订了C语言标准。目前流行的C语言编译系统大多是以ANSIC为基础进行开发的。2020/2/1091.1C语言的特点C语言应用广泛,可用来编写系统软件,也可用来编写应用软件,其特点如下:(1)中级语言(2)结构化语言(3)可移植性好2020/2/10101.2简单的C程序例一#include“stdio.h”/*标准输入输出头文件*/main()/*主函数*/{printf(“ThisisaCprogram”);/*输出函数*/}本程序的作用是输出以下一行信息:ThisisaCprogram.2020/2/10111.2简单的C程序1.#include“stdio.h”standardinput/outputheader编译预处理命令。2.main()•函数是C程序的基本单位,因此一个C源程序至少包含一个main()函数,也可以包含一个main()函数和若干个其他函数。一个C程序总是从main()函数开始的,而不论main()函数在整个程序中的位置如何,是程序的“入口”。•main()必须有且只有一个。•main()后面需用花括号将内容扩起来称为主函数体。3.C语言本身没有输入输出语句。输入输出的操作是由库函数printf等函数来完成的。2020/2/1012关键字及其作用scanf()格式输入函数每个C程序的后面必须有分号;可以用/*……*/对C程序中的任何部分作注释。从属关系缩进一般八个字符(TAB)2020/2/10131.3C程序的完整结构及程序执行语句的位置不同,其作用也不同变量的定义,自定义函数的声明主函数体程序的可执行部分总之“先定义,后使用”2020/2/1014■字符集:编程可使用的字符■字符集:编程可使用的字符C语言程序的基本标识符英文字母a~z,A~Z;阿拉伯数字0~9;特殊符号(~!%*{}:;?/以及空格、换行等)2020/2/10151.标识符基本词法单位例:判断下列标识符号合法性a,3s,x,BOOK_1,x3,-3x,s*T,sum5,_x7,bowy-1,M.D.John,#h3,char,在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余的都由用户自己定义。命名规则:标识符只能是字母(A~Z,a~z)、或字母与数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。3s,(3起不合法)-3x,(有-不合法)s*T,(有*不合法)bowy-1,(有-不合法)#h3,(有#不合法)char,(关键字(保留字)不合法)M.D.John,(有.不合法)2020/2/1016定义:关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应该与关键字相同。分类:C语言的关键字分为以下几类:P43(1)类型说明符用于定义、说明变量、函数或其它数据结构的类型。如int,double,float,long,short,auto,char等。2020/2/1017(2)语句定义符用于表示一个语句的功能。如条件语句的语句定义符ifelse,循环语句的语句定义符do,while,for等。(3)预处理命令字用于表示一个预处理命令,使用时前面要加“#”。如include,define,ifdef,endif等。关键字后必须有空格,圆括号,尖括号,双引号等分隔符,否则与其它字符一起组成新的标识符。2020/2/10182.常量:在计算过程中,其值固定不变的数据3.运算符:代表不同的运算4.分隔符:分隔两个相邻的常量和标识符的符号2020/2/1019C程序的编译及执行编辑链接编译执行程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exe2020/2/1020C程序的上机步骤开始编辑编译有错?执行连接结果正确结束可执行目标程序f.exe源程序f.c目标程序f.o库函数和其他目标程序YesNoYesNo2020/2/1021C程序的上机步骤目前使用的大多数C编译系统都是集成环境(IDE)的。可以用不同的编译系统对C程序进行操作。常用的有TurboC2.0、TurboC++3.0、VisualC++等。TurboC++3.0:是一个集成环境,它具有方便、直观和易用的界面,虽然它也是DOS环境下的集成环境,但是可以把启动TurboC++3.0集成环境的DOS执行文件tc.exe生成快捷方式,也可以用鼠标操作。VisualC++:也可以用VisualC++对C程序进行编译2020/2/1022C程序的上机步骤例:TurboC++3.0的使用将TurboC++3.0编译程序装入磁盘某一目录下例如:放在C盘根目录下一级TC3.0子目录下。进入TurboC++3.0集成环境①在DOS环境下C:\TC3.0tc↙2020/2/1023C程序的上机步骤②在Windows环境下找到可执行文件tc.exe,执行该文件。主菜单:11个菜单项:FileEditSearchRunCompileDebugProjectOptionsWindowHelp2020/2/1024C程序的上机步骤(2)编辑源文件新建:单击“File”菜单下的“New”,修改:选择“File”→“Open”(即单击“File”的下拉菜单中的“Open”项,修改已有的源程序。2020/2/1025C程序的上机步骤在编辑(EDIT)状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。2020/2/1026C程序的上机步骤保存:在编辑(EDIT)状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。2020/2/1027C程序的上机步骤(3)对源程序进行编译选择“Compile”(或“Alt+F9”)对源程序进行编译。2020/2/1028C程序的上机步骤(4)将目标程序进行连接选择菜单“Compile”→“Link”,如果不出现错误,会得到一个后缀为.exe的可执行文件。(5)执行程序选菜单“Run”→“Run”(或按“Ctrl+F9”键)。(6)退出TurboC++3.0环境选择“File”→“Quit”。