单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,C,语言程序设计,主讲:黄向党 副教授,联系 :,课程要求,课前请做好,预习,认真、独立、按时完成并,提交,作业,重视,上机实践,所有作业必须,独立,完成,作业必须经上机,调试,通过,上机考勤,3,次,缺席,按,不及格,处理,发现上机时间,上网,,按,缺席,一次处理,上机要求,本课程,教学特点,实践性,强,知识点结构是,非线性,的,时间紧,任务重,尽量按教材安排进行讲授,便于大家,预习,和,复习,第,1,章,程序设计和,C,语言,1.1 什么是计算机程序,1.2 什么是计算机语言,1.3 C语言的开展及其特点,1.4 最简单的C语言程序,1.5 运行C程序的步骤与方法,1.6 程序设计的任务,1.1,什么是计算机程序,裸机,BIOS,各种应用程序,操作系统,计算机系统是由硬件和软件来组成的,计算机系统组成,1.1,什么是计算机程序,程序,:,一组计算机能识别和执行的指令,,通常,程序是为完成一项任务由汇编语言或高级语言编写的代码的集合。,软件,:功能相对集中,多个程序模块有集体。,1.2,什么是计算机语言,计算机语言开展阶段:,机器语言由0和1组成的指令,符号语言用英文字母和数字表示指令,高级语言接近于人的自然语言和数学语言,面向过程的语言,非结构化的语言、结构化语言,面向对象的语言,低级语言,1.3 C语言的开展及其特点,C语言是国际上广泛流行的计算机高级语言。最初的C语言只是为实现UNIX操作系统设计的,C语言的开展:,BCPL,语言,B,语言,C,语言,精练,、,接近硬件,,但,过于简单,无数据类型,具有多种数据类型,C语言诞生于著名的美国贝尔实验室,刚开始是用于UNIX系统中的。那里聚集了当时世界顶尖的软件高手。在20世纪60年代以前,软件人员都是用较低级的语言:机器语言编写程序,这种语言虽然编写的程序执行效率高,但是编写时特别麻烦。,贝尔实验室优秀的程序员就创立了与他们自由编程风格很相近的C语言,这种语言有较强的灵活性,编程方便简单,并且移植性较好。C语言的移植性使得UNIX可以安装运行在不同的机型上,大大推广了UNIX的使用范围,而UNIX的广泛使用又促进了C的威信,提高了C语言在国际社会中的地位,而成为普遍被人接受的编程语言。,The C Programming Language,C语言的开展,目前流行的,C,语言有多种版本,有,Turbo C,、,Quick C,、,Microsoft C,、,Borland C,等,不过它们的核心差不多都是一样的。而,Turbo C,是广泛被人接受的,C,语言教学语言,我们这学期用的就是,Turbo C,。,1.3 C语言的开展及其特点,1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的开展和扩充,制定了第一个C语言标准草案(83 ANSI C)。,1.3 C语言的开展及其特点,1989,年,,ANSI,公布了一个完整的,C,语言标准,ANSI X3.159-1989(,常称,ANSI C,,或,C89),。,1.3 C语言的开展及其特点(版本),1990年,国际标准化组织ISO(International Standard Organization)接受C89作为国际标准ISO/IEC 9899:1990,它和ANSI的C89根本上是相同的。,1.3 C语言的开展及其特点,1995年,ISO对C90作了一些修订,1999年,ISO又对C语言标准进行修订,在根本保存原来的C语言特征的根底上,针对应用的需要,增加了一些功能,尤其是C+中的一些功能,命名为ISO/IEC 9899:1999。,1.3 C语言的开展及其特点,2001、2004年先后进行了两次技术修正TC1和TC2。,ISO/IEC 9899:1999(及其技术修正)被称为 C99。,C99是C89(及1995基准增补1)的扩充。,1.3 C语言的开展及其特点,本书的表达以C99标准为依据对C99新增加的功能作特别的说明。,目前不同软件公司提供的各C语言编译系统多数并未完全实现C99建议的功能,本书中程序根本上都可以在目前所用的编译系统(如VC+6.0,Turbo C+3.0,GCC)上编译和运行。,1.3 C语言的开展及其特点,C,语言是一种用途广泛、功能强大、使用灵活的过程性,(procedural),编程语言,既可用于编写应用软件,又能用于编写系统软件。因此,C,语言问世以后得到迅速推广。,1.3 C语言的开展及其特点,C,语言主要特点,:,语言简洁、紧凑,使用方便、灵活。,只有,37,个关键字、,9,种控制语句,程序书写形式自由,源程序短,1.3 C语言的开展及其特点,C,语言主要特点,:,运算符丰富。,有,34,种运算符,把括号、赋值、强制类型转换等都作为运算符处理,表达式类型多样化,1.3 C语言的开展及其特点,C,语言主要特点,:,数据类型丰富。,包括,:,整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型,C99,又扩充了复数浮点类型、超长整型,(long long),、布尔类型,(bool),指针类型数据,能用来实现各种复杂的数据结构,(,如链表、树、栈等,),的运算。,1.3 C语言的开展及其特点,C,语言主要特点,:,具有结构化的控制语句,如,if,else,语句、,while,语句、,do,while,语句、,switch,语句、,for,语句,用函数作为程序的模块单位,便于实现程序的模块化,C,语言是完全模块化和结构化的语言,1.3 C语言的开展及其特点,C语言主要特点:,语法限制不太严格,程序设计自由度大。,对数组下标越界不做检查,对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用,C语言允许程序编写者有较大的自由度,因此放宽了语法检查,1.3 C语言的开展及其特点,C,语言主要特点,:,允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作,C,语言具有高级语言的功能,和,低级语言的许多功能,可用来编写系统软件,这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言,1.3 C语言的开展及其特点,C语言主要特点:,用C语言编写的程序可移植性好。,C的编译系统简洁,很容易移植到新系统,在新系统上运行时,可直接编译“标准链接库中的大局部功能,不需要修改源代码,几乎所有计算机系统都可以使用C语言,1.3 C语言的开展及其特点,C,语言主要特点,:,生成目标代码质量高,程序执行效率高。,1.4,最简单的,C,语言程序,1.4.1,最简单的,C,语言程序举例,1.4.2 C,语言程序的结构,1.4.1,最简单的,C,语言程序举例,例,1.1,要求在屏幕上输出以下一行信息。,This is a C program.,解题思路:,在主函数中用,printf,函数原样输出以上文字。,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,函数的名字,表示,主函数,C,程序必须有一个,main,函数,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,主函数,类型,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,函数体,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,输出函数,输出语句,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,输出语句,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,换行符,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,当,main,函数执行结束前,将整数,0,作为函数值,1.4.1,最简单的,C,语言程序举例,#include,int main(),printf(This is a C program.n);,return 0;,表示语句结束,用到函数库中的输入输出函数,时,例,1.1,main()/*求两数之和*/,int a,b,sum;/*这是定义变量*/,a=123;b=456;/*以下3行为C语句*/,sum=a+b;,printf(“sum is%dn,sum);,输出结果为:,sum is 579,例,1.2,例,1.3,main()/*主函数*/,int a,b,c;/*声明局部,定义变量*/,scanf(“%d,%d,/*输入变量a和b的值 */,c=max(a,b);/*调用max函数将结果赋给c*/,printf(“max=%d,c);/*输出c的值*/,int max(int x,int y)/*定义max函数,函数值为整型,,形式参数x,y 为整型*/,int z;/*max函数中的声明局部,定义,本函数中用到的变量z为整型*/,if(xy)z=x;,else z=y;,return(z);/*将z的值返回,通过max带回调用处*/,程序运行情况如下:,8,5,max=8,1.4.2 C,语言程序的结构,C,语言程序的结构特点:,1.,一个程序由一个或多个源程序文件组成,小程序往往只包括一个源程序文件,例,1.1,,例,1.2,只有一个函数,例,1.3,有两个函数,只包括一个源程序文件,C,语言的程序构成特点,2、C语言是由许多函数组成的,一个C语言程序至少包含一个main()函数,因此,函数是C语言程序的根本单位。,函数有系统提供的库函数和用户自定义的函数,3、一个函数由两局部组成:,1函数的首部:函数类型 函数名参数1,,参数2.),2函数体:声明局部;,执行局部;,4、一个C程序总是从main函数开始的,而不管main函数在整个程序中的位置。,5、书写格式自由,一行可以写多条语句。,6、每条语句的最后必须有一个分号。,7、C语言本身没有输入输出语句。C对输入输出实行“函数化。,8、/*/表示是注释局部,注释局部不执行,不影响程序的执行效果。,C,语言的程序构成特点,C,语言的程序构成特点,C,语言允许用两种注释方式:,/,:,单行注释,可单独占一行,可,出现在一行中其他内容的右侧,/*/,:,块式注释,可包含多行,1.5,运行,C,程序的步骤与方法,1.上机输入和编辑源程序.c文件,2.对源程序进行编译.obj文件,3.进行连接处理.exe文件,4.运行可执行程序,得到运行结果,The C Programming Language,C,程序的上机步骤,Turbo C,提供:编辑、编译、连接、调试、运行为一体的程序编写调试环境,即,IDE(Integrated Development Inviroment),Compiler,a1.c,a1.obj,a1.exe,Linker,The C Programming Language,上机运行具体步聚,说明:,附录,A,中,有,Visual C+6.0,中,编辑,、,编译、连接和运行,C,程序的方法,1.,问题分析,2.,设计算法,3.,编写程序,4.,对源程序进行编辑、编译和连接,5.,运行程序,分析结果,6.,编写程序文档,1.6,程序设计的任务,