C语言期末复习题.pdf
《C语言期末复习题.pdf》由会员分享,可在线阅读,更多相关《C语言期末复习题.pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 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 程序中,%是只能用于整数运
2、算的运算符 5 以下不正确的 C 语言标识符是 D 。A.ABC B.abc C.a_bc D.ab.c 6 下列字符串是标识符的是:A 。A._HJ B.9_student C.long D.LINE 1 7 以下说法中正确的是:C 。A.C 语言程序总是从第一个定义的函数开始执行 B.在 C 语言程序中,要调用的函数必须放在 main()函数中定义 C.C 语言程序总是从 main()函数开始执行 D.C 语言程序中的 main()函数必须放在程序的开始部分 8 不合法的常量是:D 。A.2 B.C.3 D.483 9 已知各变量的类型说明如下,则以下不符合 C 语言语法的表达式是:A 。
3、int k,a,b;unsigned long w=5;double x=1.422;A.x%(-3)B.w+=-2 C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)10 在 C 语言中,字符型数据在内存中以 D 形式存放。A.原码 B.BCD 码 C.反码 D.ASCII 码 11 若有定义:int a=7;float x=2.5;y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是:A 。A.2.500000 B.2.750000 C.3.500000 D.0.000000 12 设有说明:char w;int x;float y;double z
4、;2 则表达式 w*x+z-y 值的数据类型为:D 。A.float B.char C.int D.double 13 以下 BC 是不正确的转义字符。A.B.C.081 D.0 14 若 x 为 int 型变量,则执行以下语句后,x 的值为 B 。x=6;x+=x-=x*x;A.36 B.-60 C.60 D.-24 15 字符串ABC的长度是 B 。A.11 B.7 C.5 D.3 二、填空题 1 一个函数由两部分组成,它们是 和 。2 一个 C 源程序至少包含一个 ,即 。3 设 int a=12;则表达式 a/=a+a 的值是 。4 表达式 x=(a=3,6*a)和表达式 x=a=3,
5、6*a 分别是 表达式和 表达式,两个表达式执行完的结果分别是 和 ,x 值分别是 和 。5 在 C 语言中,实数有两种表示形式,即 和 。6 在 C 语言中,运算符的优先级最小的是 运算符。7 在 C 语言中,变量在使用前应先 ,再 。第一单元 程序设计和 C 语言 一、选择题 1.A 2.B 3.C 4.C 5.D 6.A 7.C 8.D 9.A 10.D 11.A 12.D 13.BC 14.B 15.B 二、填空 1 函数首部、函数体 2 主函数、main 函数 3 0 4 赋值、逗号、18、18、18、3 5 浮点型、指数型 6 赋值 7 定义,使用 3 第二单元 顺序程序设计 一、
6、选择题 1 若 m 为 float 型变量,则执行以下语句后的输出为 C 。m=1234.123;printf(%-8.3fn,m);printf(%10.3fn,m);A.1234.123 B.1234.123 C.1234.123 D.-1234.123 1234.123 1234.123 1234.123 001234.123 2 若 x,y,z 均为 int 型变量,则执行以下语句后的输出为 A 。x=(y=(z=10)+5)-5;printf(x=%d,y=%d,z=%dn,x,y,z);y=(z=x=0,x+10);printf(x=%d,y=%d,z=%dn,x,y,z);A.X
7、=10,Y=15,Z=10 B.X=10,Y=10,Z=10 X=0,Y=10,Z=0 X=0,Y=10,Z=10 C.X=10,Y=15,Z=10 D.X=10,Y=10,Z=10 X=10,Y=10,Z=0 X=0,Y=10,Z=0 3 若 x 是 int 型变量,y 是 float 型变量,所用的 scanf 调用语句格式为:scanf(x=%d,y=%f,&x,&y);则为了将数据 10 和 66.6 分别赋给 x 和 y,正确的输入应是:A 。A.x=10,y=66.6 B.10 66.6 C.1066.6 D.x=10y=66.6 4 已知有变量定义:int a;char c;用
8、scanf(“%d%c”,&a,&c);语句给 a 和 c 输入数据,使 30 存入 a,字符b存入 c,则正确的输入是:D 。A.30b B.30 b C.30b D.30b 5 已知有变量定义:double x;long a;要给 a 和 x 输入数据,正确的输入语句是 。若要输出 a 和 x 的值,正确的输出 C。A.scanf(“%d%f”,&a,&x);B.scanf(“%ld%f”,&a,&x);printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x);C.scanf(“%ld%lf”,&a,&x);D.scanf(“%ld%lf”,&a,&x);print
9、f(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x);6 若有定义 double x=1,y;则以下的语句执行的结果是 C 。y=x+3/2;printf(“%f”,y);A.2.500000 B.2.5 C.2.000000 D.2 7 若 a 为整型变量,则以下语句 C 。4 a=-2L;printf(%dn,a);A.赋值不合法 B.输出为不确定的值 C.输出值为-2 D.输出值为 2 二、读程序写结果 1 main()int x,y;scanf(%2d%*2d%ld,&x,&y);printf(%dn,x+y);执行时输入:1234567 2 main()int
10、x=4,y=0,z;x*=3+2;printf(%d,x);x*=y=z=4;printf(%d,x);3 main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%d,x,i);4 main()int a=2;a%=4-1;printf(%d,a);a+=a*=a-=a*=3;printf(%d,a);5 main()int x=02,y=3;printf(x=%d,y=%d,x,y);6 main()char c1=6,c2=0;printf(%c,%c,%d,%dn,c1,c2,c1-c2,c1+c2);7 main()int x,y,z;x=y
11、=1;z=+x-1;printf(%d,%dn,x,z);5 z+=y+;printf(%d,%dn,y,z);三、填空题 1 在 C 语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以 输出,也能以 输出。2%-ms表示如果串长小于 m,则在 m 列范围内,字符串向 靠,补空格。3 printf 函数的“格式控制”包括两部分,它们是 和 。4 函数的递归调用是指 。函数的返回值通过函数中的 语句获得。5 Break 语句只能用于 语句和 语句中。6 Strlen(“hello”)=。7 第二单元 顺序程序设计 一、选择题 1.CA A D C CC 二、读程序写结果 1 17 2
12、2080 3 X=3.600000,i=3 4 2,0 5 X=2,y=%d 6 6,0,6,102 7 2,1 2,2 三、填空 1 字符 整数 2 左 右 3 格式说明 普通字符 4 在函数中直接或间接的调用自己,return 5 Switch,循环 6 5 6 第三单元 分支程序设计 一、选择题 1 若 x=0,y=3,z=3,以下表达式值为 0 的是 。A.!x B.xy?1:0 C.x%2&y=z D.y=x|z/3 2 以下运算符中优先级最低的运算符为 ,优先级最高的为 。A.&B.!C.!=D.|E.?:F.=3 若 w=1,x=2,y=3,z=4,则条件表达式 wx?w:y10
13、?x+100:x-10);printf(%dn,w+|z+);printf(%dn,!wz);printf(%dn,w&z);A.0 B.1 C.0 D.0 1 1 1 1 1 1 0 0 1 1 1 0 5 分析以下程序,下列说法正确的是 。main()int x=5,a=0,b=0;if(x=a+b)printf(*n);else printf(#n);A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出*D.输出#6 分析以下程序,下列说法正确的是 。main()int x=5,a=0,b=3;if(x=a+b)printf(*n);else printf(#n);A.有语法错
14、,不能通过编译 B.通过编译,但不能连接 C.输出*D.输出#7 分析以下程序,下列说法正确的是 。main()7 int x=0,a=0,b=0;if(x=a+b)printf(*n);else printf(#n);A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出*D.输出#8 分析以下程序,下列说法正确的是 。main()int x=0,a=0,b=0;if(x=a+b)printf(*n);else printf(#n);A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出*D.输出#二、读程序写结果 1 include main()int a=-1,b=4,k
15、;k=(a+=0)&(!(b-=z=x)?1:0);printf(%d,z=y&y=x);4 main()int x=1,y=1,z=10;if(z0)x=3;8 else x=5;printf(%dt,x);if(z=y0)x=3;else if(y=0)x=5;else x=7;printf(%dt,x);printf(%dt,z);5 main()char x=B;switch(x)case A:printf(“It is A.”);case B:printf(“It is B.”);case C:printf(“It is C.”);default:printf(“other.”);6
16、 main()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;printf(a=%d,b=%dn,a,b);第三单元 分支程序设计 一、选择题 1.C、EB、D、C、D、C、D、C 二、读程序写结果 1 1,0,3 2 200 3 01 4 1 7 0 5 It is B.It is C.other.9 6 a=2,b=1 第四单元 循环程序设计 一、选择题 1 程序段如下:则以下说法中正确的是:。int k=5;do k-;
17、while(k=0);A.循环执行 5 次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 2 设 i 和 x 都是 int 类型,则 for 循环语句 。for(i=0,x=0;i=9&x!=876;i+)scanf(%d,&x);A.最多执行 10 次 B.最多执行 9 次 C.是无限循环 D.循环体一次也不执行 3 下述 for 循环语句 。int i,k;for(i=0,k=-1;k=1;i+,k+)printf(*);A.判断循环结束的条件非法 B.是无限循环 C.只循环一次 D.一次也不循环 4 程序段如下:则以下说法中正确的是:。int k=-20;whi
18、le(k=0)k=k+1;A.while 循环执行 20 次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 5 下列程序段执行后 k 值为 。int k=0,i,j;for(i=0;i5;i+)for(j=0;j3;j+)k=k+1;A.15 B.3 C.5 D.8 6 程序段如下:则以下说法中不正确的是:。#include main()int k=2,;while(k7)10 if(k%2)k=k+3;printf(“k=%dn”,k);continue;k=k+1;printf(“k=%dn”,k);A.k=k+3;执行一次 B.k=k+1;执行 2 次 C.执行
19、后 k 值为 7 D.循环体只执行一次 二、读程序写结果 1 main()int num=0;while(num=2)num+;printf(%dn,num);2 main()int i=0,s=0;do s+=i*2+1;printf(i=%d,s=%dn,i,s);i+;while(s10);3#include main()int i,m=1;for(i=5;i=1;i-)m=(m+1)*2;printf(m=%dn,m);4 指出下面三个程序的功能,当输入为:quert?时,它们的执行结果是什么?#include main()char c;c=getchar();while(c!=?)p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习题
限制150内