C语言程序设计期末考试题库.pdf
《C语言程序设计期末考试题库.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计期末考试题库.pdf(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计期末考试题库一、单项选择题1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为()A.连接、编译 B.连接、运行C.编译、运行 D.编译、连接2 .下列说法正确的是()A.一个c 语言程序并非总是从主函数位置开始执行的B.一个c 语言程序有且只有一个主函数C.函数可以嵌套定义,不可以嵌套调用D.程序函数的位置不可以任意3.下面是合法C语言标识符的是()A.2 A_ K;B._ M+N:C.-M 3;D.AC _ 2;4.下列格式符中,可以用于控制字符输出的是()A.%dB.%fC.%oD.%c5.设x、y、z 和 k都是in t型变量,则执行表达式x=(y=
2、4,z=16,k=3 0)后,x 的值是()A.4;B.16;C.3 0;D.50;6 .执行语句 fo r(i=l,s=0;i b)&(n=cd)后,n的 值 为()A 1 B 0 C 3 D 42 5.以下程序段运行后i的 值 为()oin t i=0,c=l;switch(c)case 1:i+=2;case 2:i+=1;br eak;defaul t:i+=4;)A 3 B 7 C 1 D 42 6 .若有以下定义及语句,则对数组a 元素正确引用表达式是()in t a3 4 ;in t(*p)4 =a;A p+1B *(p+2)C *(p+2)l D *(*p+l)2 7.以下程序
3、的输出结果为()om ain()char sl 4 0 二 co un tr y”,s2 2 0=side;in t i=0,j=0;whil e(sl i !=0*)i+;whil e(s2 j !=0)sii+=s2 j+;sl i=0;p r in tf(s n ,si);)A side B co un tr y C sidetr y D co un tr yside2 8.有如下函数调用语句:sum(r l,r 2+r 3,(r 4,r 5);则含有的实参个数是()。A 3 B 5 C 4 D有语法错2 9 .有如下函数:in t f(in t a)auto in t b=0;stat
4、ic in t c=3;b=b+1;c=c+l;r etur n (a+b+c);)如果有in t i,j;,则执行两次调用i=f(3);j 二 f(3)后,i,j 值 为()A 7,7 B 7,8 C 8,9 D 8,73 0.设 有 说 明 in t(*p tr)();其中标识符p tr 是()。A 是一个指向整形变量的指针 B是一个指针,它指向一个函数值是in t的函数C是一个函数名 D定义不合法3 1.常数的书写格式决定了常数的类型和值,0 x1011是()A.8 进制整型常量 B.字符常量C.16 进 制 整 型 常 数 D.2进制整型常数3 2.执行下列程序后,a 值为:()in
5、t a,b;a=15;b=12;a=(a=b+)?a%5:a/5;(A)0(B)2.8(C)4 (D)23 3 .在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()(A)地址传递(B)单向的值传递(0 由实参传给形参,再由形参传给实参(D)传递方式由用户指定34.有如下程序段int*p,a,b=l;p=&a;*p=1 0;a=*p+b;执行该程序段后,a的 值 为()(A)1 2(B)1 1 (C)1 0 (D)编译出错35.已 知 c ha r 和 int类型分别占1和 2 个字节,则 siz eof(y y)的返回值应为:()u nionc ha r a l;int a
6、 2;int a 3;y y;(A)2(B)4(C)5(D)定义有错36 .设 j 为 int型变量,下 列 for 循环语句的执行结果是()for(j=1 0;j3;j)if(j%3)j;j;-j;p r intf(K%dw,j);(A)6 3(B)7 4(C)6 2(D)7 4 137 .宏定义#define p(x,y,z)x=y*z;的宏替换p(a,x+5,y 3.1)”应为()A.a=x+5*y 3.1 B.a=(x+5)*(y 3.1);C.a=x+5*y 3.1 D.a=(x+5)*(y 3.1)38.下列各语句定义了数组,其中一个不正确的是()A.sta tic int a 5
7、,b 2 3;B.c ha r no 30 ,r ec 30,6 ;C.int x 2,4,6,8,1 0 ;D.int x 1 0 =l,2,3,4,5);39、以下是合法的C语句的是()A)a=l B)p r intf(hel l o);C)a=int(i);D)i+j+;40.一个C程序由若干个C函数组成,各个函数在文件中的书写位置为()(A)任 意 (B)第一个函数必须是主函数,其他函数任意(0必须完全按调用顺序排列(D)其他函数必须在前,主函数必须在最后4 1.以下选项中合法的字符常量是()A.B B.0 1 0 C.6 8D.D42.若有以下定义,则表达式的值为3的 是()int
8、k=7,x=1 2;A.x%=(k%=5)C.x%=k-k%5B.x%=(k-k%5)D.(x%=k)-(x%=5)43.若已定义x和y为dou b l e类型,则表达式x=l,y=x+3/2的 值 是()A.1C.2.044.判断字符变量c的值为瓣()A.O =c =9 C.O =c|c =9 B.2D.2.5(O9)腿回1,否则返回0,可用表达式B.D.0 =c&c=c=O)int n=9;w hil e(n6)n一;p r intf(a%d,n);)A.9 8 7C.8 7 6 5B.D.8 7 69 8 7 646.若有以下的定义及语句,则对数组元素正确引用的表达式是(int a 5
9、4;)int(*p)4=a;A.p+1C.*(p+l)+2B.*(p+3)D.*(*(p+3)+2)47.有如下函数,调用f(“1 234”)的返回值为(int f(c ha r *s))int k=0;w hil e(*s)k=k*1 0+*s+-O ;r etu r n k;A.“1 234”C.“4321”B.1 234D.432148.对于以下程序段,运行后i的值为(enu m WE E K 1,2,3,4,5,6,7 ;)enu m WE E K a=l;int i=0;sw itc h(a)c a se 1:i=2;c a se 2:i=3;defa u l t:i=4;A.2 B
10、.0C.3D.449 .执行下列程序后变量i的值应为()define TA(x,y)(x)*y)int i=3:i=TA(i,i+l)+2;A.1 5 B.1 0C.1 2 D.1 450 .变量a所占内存字节数是()u nion 1)c ha r st 4;int i;l ong 1;;str u c t A int c;u nion U u;a;A.4 B.5C.6D.851.下列字符串不是标识符的是()su m52.B.A v er a ge C.D a y _ night在C语言中,回车换行将是()D.M.D.JOH N n B.t C.v D.b5 3.在C语言中,语句和数据定义是用
11、()作为结束标记的A.句号 B.逗号 C.分号 D.括号54.设有如下定义:int x=1 0,y=5,z;则语句 p r intf(d n,z=(x+=y,x/y);的输出结果是()A.0 B.1 C.3 D.455.以下程序的输出结果是()ma in()char cl=a,c2=A ;printf(%c,%c,%d,%dn”,cl,c2,cl,c2);A.因输出格式不合法,输出出错信息B.a,A,97,65 C.65,97,A,a D.a,A,a,A5 6.完成C 源文件编辑后经过编译、连接,生成文件扩展名为()的可执行文件。A.c B.exeC.ob j D.txt57.下列运算符优先级
12、最高的是()A.B.+C.&D.!=58.一个C 程序的执行是从()A.本程序中的main函数开始,到 main函数结束B.本程序中的第一个函数开始,到本程序中的最后一个函数结束C.本程序中的main函数开始,到本程序中的最后一个函数结束D.本程序中的第一个函数开始,到本程序中的main函数结束59.以下叙述中正确的是()A.构成C 程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main。函数必须放在其它函数之前D.所有被调用的函数一定要在调用之前进行定义60.设 a 和 b 均为double型常量,且a=5.0、b=2.0,则表达式(int)(a/b)的值是()A.2.5 B.2
13、.000000 C.2.500000 D.261.取模运算符“犷不能用于哪一种类型的运算()A.X=10%3 B.X=6%3 C.X=1O24%1 D.X=6.28%3.1412.下列对变量的定义哪个正确()A.int x,int y;B.char si,s2 C.float a,b;D.char if;63.字符串“HELLO!”的长度是多少?在内存中占用多少单元数?()A.长度为6,占6 个单元 B.长度为6,占7 个单元C.长度为7,占7 个单元 D.长度为7,占6 个单元64.下列错误的赋值语句是()A.X=Y+=1;B.X=3*4;C.X=F -A D.X=2*(+I);65.如 果
14、:a=5;b=6;那 么:a=b&(a+5)=(b-3)和 ab|a!=b 的值各是多少()A.0,0 B.0,1 C.1,0 D.1,1以 下()是 C 语言提供的合法数据类型关键字A)F loat B)ChAR C)Intger D)unsigned以下选项中合法的字符常量是()A)B B)010 C)68 D)D设 正 x、y 均为整型变量,且 x=10,y=3,则以下语句的输出结果是()printf(w%d,%dnM,x,-y);A)10,2 B)9,3 C)9,2 D)10,3下列字符串不是标识符的是()A.Y EAR B.Average C.stUDENT D.7 num6 6.以
15、下选项中合法的字符常量是()A.B B.0 1 0 C.6 8 D.D6 7.若有以下定义,则表达式的值为3的 是()in t k=7,x=1 2;A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5 D.(x%=k)-(x%=5)6 8.若已定义x 和 y 为 doub le类型,则表达式x=l,y=x+3/2 的 值 是()A.1B.2C.2.0 D.2.56 9.判断字符变量c 的值为数字O -9 )腿 回 1,否则返回0,可用表达式()A.O =c=9 B.O =c&c=9 C.O =c|c=c=O 7 0 .有如下程序,该程序的执行结果是()ma in ()(in t
16、n=9;while(n 6)n 一;prin tf(%d ,n);)A.9 8 7 B.8 7 6C.8 7 6 5 D.9 8 7 67 1 .若有以下的定义及语句,则对数组元素正确引用的表达式是()in t a 5 4 ;in t(*p)4 =a;A.p+1 B.*(p+3)C.*(p+l)+2 D.*(*(p+3)+2)7 2 .有如下函数,调用f(“1 2 3 4”)的返回值为()in t f(cha r*s)in t k=0;while(*s)k=k*1 0+*s+-O ;return k;)A.“1 2 3 4”B.1 2 3 4C.”4 3 2 1”D.4 3 2 17 3 .对
17、于以下程序段,运行后i 的值为()en um W E E K (1,2,3,4,5,6,7);en um W E E K a=l;in t i=0;switch(a)ca se 1:i=2;ca se 2:i=3;defa ult:i=4;)A.2 B.0C.3 D.47 4 .执行下列程序后变量i 的值应为()B defin e T A(x,y)(x)*y)in t i=3;i=T A(i,i+l)+2;A.1 5 B.1 0C.1 2 D.1 47 5 .变量a 所占内存字节数是()un ion U cha r st 4 ;in t i;lon g 1;;struct A in t c;u
18、n ion U u;a;A.4B.5C.6D.87 6 .以下程序的输出结果是()ma in ()in t a=3;prin tf(%d n ,(a+=a-=a*a);)A)-6 B)1 2 C)0 D)-1 27 7 .下列说法错误的是()A.一个c 语言程序总是从主函数位置开始执行的B.一个c 语言程序有且只有一个主函数C.函数可以嵌套定义,不可以嵌套调用D.程序函数的位置可以任意7 8 .在C语言中,语句和数据定义是用()作为结束标记的A.分号 B.逗号 C.句号 D.括号79.语 句“x*=y+2;”与 下 列()语句结果一样A.x=x*y+2;B.x=2+x*y;C.x=x*(y+2
19、);D.x=y+2*x;80.下列各语句中,能够且仅输出整型变量a、b 中最大值的是()A.if(ab)printf(/z%d nH,a);printf(M%d n/,b);B.printf(%d n,b);if(ab)printf(刎 n,a);C.if(ab)printf(%d n,a);else printf(%d n,b);D.if(a b)printf(/z%d n,z,a);printf(z/%d n/z,b);81.以下程序的输出结果是()main()int x=4,y=2,z;printf(%dn,z=(x-=y,x/y);A.0 B.1 C.2 D.382.以下不能正确定义二
20、维数组的选项是()A)int a2=2:B)int a2=l,2,3,4,5,6;C)int a 2=1,2,3;D)int a2=l,2,3,4);83.判断字符变量c 的值为数字(O ,9,)则返回1,否则返回0,可用表达式:()(A)O =c&c=9(B)O =c=9(C)O =c|I c3;j)if(j%3)j;j;-j;printf(%d,j);(A)4(B)4 0(C)死 循 环(D)4 185.已知char和 int类型分别占1 和 2 个字节,则 sizeof(yy)的返回值应为:()union(char al;int a2;int a3;yy;(A)2(B)4(C)5(D)定
21、义有错86.以下程序的运行结果是()#define MIN(x,y)(x)(y)?(x):(y)main()int i=10,j=13,k;k=10*MIN(i,j);prin tf(%d n ,k);A )1 0 B )1 3 0 C)1 0 0 D)1 38 7 .下列字符序列中,不合法的C语言标识符的是()。A.a b cl2 3 B.n o.1 C.1 2 3 _ D.ok8 8 .以下说法中正确的是()。A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在m a i n()函数中定义C.C语言程序总是从m a i n()函数开始执行D.C语言程序中的ma
22、 in ()函数必须放在程序的开始部分8 9 .设以下变量均为in t类型,则值不等于7的表达式是()oA.(m=n=6,m+n,m+1)B.(m=n=6,m+n,n+1)C.(m=6,m+1,n=6,m+n)D.(m=6,m+1,n=m,n+1)9 0 .当调用函数时,实参是一个数组名,则向函数传送的是()oA.数组的长度 B.数组的首地址C.数组每一个元素的地址 D.数组每个元素中的值9 1 .下列程序运行的情况是()oma in()in t i=l,sum=0;while(i 1 0)sum=sum+l,i+;prin tf(i=%d,sum=%d”,i,sum);)A.i=2,sum=
23、l B.i=9,sum=9 C.i=1 0,sum=9 D.运行出现错误92.设x、y和z都 是in t类型变量,0的表达式是()oA.x&yC.x|y+z&y-z且x=3,y=4,z=5,则下面的表达式中,值为B.x=yD.!(x y)&!z|1)93.以 下 程 序 的 输 出 结 果 是()oma in()in t n=4;while(n-)prin tf C%d ,-n);)A.2 0 B.3 1 C.3 2 1D.2 1 09 4.以下对一维整型数组a正确定义的是()0A.in t a(1 0);B.in t n=1 0,a n ;C.in t n;D.ttdefin e S I Z
24、 E 1 0sca n f(d”,&n);in t a S I Z E ;in t a n ;9 5 .若定义如下变量和数组:in t i;in t x 3 3 =1,2,3,4,5,6,7,8,9;则下面语句的输出结果是()ofor(i=0;i 3;i+)prin tf(,z%d ,x i 2-i);A.1 5 9 B.1 4 7 C.3 5 7 D.3 6 99 6 .有 下 列 程 序 输 出 结 果 是()ottin clude ma in()un ion in t k;cha r i;*s,a;s=&a;s-i 0 =0 x3 9;s-i l=0 x3 8;prin tf(%x n
25、,s-k);)A.3 9 3 8 B.3 8 3 9C.3 8 0 0 3 9D.3 9 0 0 3 89 7 .完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为()A.连接、编译 B.编译、连接C.连接、运行 D.运行9 8 .下列说法错误的是()A.一个c 语言程序总是从主函数位置开始执行的B.一个c 语言程序有且只有一个主函数C.函数可以嵌套定义,不可以嵌套调用D.程序函数的位置可以任意9 9.C 语 句“x*=y+2;”还可以写作()A.x=x*y+2;B.x=2+y*x;C.x=x*(y+2);D.x=y+2*x;100.下列格式符中,可以用于控制输出十进制整数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 期末考试 题库
限制150内