ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:32KB ,
资源ID:7813253      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7813253.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序设计复习资料含答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序设计复习资料含答案.docx

1、C程序设计复习资料含答案C程序设计复习要点第一章 概述1. C程序的构成与结构特点2. C程序上机调试过程与流程第二章 数据类型、运算量与表达式1. 数据类型的种类(基本数据类型和构造数据类型)2. 常量的数据类型及其表示(表示方法、存储字节数与表数范围)整、实、字符、字符串和转义字符3. 变量的命名、定义方法与赋初值4. 各种表达式及其运算规则优先级、结合性、类型自动转换与强制转换 算术运算符、表达式及其构造(注意“/”和“%”特殊性) 自增、自减运算符及其简单表达式运算 赋值运算符及其表达式(注意复合赋值运算符的运算方法) 逗号运算符及其表达式第三章 流程控制1. 赋值语句的一般形式、赋值

2、过程及赋值规则(注意左右数据类型的一致或兼容)2. 输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意: 格式输出中域宽和小数位数的控制 格式输入与输出中普通字符的原样输入和输出问题 熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3. 关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4. 关系表达式与逻辑表达式的构造(根据已知条件写表达式)5. if语句的三种形式:if 语句、if else 语句、if 语句的嵌套 if 语句的格式与用法:

3、简单if、嵌套if、并列if 逻辑关系与执行过程 嵌套规则(重点掌握if else if else if else)6. switch语句的格式与用法7. *熟练使用if和switch语句阅读和编写较为简单的选择结构程序8. 三种循环语句:while() 、do while()、for()的格式、执行过程及其用法 循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改 注意循环期间与结束时循环控制变量的取值问题9. 结合例题理解和区别break与continue语句的作用及其用法10. 本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11. *熟练使

4、用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章 复杂数据类型1. 一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2. 字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3. 常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4. 数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5. *熟练使用数组并结合以上算法阅读和编写较为简单的程序6. 指针的概念:指针、指针变量、指针运算(、&、+、-、+、-)7. 变量、数组和字符串指针的定义、指向与引用(仅限于一维数

5、组)8. 了解指针数组与二级指针的概念和定义9. *能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10. 结构体与共用体的概念、定义与引用(仅限概念)第五章 结构化程序设计与应用1. 熟悉程序的三种基本结构:顺序、选择和循环2. *通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章 函数与编译预处理1. 掌握函数的定义、声明和调用方法及参数传递方式2. *结合相关例题掌握一般函数和递归函数的定义与使用3. 熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4. 了解内部函数与外部函数的定

6、义及调用规则5. 掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6. 了解文件包含的作用及其使用场合第七章 文件1. 了解文件的概念2. 熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法 特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现C语言程序设计参考题型说明: 本题仅反映考试的题型,作为考前复习参考。要通过这些典型题目,掌握复习要点中所列内容。所给题目不可死记硬背,而是通过题目掌握其涉及要点和重要算法。一、单项选择题1. C程序的基本构成单位是 【 C 】A)文件 B)命令 C)函数 D)语句2. 下列叙述中错误的是 【 C 】A)C

7、程序中main( )函数的位置可以任意B)C程序可以由多个程序文件组成, 而一个程序文件又可以由一个或多个函数组成C)每个程序文件都有一个main( )函数D)C程序总是从main( )开始执行,也是由它结束3. 将C源程序转换为目标程序的过程称为 【 B 】A)编辑 B)编译 C)连接 D)运行4. C语言中最基本的数据类型包括 【 B 】A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、逻辑型、字符型 D)整型、实型、字符串型5. 以下不合法的用户标识符是 【C 】A)j2_KEY B)Double C)4d D)_8_6. C源程序中不能表示的数制是 【A 】A)二进制 B)八进制

8、 C)十进制 D)十六进制7. 以下合法的字符常量的是 【A 】A)x13 B)081 C)65 D)n 8. 以下选项中,能用作数据常量的是 【 D 】A)o115 B)0118 C)1.5e1.5 D)115L9. C语言中,要求运算对象必须是整型数据的运算符是 【A 】A)% B)/ C) D)&10. 表示数学关系“xyz”的C语言表达式是 【C 】A)x=y=z B)x=y | y=z C)x=y&y=z D)xyz11. 若变量均已正确定义并赋值,以下合法的C语言赋值语句是 【A 】A)x=y=5; B)x=n%2.5; C)x+n=j; D)x=5=4+1;12. 设有定义:in

9、t k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是 【 A 】A)k+ B)k+=1 C)+k D)k+113. 若有代数式:以下错误的C语言表达式是 【 C 】A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*314. 设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 【C 】A)int B)float C)double D)不确定15. 若p和x已经正确定义,x已赋值,并且p=&x,则下列关系表达式之值为1的是 【 B】A)p=x B)*p=x C)&p=x D)*x=p16. 当用户要求输入的字符串中

10、含有空格时,应使用的输入函数是 【 C 】A)scanf() B)getchar() C)gets() D)getc()17. 下列能输出字符数组str中字符串的语句是 【 B 】A)printf(%c,str0); B)printf(%s,str);C)printf(%s,str); D)putchar(str);18. 有输入语句:scanf(B%d,%d,&a,&b);为使变量a、b分别为5和3,从键盘输入数据的正确形式为 【 B 】A)5 3 B)5,3 C)a=5 b=3 D)a=5,b=319. 定义如下变量和数组:int j;int x33=1,2,3,4,5,6,7,8,9;则

11、下面语句的输出结果是 【 C 】for(j=2; j=0; j-) printf(%2d,xj2-j);A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 920. 执行下面程序后,a的值是 【 B 】#define SQR(x) x*xvoid main( ) int a=10,k=2,m=1; a=SQR(k+m); printf(%dn,a);A)10 B)5 C)2 D)121. 简单if语句的基本形式:if(表达式)语句 【D 】其中“表达式”A)必须是逻辑表达式 B)必须是关系表达式C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式22. 在嵌套使用if语句时,C

12、语言规定else总是 【 C 】A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对 D)和之前的第一个if配对23. 下列叙述中正确的是 【D 】A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句24. 有以下程序段:x=-1;do x=x*x;while(!x);执行时,循环体执行的次数为 【B 】A)0 B)1 C)2 D)不确定25. 以下不正确的if语句形式是 【C 】A)if

13、(xy&x!=y); B)if(x=y) x+=y;C)if(x!=y) scanf(%d,&x) else scanf(%d,&y); D)if(xy) x+;y+;26. 以下程序的输出结果是 【 C 】void main( ) int x=2,y=-1,z=2; if(xy) if(y0) z=0; else z+=1; printf(%dn,z);A)0 B)1 C)2 D)327. 以下能正确计算12310的程序段是 【 A 】A) i=1,s=1; B) s=1;i=1; do while(i=10) s=s*i;i+; s=s*(+i); while(i11);C) for(i=

14、1,s=0;i=10;i+) D) for(i=1,s=1;i+) s=s*i; s=s*i;28. 若j为整型变量,则以下循环执行次数是 【 C 】for(j=0;j=0;) printf(%d,j-);A)无限次 B)0次 C)1次 D)2次29. 若有说明:int a10;则对a数组元素的正确引用是 【 C 】A)a3.5 B)a(8) C)a6-5 D)a1030. 若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0, *p=x;则错误引用x 数组元素的是 【B 】A)*p B)x5 C)*(p+1) D)*x31. C中,一个char类型的数据在内存中占用的字节

15、数是 【A 】A)1 B)2 C)4 D)832. 设有程序段:int k=5;while (k=0) k-;则下列描述中正确的是 【 C 】A)while循环执行5次 B)循环是无限循环 C)循环语句一次也不执行 D)循环体语句执行一次33. 下面程序段的运行结果是 【 B 】char c5= a, b, 0, c, 0 ; printf(“%s”, c);A)ab B)ab C)Abc D)abc34. 以下不正确的字符串赋值语句是 【C 】A)char *s; s=abcde; B)char s =abcde;C)char s10; s=abcde; D)char *s=abcde;35

16、. 设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是 【 B 】A)k=*p1+*p2; B)p2=k; C)p1=p2; D)k=p2-p1;36. 下面程序的输出结果是 【 A 】void main( ) char s = ABCD; char *p; for (p=s;p6) n-; printf(“%3d”,n);以上程序段输出结果是 【 D】A)10 9 8 B)9 8 7 C)10 9 8 7 D)9 8 7 645. 若i,j已定义为int型,则以下程序段中内循环总的执行次数是 【C 】for (i=5; i0; i-) for (j=1; j6;

17、 j+) A)30 B)24 C)25 D)2046. 若已定义:float *p, m=3.14159; 则使p指向m正确的赋值语句是 【B 】A)p=m; B)p=&m; C)*p=m; D)*p=&m;47. 若已定义:char s10; 则下面表达式中不能作为s1地址的是 【A 】A)s+ B)s+1 C)&s0+1 D)&s148. 已知:int a=3, b=5, t; 要将a和b中的数值进行交换,错误的程序段是 【C 】A)a=a+b; b=a-b; a=a-b; B)t=a; a=b; b=t;C)t=a; b=a; a=t; D)t=b; b=a; a=t;49. 关于C程序

18、中的#include ,错误的描述是 【 D 】A)它是C语言的预编译命令 B)在程序中该行尾部不需要分号C)用于将math.h包含进来 D)math.h是一个函数50. 下列C程序段的输出结果是 【C 】int a=0;switch(a) case 0: printf(“a=0”); case 1: printf(“a=1”); default: printf(“default”);A)a=0 B)a=0default C)a=0a=1default D)default51. 已知:int a, x, y; 有语法错误的C语句是 【 B 】A)while(x) y+; B)while(x+y

19、=0) a+;C)while(xy); D)while(y=5) +x;52. 对于do while( )语句,错误的说法是 【C 】A)用条件控制循环体的重复执行 B)循环体至少要执行一次C)循环体有可能一次也不执行 D)循环体中可以包含若干条语句53. 已知:int a, x, y; 有语法错误的C语句是 【 B 】A)while(x) y+; B)while(x+y=0) a+;C)while(xy); D)while(y=5) +x;54. 已知:int a5, *p=a; 利用p为数组元素a4赋值的正确C语句是 【 B】A)scanf(“%d”, p+3); B)scanf(“%d”

20、, p+4);C)scanf(“%d”, *(p+3); D)scanf(“%d”, *(p+4); 55. 对于C语句:char *a2=“abcd”, “ABCD”; 叙述正确的是 【B 】A)a是指针变量 B)a是指针数组 C)a是数组指针 D)a是字符串56. 设有如下说明语句:struct ex int x; float y; char z; example;则下面叙述中不正确的是 【 B 】A)struct是结构体类型的关键字 B)example是结构体类型名C)x, y, z都是结构体成员名 D)struct ex是结构体类型名57. 有以下程序#include struct o

21、rd int x,y; dt2=1,2,3,4;void main() struct ord *p=dt; printf(“%d,”,+p-x); printf(“%dn”,+p-y);程序的运行结果是 【B 】A)1,2 B)2,3 C)3,4 D)4,158. 设有以下定义 【D 】union data short int d1; char d2; demo;则下面叙述中错误的是_。A)变量demo与成员d1所占的内存字节数相同B)变量demo中各成员的地址相同C)变量demo和各成员的地址相同D)若给demo.d1赋256后, demo.d2中的值是25659. 设fp为指向某二进制文件

22、的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 【 B 】A)EOF B)非0值 C)0 D)NULL60. 读取二进制文件的函数调用形式为:fread(buffer,size,count,fp); 其中buffer代表的是 【C 】A)一个文件指针,指向待读取的文件B)一个整型变量,代表待读取的数据的字节数C)一个内存块的首地址,即读入数据存放的地址D)一个内存块的字节数二、填空题1. 赋值表达式x*=y+5的另一种书写形式为_ x=x*(y+5)_。2. 已知a=10,b=20,c=3,则表达式!ab | c的值为_1_。3. 表达式(int)(double)(5/2)+2.

23、5)的值是_4_。4. 若j=3,则表达式(+j)+(j+)的值为_8_。5. 若a的原值为4,则表达式“a*=a-=3”运算后,a的值是 _1_。6. 若a=5、b=3、c=1,则表达式“abc”的值为_0_。7. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为_2.5_。8. 整数m既能被3整除又能被4整除的逻辑表达式为_(m%3= =0)&(m%4= =0) _。9. 写出代数式0x1的C逻辑表达式为_(0x)&(x=a&c=A&cZ 。11. 实现变量a和b交换的语句或语句序列是 a=a+b; b=a-b; a=a-

24、b; 。12. 若整型变量a 和b 中的值分别为7 和9,要求按以下格式输出a和b的值:a=7b=9请完成输出语句:printf(a=%dnb=%d, a, b);13. 若有定义:double a105; 则数组a中行下标最大值为_9_,列下标最大值为_4_。14. 若有定义:int a 1,4,6,5,8,9; 则 *(a+5) 的值为_9_。15. 设有如下定义int a56,*p; 使p指向数组元素a42的语句为_ p=&a42; _。16. 若有定义:int a10,*p=a; 则元素a5的值用p表示的形式是_ *(p+5)_。17. 若有定义:int *p4; 则标识符p表示_长度为4的一维指针数组_

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1