C语言程序设计案例教程ppt课件(完整版).ppt
《C语言程序设计案例教程ppt课件(完整版).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计案例教程ppt课件(完整版).ppt(401页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、21世纪高职高专新概念规划教材C语言程序设计案例教程第1章 C语言概论知识点1 C语言的发展过程n n C C语言是国际上广泛流行的计算机高级语言,既可用来编写系统软件,语言是国际上广泛流行的计算机高级语言,既可用来编写系统软件,也可用来编写应用软件。也可用来编写应用软件。C C语言是在语言是在B B语言的基础上发展起来的,但语言的基础上发展起来的,但B B语言过语言过于简单,功能有限。于简单,功能有限。19721972年至年至19731973年间,贝尔实验室在年间,贝尔实验室在B B语言的基础上设语言的基础上设计出了计出了C C语言。最初的语言。最初的C C语言只是为了描述和实现语言只是为了
2、描述和实现UNIXUNIX操作系统而设计的一操作系统而设计的一种工作语言。后来,种工作语言。后来,C C语言经过多次改进,其功能不断完善,其突出的优点逐语言经过多次改进,其功能不断完善,其突出的优点逐渐引起了人们的注意。渐引起了人们的注意。19771977年出现了不依赖于具体机器的年出现了不依赖于具体机器的C C语言编译文本语言编译文本“可移植可移植C C语言编译程序语言编译程序”,使,使C C程序移植到其他机器时所需做的工作大大简化,程序移植到其他机器时所需做的工作大大简化,这也推动了这也推动了UNIXUNIX操作系统在各种机器上的迅速实现。随着操作系统在各种机器上的迅速实现。随着UNIXU
3、NIX的日益广泛的日益广泛使用,使用,C C语言也得到迅速推广。语言也得到迅速推广。C C语言和语言和UNIXUNIX在发展过程中相辅相成。在发展过程中相辅相成。19781978年以后,年以后,C C语言已先后移植到大、中、小、微型机上。语言已先后移植到大、中、小、微型机上。19831983年,美国国家标年,美国国家标准化协会(准化协会(ANSIANSI)根据)根据C C语言问世以来的各种版本对语言问世以来的各种版本对C C语言进行了扩充和完语言进行了扩充和完善,制定了新的标准,称为善,制定了新的标准,称为ANSI CANSI C。ANSI CANSI C比原来的标准比原来的标准C C有了很大
4、的发有了很大的发展。展。19871987年,年,ANSIANSI又公布了新标准又公布了新标准87 ANSI C87 ANSI C。19901990年,国际标准年,国际标准化组织化组织ISO ISO 接受接受87 ANSI C87 ANSI C为为ISO C ISO C 的标准(的标准(ISO 9899ISO 989919901990)。目前)。目前流行的流行的C C编译系统都是以它为基础的。在微型机上使用的有编译系统都是以它为基础的。在微型机上使用的有Microsoft CMicrosoft C、Turbo CTurbo C、Quick CQuick C、Borland CBorland C等
5、,它们的不同版本又略有差异。因此,读等,它们的不同版本又略有差异。因此,读者应了解所用计算机系统配置的者应了解所用计算机系统配置的C C编译系统的特点和规定(可以参阅相关手册编译系统的特点和规定(可以参阅相关手册)。)。知识点2 C语言的特点n n C C语言的主要特点如下:语言的主要特点如下:n n(1 1)语言简洁、紧凑,使用方便、灵活。)语言简洁、紧凑,使用方便、灵活。C C语言一共只有语言一共只有3232个关键字、个关键字、9 9种控制语句,种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。n n(2
6、 2)运算符丰富。)运算符丰富。C C语言中共有语言中共有3434种运算符。种运算符。C C语言把括号、赋值、强制类型转换等语言把括号、赋值、强制类型转换等都作为运算符处理,从而使都作为运算符处理,从而使C C的运算类型极其丰富,表达式类型多样化。的运算类型极其丰富,表达式类型多样化。n n(3 3)数据类型丰富。)数据类型丰富。C C语言的数据类型有整型、实型、字符型、数组类型、指针类型、语言的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。结构体类型、共用体类型等。n n(4 4)具有结构化的控制语句(如)具有结构化的控制语句(如if ifelseelse语句、
7、语句、whilewhile语句、语句、dodowhilewhile语句、语句、switchswitch语句、语句、forfor语句)。用函数作为程序的模块单位,便于实现程序的模块化。语句)。用函数作为程序的模块单位,便于实现程序的模块化。C C是良好的是良好的结构化语言,符合现代编程风格的要求。结构化语言,符合现代编程风格的要求。n n(5 5)语法限制不太严格,程序设计自由度大。例如对数组下标越界不做检查,由程序)语法限制不太严格,程序设计自由度大。例如对数组下标越界不做检查,由程序编写者自己保证程序的正确性。对变量的类型使用比较灵活,例如整型数据与字符型编写者自己保证程序的正确性。对变量的
8、类型使用比较灵活,例如整型数据与字符型数据在一定范围内可以通用。数据在一定范围内可以通用。n n(6 6)C C语言能进行位(语言能进行位(bitbit)操作,能实现汇编语言的大部分功能,可以直接对硬件进)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此行操作。因此C C既具有高级语言的功能,又具有低级语言的许多功能,可用来编写系统既具有高级语言的功能,又具有低级语言的许多功能,可用来编写系统软件。软件。C C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。有人把有人把C C语言称为语言称
9、为“高级语言中的低级语言高级语言中的低级语言”或或“中级语言中级语言”,意思是兼有高级语言和,意思是兼有高级语言和低级语言的特点。低级语言的特点。知识点3 C程序的基本结构n n3.1 C3.1 C语言中的标识符语言中的标识符n n1 1C C语言的字符集语言的字符集n n(1 1)2626个英文字母(包括大小写):个英文字母(包括大小写):a az z、A AZ Z。n n(2 2)1010个数字字符个数字字符:0 09 9。n n(3 3)2727个特殊字符:个特殊字符:+、-、*、/、=、:、;、?、:、;、?、|、!、#、%、&、()()、_ _(下划线)、(下划线)、空格、空格、,、
10、。n n共共8989个字符可以在个字符可以在C C程序中出现,不可以包含除此之外的其他字符。程序中出现,不可以包含除此之外的其他字符。n n2 2C C语言中的标识符语言中的标识符n n标识符是程序设计人员用来命名程序中的一些基本单元或模块的符号。标识符是程序设计人员用来命名程序中的一些基本单元或模块的符号。C C语言语言规定:标识符由字母、数字字符和下划线组成,并以字母或下划线开头。定规定:标识符由字母、数字字符和下划线组成,并以字母或下划线开头。定义标识符时需要符合以下规定:义标识符时需要符合以下规定:n n(1 1)不能使用系统保留的关键字。)不能使用系统保留的关键字。n n(2 2)C
11、 C语言严格区分大小写,同一个字母的大小写代表不同的标识符。语言严格区分大小写,同一个字母的大小写代表不同的标识符。n n(3 3)为提高程序的可读性,标识符名称尽量使用有意义的英文单词,做到)为提高程序的可读性,标识符名称尽量使用有意义的英文单词,做到“见名知义见名知义”。n n(4 4)标识符的长度(字符个数)可以少于等于)标识符的长度(字符个数)可以少于等于8 8个字符,有的系统也可以少个字符,有的系统也可以少于等于于等于3232个字符。个字符。3.2 C程序的组成n n 一个一个C C程序可以由若干个源程序文件(分别进行编译的文件模程序可以由若干个源程序文件(分别进行编译的文件模块)组
12、成,一个源程序文件可以由若干个函数、编译预处理命令,以块)组成,一个源程序文件可以由若干个函数、编译预处理命令,以及全局变量声明部分组成。及全局变量声明部分组成。n n(1 1)函数是程序设计模块化的体现。函数用来完成某个特定的操作,)函数是程序设计模块化的体现。函数用来完成某个特定的操作,一个程序可以包含很多函数。这些函数可以是由用户自己设计的,也一个程序可以包含很多函数。这些函数可以是由用户自己设计的,也可以是系统提供的库函数。但程序中一定要有一个并只允许有一个主可以是系统提供的库函数。但程序中一定要有一个并只允许有一个主函数函数main()main()。程序从主函数开始执行,不论。程序从
13、主函数开始执行,不论mainmain函数在整个程序中函数在整个程序中的位置如何。的位置如何。mainmain函数可以放在程序最前头,也可以放在程序最后,函数可以放在程序最前头,也可以放在程序最后,或者在一些函数之前,在另一些函数之后。其他函数通过主函数或被或者在一些函数之前,在另一些函数之后。其他函数通过主函数或被主函数已经调用的函数调用而间接执行。主函数已经调用的函数调用而间接执行。n n(2 2)一个函数由两部分组成:)一个函数由两部分组成:n n1 1)函数的头部,即函数的第一行。包括函数名、函数类型、函数属)函数的头部,即函数的第一行。包括函数名、函数类型、函数属性、函数参数(形式参数
14、)名、形式参数类型。一个函数名后面必须性、函数参数(形式参数)名、形式参数类型。一个函数名后面必须跟一对圆括号,函数参数可以没有,如跟一对圆括号,函数参数可以没有,如main()main()。n n2 2)函数体,即函数头部下面的大括号)函数体,即函数头部下面的大括号 内的部分。如果一个函内的部分。如果一个函数内有多个大括号,则最外层的一对数内有多个大括号,则最外层的一对 为函数体的范围。函数体一为函数体的范围。函数体一般包括声明部分和执行部分。声明部分主要用于定义所用到的变量,般包括声明部分和执行部分。声明部分主要用于定义所用到的变量,执行部分则由若干个语句组成。执行部分则由若干个语句组成。
15、n n即函数一般形式如下:即函数一般形式如下:n n函数类型函数类型函数类型函数类型 函数名函数名函数名函数名(参数类型参数类型参数类型参数类型 参数参数参数参数1,1,参数类型参数类型参数类型参数类型 参数参数参数参数2,2,)n n n n 声明部分声明部分声明部分声明部分n n 执行部分执行部分执行部分执行部分n n n n示例如下:示例如下:n nint add(int a,int b)int add(int a,int b)n n n n int c;int c;n n c=a+b;c=a+b;n n n n n n(3 3)C C程序书写格式自由,一行内可以写几个语句,一个语句可以
16、分写在多行上。程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。C C程序没有行号,每个语句和数据定义的最后必须有一个分号。分号是程序没有行号,每个语句和数据定义的最后必须有一个分号。分号是C C语句的必要组成语句的必要组成部分。部分。n n(4 4)C C语言本身没有输入输出语句。输入和输出的操作是由库函数语言本身没有输入输出语句。输入和输出的操作是由库函数scanfscanf和和printfprintf等函等函数来完成的。数来完成的。C C语言对输入输出实行语言对输入输出实行“函数化函数化”。n n(5 5)C C程序中为了说明程序的功能或某部分的含义,可以带注释。注释能帮
17、助读者阅程序中为了说明程序的功能或某部分的含义,可以带注释。注释能帮助读者阅读和理解程序。程序编译时,注释被忽略,它不产生代码行。注释内容写在一对符号读和理解程序。程序编译时,注释被忽略,它不产生代码行。注释内容写在一对符号“/*/*”和和“*/”之间,这是传统之间,这是传统C C语言中的注释方式,其中的内容可以是一行或几行。语言中的注释方式,其中的内容可以是一行或几行。自符号自符号“/*/*”开始到开始到“*/”符号结束,其间的内容都被认为是注释内容。符号结束,其间的内容都被认为是注释内容。知识点4 编译预处理命令n n ANSI C ANSI C标准规定可以在标准规定可以在C C源程序中加
18、入一些编译预源程序中加入一些编译预处理命令,以改进程序设计环境,提高编程效率。这些预处理命令,以改进程序设计环境,提高编程效率。这些预处理命令是由处理命令是由ANSI CANSI C统一规定的,但是它不是统一规定的,但是它不是C C语言本语言本身的组成部分,不能直接对它们进行编译。必须在对程序身的组成部分,不能直接对它们进行编译。必须在对程序进行通常的编译(包括词法和语法分析、代码生成、优化进行通常的编译(包括词法和语法分析、代码生成、优化等)之前,先对程序中的这些特殊命令进行等)之前,先对程序中的这些特殊命令进行“预处理预处理”,即根据预处理命令对程序作相应的处理。经过预处理后程即根据预处理
19、命令对程序作相应的处理。经过预处理后程序不再包括预处理命令,最后再由编译程序对预处理后的序不再包括预处理命令,最后再由编译程序对预处理后的源程序进行通常的编译处理,得到可供执行的目标代码。源程序进行通常的编译处理,得到可供执行的目标代码。C C语言提供的预处理功能主要有以下语言提供的预处理功能主要有以下3 3种:宏定义、文件种:宏定义、文件包含和条件编译。为了与一般包含和条件编译。为了与一般C C语句相区别,这些命令以语句相区别,这些命令以符号符号“#”开头。开头。4.1 宏定义n n1 1不带参数的宏定义不带参数的宏定义n n 用一个指定的标识符(即名字)来代表一用一个指定的标识符(即名字)
20、来代表一个字符串,它的一般形式为:个字符串,它的一般形式为:n n#define#define 标识符标识符标识符标识符 字符串字符串字符串字符串n n例如:例如:n n#define PI 3.1415926#define PI 3.1415926n n 其作用是指定用标识符其作用是指定用标识符PIPI来代替来代替“3.14159263.1415926”这个字符串,在编译预处理时,将这个字符串,在编译预处理时,将程序中在该命令以后出现的所有程序中在该命令以后出现的所有PIPI都用都用“3.14159263.1415926”代替。这种方法使用户能以一个简代替。这种方法使用户能以一个简单的名字代
21、替一个长的字符串,因此把这个标识单的名字代替一个长的字符串,因此把这个标识符(名字)称为符(名字)称为“宏名宏名”,在预编译时将宏名替,在预编译时将宏名替换成字符串的过程称为换成字符串的过程称为“宏展开宏展开”。2带参数的宏定义n n 不是进行简单的字符串替换,替换时还要进行参数替换。其定义的一般形式为:n n#define 宏名宏名(参数表参数表)字符串字符串n n字符串中包含在括号中所指定的参数,如:n n#define s(a,b)a*bn narea=s(3,2);n n替换时,将3传给a,2传给b,a*b的值赋给area。4.2 “文件包含”处理n n 所谓所谓“文件包含文件包含”处
22、理是指一个源文件可以将另外一个源文件处理是指一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。的全部内容包含进来,即将另外的文件包含到本文件之中。C C语言提语言提供了供了#include#include命令用来实现命令用来实现“文件包含文件包含”的操作。其一般形式为:的操作。其一般形式为:n n#include#include 文件名文件名文件名文件名 n n或或n n#include#include n n 在一个被包含文件中又可以包含另一个被包含文件,即文件包在一个被包含文件中又可以包含另一个被包含文件,即文件包含是可以嵌套的。在含是可以嵌套的。在#inc
23、lude#include命令中,文件名可以用双引号或尖括命令中,文件名可以用双引号或尖括号括起来,二者的区别是用尖括号形式时,系统到存放号括起来,二者的区别是用尖括号形式时,系统到存放C C库函数头文库函数头文件的目录中寻找要包含的文件,这称为标准形式;用双引号形式时,件的目录中寻找要包含的文件,这称为标准形式;用双引号形式时,系统先在用户当前目录中寻找要包含的文件,若找不到,再按标准形系统先在用户当前目录中寻找要包含的文件,若找不到,再按标准形式查找(即再按尖括号的方式查找)。一般来说,如果为调用库函数式查找(即再按尖括号的方式查找)。一般来说,如果为调用库函数而用而用#include#in
24、clude命令来包含相关的头文件,则用尖括号,以节省查找命令来包含相关的头文件,则用尖括号,以节省查找时间;如果要包含的是用户自己编写的文件(这种文件一般都在当前时间;如果要包含的是用户自己编写的文件(这种文件一般都在当前目录中),一般用双引号。目录中),一般用双引号。n n【案例案例1-11-1】求两数之和。求两数之和。n n/*ex1_1.c the sum of a+b*/*ex1_1.c the sum of a+b*/n n#include stdio.h#include stdio.hn nmain()main()n n n n int a,b,sum;int a,b,sum;n
25、n printf(Enter two int numbers printf(Enter two int numbers:n);n);n n scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);n n sum=a+b;sum=a+b;n n printf(sum=%dn,sum);printf(sum=%dn,sum);n n n n程序的运行的结果如下:程序的运行的结果如下:n nEnter two int numbersEnter two int numbers:n n11112222n nsum=33sum=33n n 本程序的作用是求两个整数本程序的作用是求两个整数a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 案例 教程 ppt 课件 完整版
限制150内