资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第1章程序设计和C语言,*,第,1,章,程序设计和,C,语言,计算机系王燕,11/5/2024,1,第1章程序设计和C语言,主要内容,1.1,什,么是计算机程序,1.2,什,么是计算机语言,1.3 C,语言的发展及其特点,1.4,最,简单的,C,语言程序,1.5,运,行,C,程序的步骤与方法,1.6,程,序设计的任务,11/5/2024,2,第1章程序设计和C语言,重点难点,C,语言,程序,的结构,运行,C,程序的方法,11/5/2024,3,第1章程序设计和C语言,引言,程序通常指完成某些事务的一种,既定方式,和,过程,。,在日常生活中,可以将程序看成对一系列动作的执行过程的描述,如银行取款等。,思考:举出生活中其他例子,11/5/2024,4,第1章程序设计和C语言,引言,什么是指令?,做口述笔记,键入信函的内容,发送传真,口述,2,.,信函,_,_,_,_,3.,传真,指令被逐条执行,程序员,老板,秘书,程序,:一组让计算机能识别和执行的有序的指令,要执行的一组指令,程序,11/5/2024,5,第1章程序设计和C语言,1.1,什么是计算机程序,程序,:,一组计算机能识别和执行的指令,只要让计算机执行这个程序,计算机就会自动地,、,有条不紊地进行工作,计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成,11/5/2024,6,第1章程序设计和C语言,1.2,什么是计算机,语言,计算机语言,:,人和计算机交流信息,的、,计算机和人都能识别的语言,计算机语言发展阶段,:,机器语言,(,由,0,和,1,组成的指令,),符号语言,(,用英文字母和数字表示指令,),高级语言,(,接近于人的自然语言和数学语言,),面向过程的语言,(,结构化,/,非结构化的语言,),面向对象的语言,11/5/2024,7,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,C,语言是国际上广泛流行的高级语言。,C,语言是在,B(BCPL),语言的基础上发展起来的。,B,语言是,1970,年由美国贝尔实验室设计的,并用于编写了第一个,UNIX,操作系统。,1973,年贝尔实验室的,D.M.Ritchie,在,B,语言的基础上设计出了,C,语言,并用之改写了原来用汇编编写的,UNIX,,但仅在贝尔实验室使用。,11/5/2024,8,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,1977,年出现了,可移植,C,语言编译程序,,推动了,UNIX,在各种机器上实现,,C,语言也得到推广。,1978,年影响深远的名著,The C Programming Language,由,Brian,W.Kernighan,和,Dennis,M.Ritchie,合著,被称为标准,C,。,1983,年,美国国家标准化协会,(ANSI),根据,C,语言各种版本对,C,发展和扩充,制定了新的标准,ANSI C,,比标准,C,有了很大的发展。,11/5/2024,9,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,1988,年,K&R,按照,ANSI C,修改了他们的,The C Programming Language,。,1987,年,,ANSI,公布了新标准:,87 ANSI C,。,1989,年,,ANSI,公布了一个完整的,C,语言标准,ANSI X3.159-1989(,常称,ANSI C,,或,C89),。,11/5/2024,10,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,1990,年,国际标准化组织接受了,87 ANSI C,为,ISO C,的标准。,1994,年,,ISO,又修订了,C,语言标准。,1995,年,,ISO,对,C90,作了一些修订,,1999,年,,ISO,又对,C,语言标准进行修订,在基本保留原来的,C,语言特征的基础上,针对应用的需要,增加了一些功能,尤其是,C+,中的一些功能,命名为,ISO/IEC 9899:1999,。,11/5/2024,11,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,2001,、,2004,年先后进行了两次技术修正(,TC1,和,TC2,)。,ISO/IEC 9899:1999(,及其技术修正,),被称为,C99,。,C99,是,C89(,及,1995,基准增补,1),的扩充。,教材的叙述以,C99,标准为依据(对,C99,新增加的功能作特别的说明)。,目前不同软件公司提供的各,C,语言编译系统多数并未完全实现,C99,建议的功能,11/5/2024,12,第1章程序设计和C语言,1.3 C,语言的发展,及其,特点,(,1,)语言简洁、紧凑,使用方便、灵活。,37,个,关键字,、,9,种,控制语句,,程序形式自由,11/5/2024,13,第1章程序设计和C语言,37,个关键字:(由系统定义,不能用作其它定义),autobreakcasecharconst,continuedefaultdodoubleelse,enum,externfloatfor,goto,if,int,longregisterreturnshort,signed,sizeof,static,struct,switch,typedef,unsignedunionvoid volatile,while,inline restrict,_,bool,_Complex_Imaginary,11/5/2024,14,第1章程序设计和C语言,9种控制语句:,if()else,for(),while(),dowhile,(),continue,break,switch,goto,return,11/5/2024,15,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,(,2,),运算符,丰富:,34,种运算符,算术运算符:,+-*/%+-,关系运算符:,=!=,逻辑运算符:!,&|,位运算符 :,|&,赋值运算符:,=,及其扩展,11/5/2024,16,第1章程序设计和C语言,条件运算符:,?:,逗号运算符:,指针运算符:*,&,求字节数 :,sizeof,强制类型转换:,(,类型,),成员运算符:,.-,下标运算符:,其它 :,()-,11/5/2024,17,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,(,3,),数据类型,丰富,具有现代语言的各种数据结构,(,4,)具有结构化的控制语句,是完全,模块化,和,结构化,的语言,(,5,)语法限制不太严格,程序设计自由度大,11/5/2024,18,第1章程序设计和C语言,1.3 C,语言的发展,及其特点,(,6,)允许,直接访问物理地址,,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作,兼有高级和低级语言的特点,(,7,),目标代码质量高,,程序执行效率高,只比汇编程序生成的目标代码效率低,10,-20%,(,8,)程序,可移植性,好(与汇编语言比),基本上不做修改就能用于各种型号的计算机和各种操作系统,11/5/2024,19,第1章程序设计和C语言,说明:,本程序的作用是在屏幕上输出一行信息,:,This is a C program.,1.4,最简单的,C,语言程序,#include,void,main(),printf,(This is a C program.n);,/*文件包含*/,/*主函数*/,/*函数体开始*/,/*输出语句*/,/*函数体结束*/,思考:如何输出一行,“,Hello world!,世界,你好!”,思考题:课本,p15,习题,5,11/5/2024,20,第1章程序设计和C语言,说明,main-,主函数名,,void-,函数类型,每个,C,程序必须有一个主函数,main,是函数开始和结束的标志,每个,C,语句以分号结束,使用标准库函数时应在程序开头一行写,#include,11/5/2024,21,第1章程序设计和C语言,举例,#include void main()/*,求两数之和*,/,int,a,b,sum,;a=123;,b=456;sum=,a+b,;,printf(,sum,is%d,n,sum,);,说明:,输出信息:,sum is 579,声明,定义变量为整型,此,3,行为,C,语句,说明,:,/*/,表示注释。注释只是给人看的,对编译和运行不起作用。可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。,11/5/2024,22,第1章程序设计和C语言,举例,例求,2,个数中较大者,#include void main()/*,主函数*,/,int,max(int,x,int,y);/*,对被调用函数,max,的声明*,/,int,a,b,c;/*,定义变量,a,、,b,、,c*/,scanf,(,d,d,&a,&b,);/*,输入变量,a,和,b,的值*,/c=,max(a,b,);/*,调用,max,函数,将得到的值赋给,c*/,printf(max,=,dn,c,);/*,输出,c,的值*,/,int max(int x,int y),int z;,if (xy)z=x;,else z=y;,return(z);,max(int,x,int,y);,max(,a,b,);,程序运行情况如下,:,8,5,(,输入,8,和,5,赋给,a,和,b),max=8 (,输出,c,的值,),说明:,本程序包括,main,和被调用函数,max,两个函数。,max,函数的作用是将,x,和,y,中较大者的值赋给变量,z,。,return,语句将,z,的值返回给主调函数,main,。,11/5/2024,23,第1章程序设计和C语言,1.4,最简单的,C,语言程序,C,语言程序的结构特点:,1.,一个源程序文件中可以包括三个部分:,预处理指令,全局声明,函数定义,#include,等,在函数之外进行的数据声明,每个函数用来实现一定的功能,11/5/2024,24,第1章程序设计和C语言,1.4,最简单的,C,语言程序,2.,函数是,C,程序的主要组成部分,一个,C,程序是由一个或多个函数组成的,必须包含一个,main,函数(,只能有一个,),每个函数都用来实现一个或几个特定功能,被调用的函数可以是库函数,也可以是自己编制设计的函数,11/5/2024,25,第1章程序设计和C语言,1.4,最简单的,C,语言程序,3.,一个函数包括两个部分:,函数的首部:,例中的,max,函数首部,int,max(int,x,int,y),函数体:,花括号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。,函数体包括两部分:,声明部分,:,int,a,b,c,;,可缺省,执行部分,:由若干个语句组成,,可缺省,11/5/2024,26,第1章程序设计和C语言,1.4,最简单的,C,语言程序,4.,程序总是从,main,函数开始执行,5.C,程序对计算机的操作由,C,语句完成,6.,数据声明和语句最后必须有分号,7.C,语言本身不提供输入输出语句,8.,程序应当包含注释,增加可读性,11/5/2024,27,第1章程序设计和C语言,分析问题,编制程序,编译,连接,调试运行,完成,编译中发现错误,转回修改源程序,连接中发现错误,转回修改源程序,调试运行中发现问题,表明分析本身有错误,重新分析问题,1.5,运行,C,程序的步骤和方法,11/5/2024,28,第1章程序设计和C语言,C,源程序,目标文件,可执行程序,C,语言函数库,编译,连接,源程序,:是用户创建的文件,以“,.c,”,为文件扩展名保存,目标文件,:是编译器的输出结果。这类文件的常见扩展名为“,.o,”,或“,.,obj,”,头文件,:含有函数的声明和预处理语句,用于帮助访问外部定义的函数。头文件的扩展名为“,.h,”,。,可执行文件,:是连接器的输出结果。可执行文件的扩展名为
展开阅读全文