c语言期末复习概要

上传人:suns****4568 文档编号:98098297 上传时间:2019-09-08 格式:PPT 页数:96 大小:487.50KB
返回 下载 相关 举报
c语言期末复习概要_第1页
第1页 / 共96页
c语言期末复习概要_第2页
第2页 / 共96页
c语言期末复习概要_第3页
第3页 / 共96页
c语言期末复习概要_第4页
第4页 / 共96页
c语言期末复习概要_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《c语言期末复习概要》由会员分享,可在线阅读,更多相关《c语言期末复习概要(96页珍藏版)》请在金锄头文库上搜索。

1、C程序的组成与实现 操作数、运算符和表达式 选择结构 循环结构 输入与输出 数组 指针 函数 变量的作用域和生存期 结构体、共用体和枚举类型 文件,一、C程序的组成与实现,C程序与源文件,一个C程序由一个或多个源文件组成。 一个源文件可以供多个C程序使用。 源文件是一个程序的基本编译单位。 一个源文件中包括: 预处理指令 全局声明 函数定义,C程序与函数,一个源文件主要由一个或多个函数组成。 一个函数可以供多个源文件使用。 一个C程序只能有一个主函数。 函数是一个C程序的基本组成单位。 一个函数包括: 函数首部 函数体,函数的结构,类型标识符 函数名(形式参数表列) 声明部分 语句部分 ,函数

2、首部,类型标识符 函数的类型,也是函数返回值的类型。 函数名 函数的标示符,也是函数的入口地址。 (形式参数表列) 此处为形式参数,接收实际参数的单向、值传递。参数可以没有,但无论有无参数,括号均不能省略。,函数体,函数体由花括号限定。里面可以包括声明部分和语句部分,也可以什么都没有,但花括号不能省,即空函数。 声明部分定义新变量或声明已有变量和函数。语句部分执行操作,共9类语句。 声明部分和语句部分可以没有,但如果有,一定要声明在前,语句在后,即变量和函数必须:先声明,再使用。,声明部分,声明包括定义,但并非所有的声明都是定义。 需要建立存储空间的。 “定义性声明” ,为叙述方便,简称“定义

3、”。 2. 不需要建立存储空间的。 “引用性声明” ,为叙述方便,简称“声明”。,语句部分,1. 表达式语句 2. 函数调用语句 3. 控制语句 4. 复合语句 5. 空语句,6. return语句 7. break语句 8. continue语句 9. goto语句,C程序的实现,二、操作数、运算符和表达式,常量,在程序运行过程中,其值不能被改变的量称为常量。 从字面形式即可判别的常量称为字面常量。如:56、12.3、a、“hello world!”。 用一个标识符代表一个常量,称为符号常量。如:#define PI 3.1416。,变量,变量代表内存中具有特定属性的一个存储单元,它用来存放

4、数据,也就是变量的值,在程序运行期间,这些值是可以改变的。 变量名是映射一个特定存储地址的标示符。 变量类型决定存储单元大小与数据存储形式。 针对变量的操作是通过变量名找到对应地址,按变量类型在相应长度内按指定形式写入或读取的数据。,标识符,用来对变量、符号常量、函数、数组、类型等命名的有效字符序列统称为标识符。 标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 标识符不能是关键字(附录C)。 标识符区分大小写,习惯上变量名使用小写字母,符号常量名使用大写字母。 标识符的命名应尽量做到见名知意。,整型数据,int 4字节。 不带小数点的数值是整型数据。 十进制:123、-3

5、1 八进制:0123、-037 十六进制:0x12、-0x1f,字符型数据,char 1字节。 字符数据是用单撇号括起来的一个字符。如a、8、? 都是字符常量。 除以上形式的字符数据外,还有一种特殊形式的字符数据,就是以转义字符“”开始的字符序列。如“n”。 字符型变量在内存中以ASCII码形式存储,与整数的存储形式类似。两种数据可以通用。,浮点型数据,float 4字节。 浮点型数据用来表示有小数点的实数。 十进制小数形式。它由数字和小数点组成。如0.123、123.、123.0、0.0 、.5。 指数形式。 如1.2e3、12E-4 字母e或E之前必须有数字,且e后面的指数必须为整数。,运

6、算符,(), ( ,从左至右) !,-,+,-,*,& (一元,从右至左) *,/,% (二元,从左至右) +,- (二元,从左至右) ,= (二元,从左至右) =,!= (二元,从左至右) & (二元,从左至右) | (二元,从左至右) ? : (三元,从右至坐) =,+=,-=,*=,/=,%= (二元,从右至左) , ( ,从左至右),三、选择结构,单分支,if(表达式) 语句1,双分支,if(表达式) 语句1 else 语句2,多分支,if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式n-1) 语句n-1 else

7、语句n,分支的嵌套,if() if() 语句1 else 语句2 else if() 语句3 else 语句4,if语句的表达式,if语句须对“表达式”求解,根据结果的真假选择相应的语句执行。 表达式通常为逻辑表达式或关系表达式,也可以是其他表达式、常量或变量。 表达式结果为0,则条件为假;表达式结果非0,则条件为真。,if语句的内嵌语句,ifelse是一个完整的语句,else是if语句的一部分,但else前后的内嵌语句都要加分号。 在if和else后面有且只有一条内嵌语句,如要包含多条语句,需用花括号将几条语句括起来成为一个复合语句。,else与if的配对,else不能单独使用,并且总是与

8、上面的 最近的 未配对的 if进行配对。 如果if与else的数目不一样,可用花括号来确定配对关系。,四、循环结构,四个要素,“起点”:循环控制变量在进入循环体前必须先赋初值。 “终点”:表达式可以是任意类型。结果只有0(假)和非0(真)两种情况。 “步长”:循环体中应有使循环趋于结束的语句。 “循环”:如果包含一个以上的语句,应该用花括号限定,以复合语句形式出现。,while语句,“先判断,再执行” 一般形式为: while(表达式) 语句1,dowhile语句,“先执行,再判断” 一般形式为: do 语句1 while(表达式);,for语句,一般形式为: for(表达式1;表达式2;表达

9、式3) 语句1 相当于: for(初始条件;!终止条件;步长变化) 循环语句,三种循环的比较,使用while和do-while循环,循环变量的初始化应在进入while和do-while语句之前完成;在for循环中可由表达式1实现。 使用while和do-while循环,循环体内应包含使循环趋于结束的语句;在for循环中可由表达式3实现。 使用while和do-while循环,while后面的括号内应说明循环结束的条件;在for循环中可由表达式2说明。,三种循环的特点,一般情况下,3种循环可以互相代替。 while语句更适合处理“当”型循环。 do-while语句更适合处理“直到”型循环。 fo

10、r语句书写灵活,功能最强,适合处理各种循环问题。只要遵循for语句的求值顺序,参数和语句可任意省略或写入无关的内容,循环功能的实现不受影响。,循环的嵌套,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。 3种循环(while循环、dowhile循环和for循环)可以相互嵌套。,break语句,使用break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。 使用break语句可以跳出所在的循环体,即提前结束循环,接着执行循环体下面的语句。,continue语句,使用continue语句可以结束所在循环体的本次循环,即

11、跳过循环体中下面尚未执行的语句,直接执行下一次循环的条件判断。,continue、break和goto的比较,continue语句只结束本次循环; break语句则结束整个循环。 goto语句从深度循环的嵌套中一次跳出多层循环。,五、输入与输出,C语言的输入与输出,输入输出是以计算机为主体而言的。 从计算机向输出设备输出数据称为输出。 从输入设备向计算机输入数据称为输入。 C语言本身不提供输入输出语句。输入和输出操作是由C函数库中的函数来实现的。 使用“标准输入输出函数”的源程序文件在引用这些函数前必须:#include 。,printf(),输出若干个任意类型的数据。 函数形式: print

12、f(格式控制, 输出表列) 格式控制是用双撇号限定的字符串,包括: 格式说明。由“%”和格式字符组成。 普通字符。普通字符即需要原样输出的字符。 输出表列是需要按指定格式输出的若干数据。可以是变量,也可以是表达式。由逗号隔开。,scanf(),输入若干个任意类型的数据。 函数形式: scanf(格式控制, 地址表列) “地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。,putchar(),输出一个字符。 函数形式: putchar(c) 参数c可以是常量也可以是变量;可以是字符型数据也可以是整型数据。,getchar(),输入一个字符。 函数形式: getchar()

13、参数是从输入设备得到的字符。,puts(),以第一个0做结束标志,将一个字符串输出到终端,并将0转换成n输出。 函数形式: puts (字符数组名),gets(),以enter 作为结束标志,输入一个字符串到字符数组。 函数形式: gets(字符数组名),strlen函数,检测字符串的长度。 函数形式: strlen (字符数组名) 函数值返回值为被测字符串的实际长度(不包括0在内)。,格式符,%d: 十进制整数。 %f: 十进制实数。 %c: 单个字符。 %s: 一个字符串。,修饰符,-: 输出的数字或字符在域内向左靠拢。 m:数据最小宽度 n: 输出的小数位数;,六、数组,数组的概念,数组

14、是具有同一类型的有序数据的集合。 C语言规定只能逐个引用数组元素而不能一次引用整个数组。 必须先定义数组,然后引用数组元素。 数组中各元素类型相同,与数组类型一致。 每个元素由统一的数组名和惟一的下标确定。 下标从0开始,必须为整型常量或表达式。,数组的本质,数组中的所有元素在内存中都是连续字节存放的,即保存在一块连续的内存区中。 数组中各元素所占内存的大小为该元素所属基本类型的大小。 数组所占内存的大小为一个元素所占内存的大小乘以元素个数。,数组的定义,定义一维数组的一般格式为: 类型说明符 数组名常量表达式; 例如: int a10;,数组的初始化,定义时给所有元素赋值(1): int a

15、3=1,2,3; 定义时给所有元素赋值(2): int a=1,2,3; 定义时给部分元素赋值: int a3=1,2;,字符数组的定义,用来存放字符型数据的数组是字符数组。字符数组中每个元素存放一个字符。 定义字符数组的一般格式为: char 数组名常量表达式 例如:char c10;(数组长度10字节),使用字符对数组初始化,对字符数组初始化时可将逐个字符赋给数组中各元素。 例如:char c5=H,e,l,l,o; 字符数组长度与初值个数相同时,可省略数组长度。 如果初值个数小于数组长度,其余的元素自动赋为空字符(即0)。 字符数组长度小于初值个数时,系统报错。,使用字符串对数组初始化,

16、char c =“I am happy”;花括号可省。 省略数组长度,系统自动添加0作结束符。 数组长度大于字符串常量的字符数个数时,多出的元素自动赋为空字符(即0)。 数组长度小于字符串常量的字符数个数时,多出的字符不被存储。 组长度等于字符串常量的字符个数时,本应自动添加的“0”将不被存储。,字符数组与字符串,字符数组是元素为字符变量的数组。 字符串则是以0为结束字符的字符数组。 字符数组是定长的,由下标控制访问。 字符串是可变长的,因此必须用0来标记字符串的结束。,%c 与 %s,用%c输入输出逐个字符。 用%s输入输出整个字符串。 用%c输出字符,长度由循环控制变量决定。 用%s输出字符串,到(不包括)0 结束。 用%c输入字符,输入项是元素的地址。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号