2022年C语言 .pdf
《2022年C语言 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言 .pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言程序设计复习提纲一、单项选择题和填空题的知识点1、函数 是 C 程序的主要组成部分,函数是 C 程序 的基本单位 。一个 C 语言程序是由 一个或多个函数 组成的,其中 必须 包含 一个 main 函数 (且只能有一个main 函数 ) 。2、程序总是从main 函数 开始执行的。 C 语言本身不提供输入输出语句 。3、识别不同的常量。(1)整型常量,如100,0,-12 (2)实型常量,有两种表示形式。第一,十进制小数形式,如12.45、-56.79。第二,指数形式,即科学计数法。如12.34e -4,其中,字母e 前面的部分称为尾数,可以用实型数据表示,后面的部分称为指数,只能用整
2、型数据表示,而字母e 既可以是小写的e,也可以是大写的E。(3)字符常量,有两种形式:普通字符和转义字符。普通字符如 a ,注意字符常量中只能包含一个字符。转义字符是以字符开头,如 n ,注意它表示的是一个字符。(4)字符串常量,如”Nanjing ”。(5)符号常量,是用#define 指令定义的。如#define PI 3.1416。一旦定义以后,凡是使用PI 的地方,实际上使用的3.1416。4、合法标识符和非法标识符的识别。5、数据类型占用的内存字节数int(基本整型)4 unsigned int (无符号基本整型)4 short(短整型)2 unsigned short(无符号短整型
3、)2 long(长整型)4 unsigned long(无符号长整型)4 signed char(有符号字符型)1 unsigned char(无符号字符型)1 float 4 double 8 long double 16 6、%运算符要求参加运算的运算对象(即操作数)为整数,结果也是 整数。如 8%3 的结果为 2。7、除 % 以外的运算符的操作数都可以是任何算术类型 。8、自增、自减运算符的使用。参见P53 的内容和例子。 (单选)9、不同类型数据间的混合运算。参见P54 的内容和例子。10、赋值过程中的类型转换。参见P62 的内容和例子。 (单选)11、o 格式符的使用:以八进制整数形
4、式输出数据。x 符的使用:以十六进制整数形式输出数据。具体内容参见P73 的内容和例子。12、在程序中实现两个变量的值交换的算法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 13、 a&b&c和 a|b|c的运算过程。参见P95 的具体内容和例子。14、 (m=ab)&(n=cd) ,该式中n 的值为多少。参见P95 的具体内容和例子。15、判断大写字母的表达式:(ch= A &ch= a &ch= 0 &ch= 9 )
5、17、大写字母转换为小写字母:+32 18、小写字母转换为大写字母:-32 19、 P111习题 3:求逻辑表达式的值。20、 除了可以用数组元素作为函数参数外,还可以用 数组名 作为函数参数(包括实参和形参) 。如果用 数组元素 作为实参,则向形参变量传递的是数组元素的值;如果用 数组名 作为实参,则向形参变量传递的是数组首元素的地址。21、三种局部变量的存储位置是不同的:自动变量存储在动态存储区中,静态局部变量存储在静态存储区中,寄存器变量存储在CPU 的寄存器中。22、我们将地址形象化地称为“指针”。23、指针变量的值是地址(即指针)。24、如果指针变量p1 和 p2 都指向同一数组,如
6、执行p2-p1,结果是p2-p1 的值(两个地址之差)除以数组元素的长度。而两个地址不能相加,即p2+p1 是无实际意义的。25、可以引用结构体变量中成员的值,具体的引用方式为:结构体变量名.成员名。如:student1.name=” wang” ; 26、结构体变量所占内存长度是各成员所占内存长度之和,而共用体变量所占的内存长度等于最长的成员的长度。27、根据数据的组织形式,数据文件可分为ASCII 文件和二进制文件。28、用 fopen 函数打开数据文件。29、使用文件的方式:见P335 的表 10.1。三、名词解释1、程序:程序就是一组计算机能识别和执行的指令,每一条指令使计算机执行特定
7、的操作。2、高级语言:高级语言是接近于人类习惯使用的自然语言和数学语言,又能够被计算机识别和运行的计算机语言。高级语言不依赖于具体的机器,但其不能被计算机直接识别,而必须已经“翻译” 。3、常量:常量是指在程序的运行过程中其值不能被改变的量。4、标识符:在计算机高级语言中,用来对变量、符号常量、函数、数组、类型等命名的有效字符序列统称为标识符。5、C 算术表达式:用算术运算符和括号将运算对象(即操作数)连接起来,符合C 语言语法规则的式子称为C 算术表达式。6、输出:输出是指从计算机向输出设备输出数据。7、输入:输入是指从输入设备向计算机输入数据。8、关系运算:所谓关系运算就是比较运算,将两个
8、数值进行比较,判断其比较的结果是否符合给定的条件。9、关系表达式:用关系运算符将两个数值或数值表达式连接起来的式子称为关系表达式。10、逻辑表达式: 用逻辑运算符将关系表达式或其他逻辑表达式连接起来的式子称为逻辑表达式。11、数组:数组是一组有序数据的集合。在数组中,各个数据的排列是有一定规律的,下标名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 代表了数据在数组中的序号。12、函数: 函数就是功能, 每一个函数用来实现一个特
9、定的功能,函数的名字应反映其代表的功能。13、形式参数:在定义函数时函数名后面括号中的变量称为形式参数,也称为虚拟参数。14、实际参数: 在主调函数中调用一个函数时,函数名后面括号中的参数称为实际参数,简称实参。实际参数可以是常量、变量或表达式。15、值传递:值传递是单向传递,数据只能由实参传给形参,而不能由形参传给实参。16、局部变量: 在一个函数内部定义的变量只在该函数范围内有效,在复合语句中定义的变量也只在该复合语句范围内有效,这些只能在局部范围内有效,超出其所在范围就无效的变量称为局部变量。17、全局变量: 在函数之外定义的变量称为外部变量,外部变量是全局变量。全局变量可以为文件中的其
10、他函数所共用,其有效范围为从定义该变量的位置开始到源文件结束。18、数据的存储类别:数据的存储类别是指数据在内存中存储的方式,有静态存储和动态存储之分。19、自动变量: 对于在函数中定义的动态局部变量,当该函数被调用时,系统会给它们分配存储空间, 在函数调用结束时就自动释放存储空间,这样的局部变量称为自动变量。自动变量用关键字auto 作存储类别的声明。20、静态局部变量:对于函数中定义的静态局部变量,当该函数的调用结束后,系统并不释放它们的存储空间,在下一次调用该函数时,这些变量中已经有值了,就是上一次函数调用结束时的值。静态局部变量用关键字static 进行声明。21、寄存器变量:为了提高
11、代码的执行效率,C 语言允许将局部变量的值存放在CPU 中的寄存器中, 需要使用时直接从寄存器中取出,而不必再到内存中存取。这种变量称为寄存器变量。寄存器变量用关键字register 进行声明。22、变量的作用域: 如果一个变量在某个文件或函数范围内是有效的,就称该范围为该变量的作用域。23、指针:一个变量的地址称为该变量的“指针”。24、指针变量: 如果一个变量专门用于存放另一个变量的地址(即指针),则该变量就是 “指针变量”。24、结构体类型:在C 语言中允许用户自己建立由若干个不同类型数据组成的组合型的数据结构称为结构体。用户使用结构体自定义的数据类型称为结构体类型。25、数据流:输入输
12、出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流。四、简答题1、高级语言经历了哪些发展阶段?答:高级语言经历了非结构化语言、结构化语言和面向对象语言三个不同的发展阶段。非结构化语言没有严格的规范要求,程序中可以随意的跳转。在结构化语言中, 程序必须由顺序结构、 分支结构和循环结构的基本结构构成,在程序中不能随意的跳转。面向对象语言支持面向对象程序设计方法,适合于处理规模较大的复杂问题。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页
13、 - - - - - - - - - 2、一个函数包括哪几个部分?试分别简述之。答:一个函数包括函数首部和函数体两个部分。函数首部包括函数名、函数类型、 函数属性、函数参数名和参数类型。函数体包括声明部分和执行部分,其中声明部分包括函数内部局部变量的声明和所调用的函数的声明,执行部分为若干个语句组成的语句组。3、简述标识符的组成规则。答:C 语言规定标识符只能由字母、数字和下划线三类字符组成,且第一个字符必须是字母或下划线。4、C 语言中基本数据类型有哪些?答:C 语言中的基本数据类型包括整型类型和实型类型两大类。其中,整型类型又分为基本整型( int) 、短整型( short) 、长整型(
14、long)和字符型(char) ;实型类型又分为单精度实型( float)和双精度实型(double)5、什么是顺序结构?答:在顺序结构中, 程序中的各个语句是按照自上而下的顺序执行的,执行完上一个语句就自动执行下一个语句,是无条件的,不必作任何判断。6、简述关系运算符及其优先次序。答: C 语言提供了六种关系运算符,分别为、=、=、!=。其中,前四种运算符的优先级相同且为高优先级,后两种运算符的优先级相同且为低优先级。7、C 语言中逻辑值的表示方法。答: C 语言编译系统在表示逻辑运算结果时,以数值1 代表“真”,以数值 0 代表“假”;但在判断一个量是否为“真”时,以0 代表“假”,以非
15、0 代表“真”。8、什么是逻辑运算符的短路问题?答:在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的值时,该运算符才被执行。9、while 循环和 do-while 循环的区别?答: while 循环是先判断循环条件,后执行循环体;而do-while 循环是先执行循环体,后判断循环条件。 因此, while 循环的循环体有可能不执行,即 while 循环的循环体最少被执行0次,而 do-while 循环的循环体至少被执行一次。10、 for 语句的执行过程?答:for 语句的一般形式为:for(表达式 1;表达式 2;表达式 3),for 语
16、句的具体执行过程为:(1)求解表达式1;(2)求解表达式2,如果表达式2 的值为真,则执行循环体;如果为假,则结束循环的执行,转( 5)执行。(3)执行循环体;(4)求解表达式3,转( 2)继续执行。(5)循环结束,执行for 语句的后一个语句。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - 11、 break语句和 continue 语句的区别?答: continue 语句是结束本次循环的执行,直接进入下一次循环的执行,而不
17、是终止整个循环的执行。而break 语句是结束整个循环的执行,不在判断执行循环的条件是否成立,即直接从循环体内跳转到循环体外。12、定义一个函数应包括哪些内容?答:定义函数应包括以下内容:(1)指定函数的名字,以便通过该函数名调用该函数。(2)指定函数的类型,即函数返回值的类型。(3)指定函数的参数名和类型,以便在调用函数时通过它们传递数据。对无参函数不需要这项。(4)指定函数应当完成的操作。13、函数嵌套调用和递归调用的区别?答:函数的嵌套调用是指一个函数A 在其执行过程,调用了另一个函数B,依次类推,在函数 B 的执行过程中,又调用了另一个函数C。而函数的递归调用其实是一种特殊的嵌套调用,
18、即在函数的嵌套调用的过程中,出现了函数A 直接或间接地调用其本身(即函数 A) 。14、静态存储方式和动态存储方式的区别?答:静态存储方式是指在程序运行期间由系统分配固定的存储空间的方式,而动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。在静态存储方式中,数据存储在静态存储区中,在整个程序的执行过程中均有效;而在动态存储方式中,数据存储在动态存储区中,只在整个程序的执行过程中的某一个时间段有效。15、 C 语言中有哪些存储类别?答: C 语言中有四种不同的存储类别,分别为自动的(auto) 、静态的( static) 、寄存器的(register) 、外部的( extern
19、) 。16、什么是共用体类型?答:所谓共用体类型就是将多个变量的内存空间组合在一起,通过使用覆盖技术,使后一个数据的存储覆盖前一个数据的存储,从而实现多个变量共享同一段内存空间,这种逻辑结构类型称为共用体类型。17、什么是枚举类型?答: 所谓枚举类型就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。18、什么是文件?答:所谓文件一般指存储在外部存储介质上的数据的集合。19、文件关闭的含义是什么?答: “关闭”文件就是撤消文件信息区和文件缓冲区,使文件指针变量不再指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其联系的文件进行读写操作,除非再次打开,使该
20、指针变量重新指向该文件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 五、程序填空题1、求多项式1-1/2+1/3-1/4+ +1/99-1/100 的值。程序:#include int main() int sign=1,deno=2; double sum=1.0,term; while(deno=100) sign=-sign; term=1.0*sign/deno; sum=sum+term; deno=deno+1
21、; printf( “ %fn” ,sum); return 0; 2、用数组处理求Fibonacci 数列问题。 P146 的例 6.2 #include int main() int f20= 1,1; int i; for(i=2;i20;i+) fi= fi-1+fi-2 ; for(i=0;i20;i+) if(i%5=0 ) printf(n); printf(%12d,fi); printf(n); return 0; 3、有 10 个数,要求将它们按从小到大的顺序进行排序。P147 的例 6.3 #include int main() 名师资料总结 - - -精品资料欢迎下载
22、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - int a10; int i,j,t; printf(input 10 numbers:n); for(i=0;i10;i+) scanf(%d,&ai); printf(n); for(j=0;j 9;j+) for(i=0;iai+1 ) t=ai;ai=ai+1;ai+1=t; printf(the sorted numbers:n); for(i=0;i10;i+) printf(%d ,ai); printf(
23、n); return 0; 4、求矩阵的转秩。即将一个矩阵的行和列互换。P152 的例 6.4 #include int main() int a23=1,2,3,4,5,6; int b32,i,j; printf(array a:n); for(i=0; i=1;i+) for(j=0; j=2 ;j+) printf(%5d,aij); bji=aij ; printf(n); printf(array b:n); for(i=0; i=2;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
24、- - - - 第 7 页,共 20 页 - - - - - - - - - for(j=0; j=1 ;j+) printf(%5d,bij); printf(n); return 0; 5、有一个 34 的矩阵, 要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 P153的例 6.5 #include int main() int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; int i,j,max,row,colum; max=a00;row=0;colum=0; for(i=0; i=2;i+) for(j=0; jmax ) max=aij; ro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言 2022 语言
限制150内