《C程序设计谭浩强第一章.ppt》由会员分享,可在线阅读,更多相关《C程序设计谭浩强第一章.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程简介主讲教师:金国华主讲教师:金国华v本课程共82课时v其中课堂教学50课时,上机32课时v期末考试占70%,期中考试占20%,上机考勤占10%C语言的一点补充介绍v当代最优秀的程序设计语言早期的C语言主要是用于UNIX系统。由于语言的强大功能和各方面的优点逐渐为人们所认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。v语言的特点语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访
2、问内存的物理地址,进行位(bit)一级的操作。由于语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的语言。v语言版本v目前最流行的语言有以下几种:MicrosoftC或称MSCBorlandTurboC或称TurboCAT&TC这些语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。vC是面向过程的程序设计语言,C+面向对象的程序设计语言在C的基础上,一九八三年又由贝尔实验室的BjarneStro
3、u-strup推出了C+。C+进一步扩充和完善了语言,成为一种面向对象的程序设计语言。C+目前流行的最新版本是BorlandC+4.5,SymantecC+6.1,和MicrosoftVisualC+2.0。C+提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。v和但是,C是C+的基础,C+语言和语言在很多方面是兼容的。因此,掌握了语言,再进一步学习C+就能以一种熟悉的语法来学习面向对象的语言,从而达到事半工倍的效果。v有人说,在21世纪,网络
4、就是计算机、计算机就是网络。所以我们不妨用网络打个比方。ISO/OSI模型把计算机网络分成7层:从底到上依次是:物理层,链路层、网络层、传输层、会话层、表示层、应用层。从程序设计角度讲,C/C可以设计它们任何一层的应用,而Java、C、VB等通常只适合做位于顶上3层的应用。不过,通常我们能做的也只有顶上的三层,而且最多的是应用层的程序。vC语言用于编写:v系统软件:如操作系统、编译系统等。例:DBASE编译系统、UNIX操作系统v应用软件:如嵌入式程序、病毒、各种管理类软件等。例:俄罗斯方块、IC卡门禁管理、机器狗木马病毒,介绍:机器狗木马病毒是用一个C语言编写的木马病毒。病毒运行后会删除系统
5、目录下的userinit。说明:即便你学过了C语言,但不等于你就是程序设计的高手。一个程序设计的高手需要几年的大量艰苦训练与实践,还需要学习数据结构的课程。第第1章章 C语言概述语言概述本章要点本章要点:C语言的发展史语言的发展史C语言的特点语言的特点C语言程序的基本构成语言程序的基本构成C语言程序的编译过程语言程序的编译过程C语言程序上机常用菜单介绍语言程序上机常用菜单介绍1.1 C语言的发展史语言的发展史C语言由语言由Dennis Ritchie设计设计,是由一种早期的编程语是由一种早期的编程语言言BCPL发展演变而来的发展演变而来的。美国国家标准协会为美国国家标准协会为C语言制定了一套语
6、言制定了一套ANSI标准,成为标准,成为先行的先行的 C语言标准。语言标准。1977年出现了不依赖于具体机器的年出现了不依赖于具体机器的C语言编译文本语言编译文本可可移植移植C语言编译程序语言编译程序,使,使C移植到其它机器时所做工作移植到其它机器时所做工作大大简化大大简化。在电脑上广泛使用的在电脑上广泛使用的C语言编译系统有语言编译系统有Microsoft C,Turbo C,Borland C等等。C语言的主要特点如下:语言的主要特点如下:1.语言描述简洁、灵活、高效语言描述简洁、灵活、高效 i+=1 (i-);if(a)b;2.有丰富的数据类型有丰富的数据类型 4种最基本的数据类型(种最
7、基本的数据类型(char,int,float,double),),多种组合类型(数组,结构和枚举等)多种组合类型(数组,结构和枚举等)3.运算符丰富运算符丰富45种标准的运算符和与地址相关的指针运算符种标准的运算符和与地址相关的指针运算符4.C语言具有固定的标识符语言具有固定的标识符 共有共有32个例如个例如:int,,double,const,static,continue等等5.提供了功能齐全的函数库提供了功能齐全的函数库 例如例如:串,数组,结构乃至图形的处理等串,数组,结构乃至图形的处理等 6.具有结构化的控制语句具有结构化的控制语句3种结构(顺序,分支和循环结构)。如:种结构(顺序,
8、分支和循环结构)。如:if-else,while,switch,for等。等。7.具有良好的通用性和程序的移植性具有良好的通用性和程序的移植性8.生成目标代码质量高,程序执行效率高生成目标代码质量高,程序执行效率高 i+=2 (i=i+2);9.语法限制不严格语法限制不严格(可写系统软件如(可写系统软件如:UNIX及应用软件)及应用软件)另另:C:C语言的其他优点语言的其他优点,同学们可在以后学习和实践中体会同学们可在以后学习和实践中体会1.2 C语言的特点语言的特点1.3 C语言程序组成语言程序组成先看几个程序:先看几个程序:例例1.1显示:显示:“What is your name?”。m
9、ain()printf(“What is your name?”);程序的运行结果程序的运行结果:What is your name?例例1.2 计算两个给定整数的和计算两个给定整数的和main()int a,b,sum;/*这是定义变量这是定义变量*/a=8;b=10;/*以下以下3行为行为C语句语句*/sum=a+b;printf(“Sum is%d n”,sum);程序的运行结果程序的运行结果:Sum is 18例例1.3:从键盘输入两个整数从键盘输入两个整数,并将最大的数显示出来。并将最大的数显示出来。#include /*包含预处理语句包含预处理语句*/int max(int x,i
10、nt y)int z;if(xy)z=x;else z=y;return(z);main()int a,b,c;printf(“Please input two integers:n”);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%dn”,c);程序运行情况:Please input two integers:8,5max=8通过以上例子可以看出:通过以上例子可以看出:1.C程序至少要有一个程序至少要有一个main函数,用户也可以自己根据需要设函数,用户也可以自己根据需要设计自己的函数,像上面的计自己的函数,像上面的max()函数。函数。2.一个可
11、执行的一个可执行的C语言程序总是从语言程序总是从main函数开始执行,而不论函数开始执行,而不论其在整个程序中的位置如何。其在整个程序中的位置如何。3.每条语句和数据定义的最后必须有一个分号每条语句和数据定义的最后必须有一个分号(;)。说明:说明:在以下三种情况下不允许有分号:在以下三种情况下不允许有分号:a.所定义的函数的名称后面不使用分号;所定义的函数的名称后面不使用分号;b.在右花括号在右花括号“”后面不使用分号;后面不使用分号;c.预处理语句后面不使用分号。预处理语句后面不使用分号。max();while(i=100)i+;s=s+i;#include ;4.C语言中没有专门的输入,输
12、出语句。输入输出是通过语言中没有专门的输入,输出语句。输入输出是通过scanf和和printf两个库函数实现的。两个库函数实现的。5.C程序书写格式自由,一行内可以写几个语句,一个语句也可程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。以分写在多行上。6.可用可用/*/对对C程序中的任何部分作注释,注释可以写在程程序中的任何部分作注释,注释可以写在程序的任何位置上,序的任何位置上,“/*”与与“*/”也可不在同一行上。也可不在同一行上。7.在在C语言中,大小写字母是有区分的语言中,大小写字母是有区分的(即大小写敏感即大小写敏感)。(。(C语语言一般用小写字母)言一般用小写字
13、母)v得出一般得出一般C语言程序的构成如下:语言程序的构成如下:v函数类型函数类型 函数名(参数类型函数名(参数类型 参数名)参数名)/*自定义函数自定义函数*/vv 函数体;函数体;vvmain()vv 变量定义部分;变量定义部分;v 语句执行部分;语句执行部分;/*语句执行部分包括调用自己定义的函数语句执行部分包括调用自己定义的函数*/v1.4 C程序的执行过程程序的执行过程1.1.编辑:选择适当的编辑程序编辑:选择适当的编辑程序,将将C C语言源程序通过键盘输入到语言源程序通过键盘输入到计算机中计算机中,并以文件的形式存入到磁盘中(并以文件的形式存入到磁盘中(.C.C)2.2.编译:即将
14、源程序翻译成机器语言程序的过程。编译出来的编译:即将源程序翻译成机器语言程序的过程。编译出来的程序称为目标程序(程序称为目标程序(.OBJ.OBJ)3.3.连接:编译后生成的目标文件经过连接后生成最终的可执行连接:编译后生成的目标文件经过连接后生成最终的可执行程序(程序(.EXE.EXE)4.4.运行:运行是将可执行的目标程序投入运行,以获取程序的运行:运行是将可执行的目标程序投入运行,以获取程序的运行结果;在操作系统中可以直接执行扩展名为运行结果;在操作系统中可以直接执行扩展名为(.EXE)(.EXE)的文件的文件 编 辑编 译出 错?连 接出 错?执 行结果正确?.C源程序 .OBJ目标程
15、序.EXE可执行 程序开始结束YYNYNN库函数和其它目标程序在在Turbo C 运行运行C程序的步骤程序的步骤:1.安装安装TC编译器:编译器:将:将:将将tc的压缩包的的压缩包的tc.rar文件夹复制到文件夹复制到D盘,盘,并解压缩并解压缩.2.运行运行TC.进入解压缩后的进入解压缩后的tc文件夹,双击文件夹,双击tc.exe(d:tc)Turboc2.0 Turboc2.0 常用采单命令介绍常用采单命令介绍常用采单命令介绍常用采单命令介绍 New:打开一个新的窗口,用于建立一个新的文件。打开一个新的窗口,用于建立一个新的文件。Open:打开已存盘的文件或用于选择要编辑的文件。打开已存盘的
16、文件或用于选择要编辑的文件。Save:对当前活动窗口的文件进行存盘。对当前活动窗口的文件进行存盘。Save all:将所有编辑窗口的文件进行存盘。将所有编辑窗口的文件进行存盘。Change dir:设置当前的工作目录。设置当前的工作目录。Os shell:临时退出编辑窗口,进入临时退出编辑窗口,进入DOS状态;要返回状态;要返回编辑窗口,键入命令即可。编辑窗口,键入命令即可。Quit:退出退出Turboc。v1.文件菜单(文件菜单(File)Run:运行程序。运行程序。Program reset:撤消当前的调式操作,释放分配给被调撤消当前的调式操作,释放分配给被调试程序的内存空间,关闭所有被调
17、试程序已打开的所试程序的内存空间,关闭所有被调试程序已打开的所以文件。以文件。Go to cursor:不设置永久断点,使程序运行至光标所在不设置永久断点,使程序运行至光标所在行。行。Trace into:逐条语句执行。并跟踪进入调用函数内部。逐条语句执行。并跟踪进入调用函数内部。Step over:逐条语句执行,不跟踪进入调用函数内部。逐条语句执行,不跟踪进入调用函数内部。User screen:看屏幕信息。看屏幕信息。v2.运行菜单(运行菜单(Run)Compile:将当前活动窗口编辑内的文字编译为目标文件,将当前活动窗口编辑内的文字编译为目标文件,但不连接。但不连接。Make:将以保存的
18、文件或当前活动编辑窗口内的文件的将以保存的文件或当前活动编辑窗口内的文件的源程序编译并连接为源程序编译并连接为EXE文件。文件。Link:将文件连同必要的库文件进行连接得到将文件连同必要的库文件进行连接得到EXE文件。文件。Build all:编译并连接所以的文件。编译并连接所以的文件。v3.编辑菜单编辑菜单(Compile)1.5 本章小结本章小结(1)C语言由语言由Dennis Ritchie设计设计,是由一种早期的编程语言,是由一种早期的编程语言BCPL发展发展演变而来的演变而来的。(2)C语言是一种理想的结构化语言。语言是一种理想的结构化语言。其特点是:其特点是:程序简洁、灵活、高效程
19、序简洁、灵活、高效 运算符和数据结构丰富运算符和数据结构丰富 生成代码质量高生成代码质量高 C语言具有固定的标识符提供功能齐全的库函数语言具有固定的标识符提供功能齐全的库函数允许访问内存,有低级语言的特点允许访问内存,有低级语言的特点具有良好的通用性和程序的可移植性具有良好的通用性和程序的可移植性 生成目标代码质量高,程序执行效率高生成目标代码质量高,程序执行效率高语法限制不严格语法限制不严格(3)一个一个C源程序可以由多个函数组成,其中有且仅有一个名为源程序可以由多个函数组成,其中有且仅有一个名为main的主的主函数。不论函数。不论main函数的位置在何处,函数的位置在何处,C语言总是从语言总是从main函数开始执行。函数开始执行。(4)任何函数都是由函数首部和函数体两部分组成。任何函数都是由函数首部和函数体两部分组成。(5)用用C语言编写的程序称为语言编写的程序称为C源程序,必须经过编译和连接,生成可执行源程序,必须经过编译和连接,生成可执行程序后才能执行。程序后才能执行。
限制150内