C语言期末复习题

上传人:痛*** 文档编号:101899385 上传时间:2022-06-05 格式:DOC 页数:19 大小:70KB
收藏 版权申诉 举报 下载
C语言期末复习题_第1页
第1页 / 共19页
C语言期末复习题_第2页
第2页 / 共19页
C语言期末复习题_第3页
第3页 / 共19页
资源描述:

《C语言期末复习题》由会员分享,可在线阅读,更多相关《C语言期末复习题(19页珍藏版)》请在装配图网上搜索。

1、第一单元程序设计和语言一、 选择题1 C语言的基本构成单位是: A .A. 函数B. 函数和过程C. 超文本过程D. 子程序2 一个C语言程序总是从 B 开始执行.A. 主过程 B. 主函数 C. 子程序 D.主程序3 C语言的程序一行写不下时,可以.A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4 以下叙述不正确的是: C .A. 在C程序中,语句之间必须要用分号;分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5 以下不正确的C语言

2、标识符是 D .A. ABC B. abc C. a_bc D. ab.c6 下列字符串是标识符的是: A .A. _H. 9_studentC. longD. LINE 17 以下说法中正确的是: C .A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main函数中定义C. C语言程序总是从main函数开始执行D. C语言程序中的main函数必须放在程序的开始部分8 不合法的常量是: D .A. 2B. C. 3D. 4839 已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A .int k,a,b;unsigned long w=5;d

3、ouble x=1.422;A. x%B. w+=-2C. k=D. a+=a=+*10 在C语言中,字符型数据在内存中以 D 形式存放.A. 原码 B. BCD码 C. 反码 D. ASCII码11 若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*%2/4的值是: A .A. 2.500000B. 2.750000C. 3.500000D. 0.00000012 设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为: D .A. floatB. charC. intD. double13 以下

4、BC 是不正确的转义字符. A. B. C. 081 D. 014 若x为int型变量,则执行以下语句后,x的值为 B .x=6;x+=x-=x*x; A. 36 B. -60 C. 60 D. -2415 字符串ABC的长度是 B .A. 11 B. 7 C. 5 D. 3二、 填空题1 一个函数由两部分组成,它们是和.2 一个C源程序至少包含一个,即.3 设int a=12; 则表达式a/=a+a的值是.4 表达式x=和表达式x=a=3,6*a分别是表达式和表达式,两个表达式执行完的结果分别是和 ,x值分别是和.5 在C语言中,实数有两种表示形式,即和.6 在C语言中,运算符的优先级最小的

5、是运算符.7 在C语言中,变量在使用前应先, 再 . 第一单元 程序设计和C语言一、 选择题1. A 2. B 3. C 4. C 5. D 6. A 7. C 8. D 9. A 10. D 11. A12. D 13. BC 14. B 15. B二、 填空1 函数首部、函数体2 主函数、main函数3 04 赋值、逗号、18、18、18、35 浮点型、指数型6 赋值7 定义,使用第二单元顺序程序设计一、 选择题1 若m为float型变量,则执行以下语句后的输出为C.m=1234.123;printf;printf; A. 1234.123 B. 1234.123 C. 1234.123

6、D. -1234.123 1234.123 1234.123 1234.123 001234.1232 若x,y,z均为int型变量,则执行以下语句后的输出为A.x=y=+5-5;printf;y=;printf; A. X=10,Y=15,Z=10B. X=10,Y=10,Z=10 X=0,Y=10,Z=0X=0,Y=10,Z=10 C. X=10,Y=15,Z=10D. X=10,Y=10,Z=10X=10,Y=10,Z=0X=0,Y=10,Z=03 若x是int型变量,y是float型变量,所用的scanf调用语句格式为: scanf;则为了将数据10和66.6分别赋给x和y,正确的输入

7、应是:A. A. x=10,y=66.6 B. 10 66.6C. 1066.6 D. x=10y=66.64 已知有变量定义:int a;char c;用scanf;语句给a和c输入数据,使30存入a,字符b存入c,则正确的输入是:D.A. 30b B. 30 bC. 30b D. 30b5 已知有变量定义:double x;long a; 要给a和x输入数据,正确的输入语句是.若要输出a和x的值,正确的输出C.A. scanf; B. scanf; printf; printf;C. scanf; D. scanf; printf; printf;6 若有定义double x=1,y;则以

8、下的语句执行的结果是C.y=x+3/2; printf; A.2.500000 B.2.5 C.2.000000 D.2 7 若a为整型变量,则以下语句C.a=-2L; printf;A. 赋值不合法B. 输出为不确定的值C. 输出值为-2D. 输出值为2二、 读程序写结果1 main int x,y;scanf;printf;执行时输入:12345672 main int x=4,y=0,z; x*=3+2; printf;x*=y=z=4; printf; 3 main float x; int i; x=3.6; i=x; printf;4 main int a=2; a%=4-1; p

9、rintf; a+=a*=a-=a*=3; printf;5 main int x=02,y=3; printf;6 main char c1=6,c2=0; printf;7 main int x,y,z; x=y=1; z=+x-1; printf; z+=y+; printf; 三、 填空题1 在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以输出,也能以输出.2 %-ms表示如果串长小于m,则在m列范围内,字符串向靠,补空格.3 printf函数的格式控制包括两部分,它们是和.4 函数的递归调用是指.函数的返回值通过函数中的 语句获得.5 Break语句只能用于 语句和语

10、句中.6 Strlen=.第二单元 顺序程序设计一、 选择题1. CA A D C CC二、 读程序写结果1 172 20803 X=3.600000,i=34 2,05 X=2,y=%d6 6,0,6,1027 2,12,2三、 填空1 字符 整数2 左 右3 格式说明 普通字符4 在函数中直接或间接的调用自己 , return5 Switch , 循环6 5第三单元分支程序设计一、 选择题1 若x=0,y=3,z=3,以下表达式值为0的是.A. !x B.xy? 1:0 C. x%2&y=z D. y=x|z/32 以下运算符中优先级最低的运算符为,优先级最高的为. A. & B. ! C

11、. != D. | E. ?: F. =3 若w=1,x=2,y=3,z=4,则条件表达式wx?w:yz?y:z的结果为. A. 4 B. 3 C. 2 D. 14 若w,x,z均为int型变量,则执行以下语句后的输出为.w=3;z=7;x=10;printf10?x+100:x-10;printf;printfz;printf; A. 0 B. 1 C. 0 D. 0 1 1 1 1 1 1 0 0 1 1 1 05 分析以下程序, 下列说法正确的是.main int x=5,a=0,b=0;if printf;else printf; A. 有语法错,不能通过编译 B. 通过编译,但不能连

12、接C. 输出* * * * D. 输出# # # #6 分析以下程序, 下列说法正确的是.main int x=5,a=0,b=3;if printf;else printf; A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出* * * * D. 输出# # # #7 分析以下程序, 下列说法正确的是.main int x=0,a=0,b=0;if printf;else printf; A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出* * * * D. 输出# # # #8 分析以下程序, 下列说法正确的是.main int x=0,a=0,b=0;if

13、 printf;else printf; A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出* * * * D. 输出# # # #二、 读程序写结果1 include main int a=-1,b=4,k;k=a+&!b-;printf; 2 main int x=4,y=0,z; x*=3+2; printf; x*=y=; printf; 3 main int x,y,z; x=3; y=z=4; printf%d,=z=x?1:0; printf=y & y=x;4 main int x=1,y=1,z=10; ifzif0 x=3;else x=5;printf;i

14、fz=y x=3;else if x=5;else x=7;printf;printf; 5 main char x=B; switch case A: printf; case B: printf; case C: printf; default: printf; 6 main int x=1,y=0,a=0,b=0; switch case 1: switch case 0: a+;break; case 1: b+;break; case 2: a+;b+;break; case 3: a+;b+; printf; 第三单元 分支程序设计一、选择题1.C、EB、D、C 、D 、C、D、C

15、二、读程序写结果11,0,3220030141705It is B. It is C.other.6a=2,b=1第四单元循环程序设计一、 选择题1 程序段如下:则以下说法中正确的是:.int k=5;do k-;whilek;A. 循环执行5次 B. 循环是无限循环C. 循环体语句一次也不执行 D. 循环体语句执行一次2 设i和x都是int类型,则for循环语句.fori=0,x=0;i scanf;A. 最多执行10次 B. 最多执行9次C. 是无限循环 D. 循环体一次也不执行3 下述for循环语句.int i,k;for printf;A. 判断循环结束的条件非法 B. 是无限循环C.

16、 只循环一次 D. 一次也不循环4 程序段如下:则以下说法中正确的是:.int k=-20;while k=k+1;A. while循环执行20次 B. 循环是无限循环C. 循环体语句一次也不执行 D. 循环体语句执行一次5 下列程序段执行后k值为.int k=0,i,j;fori=0;iforj=0;j k=k+1 ;A. 15 B. 3 C. 5 D. 86 程序段如下:则以下说法中不正确的是:.#include mainint k=2,;whilek if k=k+3; printf;continue;k=k+1;printf;A. k=k+3;执行一次 B. k=k+1;执行2次C.

17、执行后k值为7 D. 循环体只执行一次二、 读程序写结果1 main int num=0; whilenum num+; printf; 2 main int i=0,s=0; do s+=i*2+1; printf; i+;whiles; 3 #include main int i,m=1; for=1;i- m=*2;printf; 4 指出下面三个程序的功能,当输入为:quert?时,它们的执行结果是什么? #include main char c;c=getchar;while putchar;c=getchar; #include main char c;while c=getcha

18、r!=? putchar; #include mainwhile putchargetchar!=?; 5.main printf%dn,sub;sub if return 1;else return sub + sub; 第四单元 循环程序设计一、选择题1D 2A . 3B . 4C5A6D二、读程序写结果11 2 32i=0,s=1 i=1,s=4 i=2,s=9 i=3,s=163m=4 m=10 m=22 m=46 m=944 quert rvfsu quert?5. 8第五单元数组一、 选择题1 以下关于数组的描述正确的是.A. 数组的大小是固定的,但可以有不同的类型的数组元素.B.

19、 数组的大小是可变的,但所有数组元素的类型必须相同.C. 数组的大小是固定的,但所有数组元素的类型必须相同.D. 数组的大小是可变的,但可以有不同的类型的数组元素.2 在定义int a10;之后,对a的引用正确的是.A. a10 B. a6.3 C. a D. a10-103 以下能正确定义数组并正确赋初值的语句是.A. int n=5,bnn; B. int a12=1,3;C. int c2=1,2,3,4 D. int a32=1,2,3,44 以下不能正确赋值的是.A. char s110;s1=test; B. char s2=t,e,s,tC. char s320= test; D

20、. char s44=t,e,s,t5 下面程序段运行时输出结果是.char s18= a book! ;printf;A. a book! B. a book! C. a bo D. 格式描述不正确,没有确定输出6 下面程序段运行时输出结果是.char s12= A book;printf%dn,strlen;A. 12 B. 8 C. 7 D. 67 在执行int a3=1,2,3,4,5,6;语句后,a10的值是.A. 4 B. 1 C. 2 D. 5. 8.合法的数组定义是A int a=string; B int a5=0,1,2,3,4,5; C char a=string; D

21、char a=0,1,2,3,4,5;二、 读程序写结果1 #include void mainint a8=1,0,1,0,1,0,1,0,i;fori=2;iai+= ai-1 + ai-2;fori=0;iprintf;2 #include void mainfloat b6=1.1,2.2,3.3,4.4,5.5,6.6,t;int i;t=b0;fori=0;ibi=bi+1;b5=t;fori=0;iprintf; 3 #include void main int p7=11,13,14,15,16,17,18,i=0,k=0;whilei k=k+pi; i+;printf; 4

22、 void mainint a33=1,3,5,7,9,11,13,15,17;int sum=0,i,j;for i=0;ifor j=0;jaij=i+j;if sum=sum+aij;printf; 5 void mainint a44,i,j,k;for i=0;ifor j=0;jaij=i-j;for i=0;i for j=0;jprintf;printf; 6 #include mainint i,s;char s1100,s2100;printf;gets;printf;gets;i=0;while &i+;if & s=0;else s=s1i-s2i;printf;输入数

23、据 aidand7 void mainchar ch35= AAAA,BBB,CC;printf; 8 #inlcude #include void mainchar str1080,c80;int i;fori=0;igets;strcpy;fori=1;iifstrlenstrlenstrcpy;puts;9.下列程序的执行结果是 main int x=1,y=2,z=3;x+=y+=z;printf%d,x;第五单元 数组一、 选择题1. C 2. D 3. D 4. A 5. C 6. D 7. A 8.B二、 读程序写结果1 1 0 2 2 5 7 13 202 2.20 3.30

24、4.40 5.50 6.60 1.103 k=244 sum=65 0 1 0 2 1 0 3 2 1 06 -57 BBB8 没有输入数据9 5第六单元函 数一、 选择题1 在C语言中,当函数调用时.A. 实参和形参各占一个独立的存储单元B. 实参和形参共用存储单元C. 可以由用户指定实参和形参是否共用存储单元D. 由系统自动确定实参和形参是否共用存储单元2 以下函数调用语句中实参的个数为.exce,v6;A. 3B. 4C. 5D. 63 如果在一个函数的复合语句中定义了一个变量,则该变量.A. 只在该符合语句中有效,在该符合语句外无效B. 在该函数中任何位置都有效C. 在本程序的原文件范

25、围内均有效D. 此定义方法错误,其变量为非法变量4 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是.A. float型 B. int型 C. long型 D. double型5 C语言规定,函数返回值的类型是由.A. return语句中的表达式类型所决定B. 调用该函数时的主调函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的函数类型决定6 在C语言程序中,以下描述正确的是.A. 函数的定义可以嵌套,但函数的调用不可以嵌套B. 函数的定义不可以嵌套,但函数的调用可以嵌套C. 函数的定义和函数的调用均不可以嵌套D. 函数的定义和函数的调用均可以嵌套7 以下叙述中正确

26、的是.A. 全局变量的作用域一定比局部变量的作用域范围大B. 静态类别变量的生存期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值8.以下程序的运行结果是:#includevoidsub static int t=3;y=st;t-;main int a=1,2,3,4,i,x=0;fori=0;isub;printf;printf;A1234 B432l C0000 D44449. 以下程序的运行结果是:main int w=5;fun;printf;fun ifO fun;printf;A5 4 3 2 l B

27、0 1 2 3 4 5C1 2 3 4 5 D5 4 3 2 1 010.以下所列的各函数首部中,正确的是_.Avoid playBvoid playCvoid playDSub play11.当调用函数时,实参是一个数组名,则向函数传送的是_.A数组的长度B数组的首地址C数组每一个元素的地址D数组每个元素中的值12.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_.A地址传递B单向值传递C由实参传给形,再由形参传回实参D传递方式由用户指定13.以下函数值的类型是_.fun float y;y=3*x-4;return y;Aint B不确定Cvoid Dfloat二、 读

28、程序写结果1 fun1 int c; a+=a; b+=b; c=fun2; return c*c; fun2 int c; c=a*b%3; return c; main int x=11,y=19; printfThe final result is:%dn,fun1; 2 int x;main x=5; cude; printf; cude x=x*x*x; 3 #include long fun long s;if s=2;else s=n+fun;return s; main printf%ldn,fun; 4 main int i;fori=0;i add; add int x=0

29、;static int y=0;printf;x+; y=y+2; 5 main int k=4,m=1,p;p=func; printf;p=func; printf; func static int m=0,i=2;i+=m+1; m=i+a+b;return m; 6. int t cp=x*x+y*y;dp=x*x-y*y; main int a=4,b=3,c=5,d=6;t;printf;7. funz=x*x+y*y;mainint a=31;fun;printf;8. int a,b;void fun a=100;b=200; main int a=5,b=7;fun;prin

30、tf;9. int x=3;mainint i;fori=1;iincre;increstatic intx=1;x*=x+l;printf;10.int func return; mainint x=2,y=5,z=8,r;r=funcfunc,z;printf;11. long fib if2returnfib+fib;else return;main printfldn,fib;第六单元 函数一、 选择题1. A 2. A 3. A 4. B 5. D 6. B 7. B 8.C 9.B 10.C 11.B 12.B 13 .A二、 读程序写结果1 The final result is:4 2 1253 94 0,00,25 8, 176 5 67 318 579 2 610 1511.4编程练习:1. 计算 n!,计算s=1!+2!+3!+10!2.二维数组,输出其主、次对角线上元素和;二维数组中值最大的元素,与其所在行列,利用一位数组对任意十个正整数进行升序排序3.输出100200之间的所有素数.4.求所有三位的水仙花数,如153=13+53+33 ,百钱买百鸡问题,100元买100只鸡,其中公鸡每只3元,母鸡每只1元,小鸡三只一元,试问买得公鸡、母鸡和小鸡各多少只?5.求s=1-2+3-4+99-100的和并输出.19 / 19

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!