1、Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,C,程序设计(第三版),#,第一章,C,语言概述,本章要点,C,语言的特点,C,程序的结构,在计算机上运行,C,程序的方法,主要内容,1.1,语言出现的历史背景,1.2,程序的特点,1.3,简单的,C,语言程序介绍,1.4,运行程序的步骤和方法,1.1,语言出现的历史背景,C语言是国际上广泛流行的高级语言。,C语言是在B语言的基础上发展起来的。,B(,BCPL,),语言是,1970,年由美国贝尔实验室设计的,并用于编写了第一个,U
2、NIX,操作系统,在,PDP 7,上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。,1973,年贝尔实验室的,D.M.Ritchie,在,B,语言的基础上设计出了,C,语言,对,B,取长补短,并用之改写了原来用汇编编写的,UNIX,,,(,即,UNIX,第,5,版),但仅在贝尔实验室使用。,1.1,语言出现的历史背景,1975,年,UNIX,第,6,版发布,C,优点突出引起关注。,1977,年出现了,可移植,C,语言编译程序,,推动了,UNIX,在各种机器上实现,,C,语言也得到推广,其发展相辅相成。,1978,年影响深远的名著,The C Programming Language,
3、由,Brian W.Kernighan,和,Dennis M.Ritchie,合著,被称为标准,C,。,之后,,C,语言先后移植到大、中、小、微型计算机上,已独立于,UNIX,和,PDP,,风靡世界,成为最广泛的几种计算机语言之一。,1.1,语言出现的历史背景,1983,年,美国国家标准化协会,(ANSI),根据,C,语言各种版本对,C,的发展和扩充,制定了新的标准,ANSI C,,比标准,C,有了很大的发展。,1988,年,K&R,按照,ANSI C,修改了他们的,The C Programming Language,。,1987,年,ANSI,公布了新标准,87 ANSI C,。,1990
4、,年,国际标准化组织接受了,87 ANSI C,为,ISO C,的标准,(ISO9899,1990),。,1994,年,,ISO,又修订了,C,语言标准。,目前流行的,C,语言编译系统大多是以,ANSI C,为基础进行开发的。,1.1,语言出现的历史背景,说明:,不同版本的,C,编译系统所实现的语言功能和语法规则又略有差别,因此读者应了解所用的,C,语言编译系统的特点,(,可以参阅有关手册,),。本书的叙述基本上以,ANSI C,为基础。,1.2,语言的特点,(,1,)语言简洁、紧凑,使用方便、灵活。,32,个关键字、,9,种控制语句,程序形式自由。,(,2,)运算符丰富。,34,种运算符。,
5、(,3,)数据类型丰富,具有现代语言的各种数据结构。,(,4,)具有结构化的控制语句,是完全模块化和结构化的语言。,(,5,)语法限制不太严格,程序设计自由度大。,1.2,语言的特点,(,6,)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作。兼有高级和低级语言的特点。,(,7,)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低,10,-20%,。,(,8,)程序可移植性好,(,与汇编语言比,),。基本上不做修改就能用于各种型号的计算机和各种操作系统。,1.2,语言的特点,解释,1,:,C+,是由于开发大型应用软件的需要而产生的,并不是所有的
6、人都要去编写大型软件。,解释,2,:,面向对象的基础是面向过程。,C+,是面向对象的语言,,C,是面向过程的,学起来比,C,语言困难得多,所以不太适合程序设计的初学者。,问题:,既然有了面向对象的,C+,语言,为什么还要学习,C,语言?,1.3,简单的,C,语言程序介绍,#include,void,main(),printf(This is a C program.n);,/*文件包含*/,/*主函数*/,/*函数体开始*/,/*输出语句*/,/*函数体结束*/,说明:,main,-,主函数名,void,-,函数类型,每个,C,程序必须有一个,主函数,main,是函数开始和结束的标志,不可省,
7、每个,C,语句以分号结束,使用标准库,函数时,应在程序开头一行写:,#include,说明:,本程序的作用是输出一行信息,:,This is a C program.,例,1.2,求两数之和,#include void main(),/*,求两数之和*,/,int a,b,sum;,/*,声明,定义变量为整型*,/,/*,以下,3,行为,C,语句*,/,a=123;b=456;sum=a+b;printf(sum is%d,n,sum);,说明:,/*/,表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。,说明:,输出
8、一行信息,:sum is 579,例,1.3,求,3,个数中较大者。,#include void main(),/*,主函数*,/,int max(int x,int y);,/,对被调用函数,max,的声明*,/,int a,b,c;,/*,定义变量,a,、,b,、,c*/,scanf(,d,d,/*,输入变量,a,和,b,的值*,/,c=max(a,b);,/*,调用,max,函数,将得到的值赋给,c*/,printf(max=,dn,c);,/*,输出,c,的值*,/,程序运行情况如下,:,8,5,(,输入,8,和,5,赋给,a,和,b),max=8 (,输出,c,的值,),int ma
9、x(int x,int y),int z;,if (xy)z=x;,else z=y;,return(z);,max(int,x,int,y);,max(,a,b,);,说明:,本程序包括,main,和被调用函数,max,两个函数。,max,函数的作用是将,x,和,y,中较大者的值赋给变量,z,。,return,语句将,z,的值返回给主调函数,main,。,1.3,简单的,C,语言程序介绍,C,程序,:,(1)C,程序是由函数构成的。这使得程序容易实现模块化。,(2),一个函数由两部分组成,:,函数的首部:,例,1.3,中的,max,函数首部,int max(int x,int y),函数体:
10、,花括号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。,函数体包括两部分:,声明部分:,int a,b,c;,可缺省,执行部分:由若干个语句组成。,可缺省,1.3,简单的,C,语言程序介绍,注意:,函数的声明部分和执行部分都可缺省,例如:,void dump(),这是一个空函数,什么也不做,但是合法的函数。,1.3,简单的,C,语言程序介绍,小结,:,(3)C,程序总是从,main,函数开始执行的,与,main,函数的位置无关。,(4)C,程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,,C,程序没有行号。,(5),每个语句和数据声明的最后必须有一个分
11、号。,(6)C,语言本身没有输入输出语句。输入和输出的操作是由库函数,scanf,和,printf,等函数来完成的。,C,对输入输出实行,“,函数化,”,。,1.4,运行程序的步骤和方法,1.4.1,运行程序的步骤,上机输入与编辑源程序,对源程序进行编译,与库函数连接,运行目标程序,1.4,运行程序的步骤和方法,1.4.2,上机,运行程序的方法,目前使用的大多数,C,编译系统都是集成环境,(IDE),的。可以用不同的编译系统对,C,程序进行操作。,常用的有,Turbo C 2.0,、,Turbo C+3.0,、,Visual C+,等。,Turbo C+3.0,:,是一个集成环境,它具有方便、
12、直观和易用的界面,虽然它也是,DOS,环境下的集成环境,但是可以把启动,Turbo C+3.0,集成环境的,DOS,执行文件,tc.exe,生成快捷方式,也可以用鼠标操作。,Visual C+,:,也可以用,Visual C+,对,C,程序进行编译。,例:,Turbo C+3.0,的使用,将,Turbo C+3.0,编译程序装入磁盘某一目录下,例如:,放在,C,盘根目录下一级,TC3.0,子目录下。,进入,Turbo C+3.0,集成环境,在,DOS,环境下,C:TC3.0,tc,在,Windows,环境下,找到可执行文件,tc.exe,,执行该文件。,主菜单:,11,个菜单项,:,File
13、Edit Search Run Compile Debug Project,Options Window Help,(2),编辑源文件,新建:,单击“,File”,菜单下 的“,New”,修改:,选择“,File”“Open”(,即单击“,File”,的下拉菜单中的“,Open”,项,修改已有的源程序。,在编辑,(EDIT),状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。,保存:在编辑,(EDIT),状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。,(3),对源程序进行编译,选择“,Compile”(,或“,Alt+F9”),对源程序进行编译。,c1.cpp,源程序,出现,1,个错误,(error),,,0,个警告,(warming),。,(4),将目标程序进行连接,选择菜单“,Compile”“Link”,,如果不出现错误,会得到一个后缀为,.exe,的可执行文件。,(5),执行程序,选菜单“,Run”“Run”(,或按“,Ctrl+F9”,键,),。,(6),退出,Turbo C+3.0,环境,选择“,File”“Quit”,。,