【计算机类职业资格】二级C语言笔试选择题-4及答案解析.doc
《【计算机类职业资格】二级C语言笔试选择题-4及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试选择题-4及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试选择题-4 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是_。A+x,y=x- Bx+1=y Cx=x+10=x+y Ddouble(x)/10(分数:2.50)A.B.C.D.2.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是_。Ax=y=5; Bx=n%2.5; Cx+n=i; Dx=5=4+1;(分数:2.50)A.B.C.D.3.若变量已正确定义为 int 型,要通过语句scanf(“%d,%d,%d“,a,b,c);给 a 赋值 1、
2、给 b 赋值 2、给 c 赋值 3,以下输入形式中错误的是(注:代表一个空格符)_。A123回车 B1,2,3回车C1,2,3回车 D1,2,3回车(分数:2.50)A.B.C.D.4.设变量均已正确定义,若要通过scanf(“%d%c%d%c“,a1,c1,a2,c2);语句为变量 a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正确的是(注:代表空格字符)_。A10X回车20Y回车B10X20Y回车C10X回车20Y回车D10X20Y回车(分数:2.50)A.B.C.D.5.有如下程序段:int x=12;double y=3.141
3、593;printf(“%d%8.6f“,x,y);其输出结果是_。A123.141593 B123.141593 C12,3.141593 D123.1415930(分数:2.50)A.B.C.D.6.若有定义:int a,b;通过语句scanf(“%d;%d“,a,b);能把整数 3 赋给变量 a,5 赋给变量 b 的输入数据是_。A3;5 B3,5 C3 5 D35(分数:2.50)A.B.C.D.7.若有定义int a;float b;double c;程序运行时输入:3 4 5回车能把值 3 输入给变量 a、4 输入给变量 b、5 输入给变量 a 的语句是_。Ascanf(“%d%f
4、%lf“,a,b,c); Bscanf(“%d%lf%lf“,a,b,c);Cscanf(“%d%f%f“,a,b,c); Dscanf(“%lf%lf%If“,a,b,c);(分数:2.50)A.B.C.D.8.以下叙述中正确的是_。A赋值语句是一种执行语句,必须放在函数的可执行部分Bscanf 和 printf 是 C 语言提供的输入和输出语句C由 printf 输出的数据都隐含左对齐D由 printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的(分数:2.50)A.B.C.D.9.以下叙述中正确的是_。A在 scanf 函数的格式串中,必须有与输入项一一对应的格式转
5、换说明符B只能在 printf 函数中指定输入数据的宽度,而不能在 scanf 函数中指定输入数据占的宽度Cscanf 函数中的字符串是提示程序员的,输入数据时不必管它D复合语句也被称为语句块,它至少要包含两条语句(分数:2.50)A.B.C.D.10.有以下程序#includestdio.hmain()int a=2,c=5;printf(“a=%d,b=%d/n“,a,c);程序的输出结果是_。Aa=%d,b=%d Ba=%2,b=%5 Ca=2,b=5 Da=%d,b=%d(分数:2.50)A.B.C.D.11.有以下程序#includestdio.hmain()int a1,a2;ch
6、ar c1,c2;scanf(“%d%c%d%c“,a1,c1,a2,c2);printf(“%d,%c,%d,%c“,a1,c1,a2,c2);若想通过键盘输入,使得 a1 的值为 12,a2 的值为 34,c1 的值为字符 a,c2 的值为字符 b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,CR代表回车)_。A12a34bCR B12a34bCRC12,a,34,bCR D12a34bCR(分数:2.50)A.B.C.D.12.有以下程序段#includestdio.hint a,b,c;a=10;b=50;c=30;if(ab)a=b,b=c;c=a;prin
7、tf(“a=%d b=%d c=%d/n“,a,b,c);程序的输出结果是_。Aa=10 b=50 c=10 Ba=10 b=50 c=30 Ca=10 b=30 c=10 Da=50 b=30 c=50(分数:2.50)A.B.C.D.13.有以下程序#includestdio.hmain()char a,b,c,d;scanf(“%c%c“,a,b);c=getchar();d=getchar();printf(“%c%c%c%c/n“,a,b,c,d)当执行程序时,按下列方式输入数据(从第 1 列开始,CR代表回车,注意:回车也是一个字符)12CR34CR则输出结果是_。A123B12C
8、1234D1234(分数:2.50)A.B.C.D.14.若变量已正确定义,在 if(W)printf(“%d/n“,k);中,以下不可替代 W 的是_。Aab+c Bch=getchar() Ca=b+c Da+(分数:2.50)A.B.C.D.15.以下叙述中正确的是_。A关系运算符两边的运算对象可以是 C 语言中任意合法的表达式B在 C 语言中,逻辑真值和假值分别对应 1 和 0C对于浮点变量 x 和 y,表达式:x=y 是非法的,会出编译错误D分支结构是根据算术表达式的结果来判断流程走向的(分数:2.50)A.B.C.D.16.设有定义:int a=1,b=2,c=3;以下语句中执行效
9、果与其它三个不同的是_。Aif(ab)c=a;a=b;b=c; Bif(ab)c=a,a=b,b=c;Cif(ab)c=a,a=b,b=c; Dif(ab)c=a;a=b;b;c;(分数:2.50)A.B.C.D.17.if 语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是_。A可以是任意合法的数值 B必须是整数值C必须是正数 D必须是逻辑值(分数:2.50)A.B.C.D.18.若有以下程序#includestdio.hmain()int a=1,b=2,c=3,d=4;if(a=2)|(b=1)c=2;if(c=3)(d=-1)a=5;printf(“%d,%d,
10、%d,%d/n“,a,b,c,d);则程序的输出结果是_。A2,2,2,4 B2,1,2,-1 C5,1,2,-1 D1,2,3,4(分数:2.50)A.B.C.D.19.若有以下程序#includestdio.hmain()int a=1,b=2,c=3,d=4;if(a=2)(b=1)c=2;if(c=3)|(d=-1)a=5;printf(“%d,%d,%d,%d/n“,a,b,c,d);则程序的输出结果是_。A5,1,2,-1 B2,1,2,-1 C2,2,2,4 D1,2,3,4(分数:2.50)A.B.C.D.20.有以下程序#includestdio.hmain()int a=0
11、,b=0,c=0,d=0;if(a=1)b=1;c=2;else d=3;printf(“%d,%d,%d,%d/n“,a,b,c,d);程序输出_。A编译有错 B0,0,0,3 C1,1,2,0 D0,1,2,0(分数:2.50)A.B.C.D.21.有以下计算公式:(分数:2.50)A.B.C.D.22.下列条件语句中,输出结果与其他语句不同的是_。Aif(a=0)printf(“%d/n“,x); else printf(“%d/n“,y);Bif(a=0)printf(“%d/n“,y); else printf(“%d/n“,x);Cif(a!=0)printf(“%d/n“,x);
12、 else printf(“%d/n“,y);Dif(a)printf(“%d/n“,x); else printf(“%d/n“,y);(分数:2.50)A.B.C.D.23.有以下程序#includestdio.hmain()int x=1,y=0;if(!x)y+;else if(x=0)if(x)y+=2;else y+=3;printf(“%d/n“,y);程序运行后的输出结果是_。A0 B2 C1 D3(分数:2.50)A.B.C.D.24.有以下程序#includestdio.hmain()int x:scanf(“%d“,x);if(x=3);elseif(x!=10)prin
13、tf(“%d/n“,x);程序运行时,输入的值在哪个范围才会有输出结果?_。A大于 3 且不等 10 的整数 B不等于 10 的整数C大于 3 或等于 10 的整数 D小于 3 的整数(分数:2.50)A.B.C.D.25.有如下嵌套的 if 语句if(ab)if(ac)k=a;else k=c;elseif(bc)k=b;else k=c;以下选项中与上述 if 语句等价的语句是_。Ak=(ab)?(ac)?a:c):(bc)?h:c); Bk=(ab)?(bc)?a:b):(hc)?b:c);Ck=(ab)?a:b;k=(bc)?b:c; Dk=(ab)?a:h:k=(ac)?a:c;(分
14、数:2.50)A.B.C.D.26.若有定义 int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。A(x-y0|x-y0) B(x-y0) C(x-y0) D(x-y=0)(分数:2.50)A.B.C.D.27.以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是_。Aif(ab)(hc)k=1;else k=0;Bif(ab)|(bc)k=1;else k=0;Cif(a=b)k=0;else if(b=c)k=1;Dif(ab)k=1;else if(bc)k=1;else k=0;(分数:2.50)A.B
15、.C.D.28.有以下程序#includestdio.hmain()int x;for(x=3;x6;x+)printf(x%2)?(“*%d“):(“#%d“),x);printf(“/n“);程序的输出结果是_。A*3#4*5 B#3*4#5 C*3*4#5 D*3#4#5(分数:2.50)A.B.C.D.29.有以下程序#includestdio.hmain()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
16、(“a=%d,b=%d/n“,a,b);程序的运行结果是_。Aa=2,b=1 Ba=2,b=2 Ca=1,b=1 Da=1,b=0(分数:2.50)A.B.C.D.30.若有定义:float x=1.5;int a=1,b=3,c=2;则正确的 switch 语句是_。Aswitch(a+b)case 1:printf(“*/n“);case 2+1:printf(“*/n“);Bswitch(int)x);case 1: printf(“*/n“);case 2: printf(“*/n“);Cswitch(x)case 1.0:printf(“*/n“);case 2.0:printf(“
17、*/n);Dswitch(a+b)case 1: printf(“*/n“);case c: printf(“*/n“);(分数:2.50)A.B.C.D.31.有以下程序#includestdio.hmain()int s;scanf(“%d“,s);while(s0)switch(s)case 1:pfinttf(“%d“,s+5);case 2:prinft(“%d“,s+4);break;case 3:prinft(“%d“,s+3);default: printf(“%d“,s+1);break;scanf(“%d“,s);运行时,若输入 1 2 3 4 5 0回车,则输出结果是_。
18、A6566456 B66656 C66666 D6666656(分数:2.50)A.B.C.D.32.有以下程序段int i,n;for(i=0;i8;i+)n=rand()%5;switch(n)case 1:case 3:printf(“%d/n“,n);break;case 2:case 4:printf(“%d/n“,n);continue;case 0:exit(0);printf(“%d/n“,n);以下关于程序段执行情况的叙述,正确的是_。A当产生的随机数 n 为 0 时结束程序运行B当产生的随机数 n 为 4 时结束循环操作C当产生的随机数 n 为 1 和 2 时不做任何操作D
19、for 循环语句固定执行 8 次(分数:2.50)A.B.C.D.33.若有以下程序#includestdio.hmain()int s=0,n;for(n=0;n4;n+)switch(n)default:s+=4;case 1:s+=1;break;case 2:s+=2;break;case 3:s+=3;printf(“%d/n“,s);则程序的输出结果是_。A11 B10 C13 D15(分数:2.50)A.B.C.D.34.有以下程序#includestdio.hmain()int a=2,3,5,4,i;for(i=0;i4;i+)switch(i%2)case 0:switeh
20、(ai%2)case 0:ai+;break;case 1:ai-;break;case 1:ai=0;for(i=0;i4;i+)printf(“%d“,ai);printf(“/n“);程序运行后的输出结果是_。A3040 B2050 C3344 D0304(分数:2.50)A.B.C.D.35.在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是_。A(E=0) B(E0|E0) C(!E=0) D(E!=0)(分数:2.50)A.B.C.D.36.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,以下正确的程序段是_。Awhile(c
21、h=getchar()!=N)printf(“%c“,ch);Bwhile(ch=getchar()=N)printf(“%c“,ch);Cwhile(ch=getchar()=N)pfintf(“%c“,ch);Dwhile(ch=getchar()=N)printf(“%c“,ch);(分数:2.50)A.B.C.D.37.对于 while(!E)s;,若要执行循环体 s,则 E 的取值应为_。AE 等于 0 BE 不等于 0 CE 不等于 1 DE 等于 1(分数:2.50)A.B.C.D.38.关于“while(条件表达式)循环体”,以下叙述正确的是_。A条件表达式的执行次数总是比循环
22、体的执行次数多一次B循环体的执行次数总是比条件表达式的执行次数多一次C条件表达式的执行次数与循环体的执行次数一样D条件表达式的执行次数与循环体的执行次数无关(分数:2.50)A.B.C.D.39.以下不构成无限循环的语句或语句组是_。An=0;do+n;while(n=0);Bn=0;while(1)n+;Cn=10;while(n);n-;Dfor(n=0,i=1;i+)n+=i;(分数:2.50)A.B.C.D.40.有以下程序#includestdio.hmain()int k=5;while(-k)printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。A1
23、 B2 C4 D死循环(分数:2.50)A.B.C.D.二级 C 语言笔试选择题-4 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是_。A+x,y=x- Bx+1=y Cx=x+10=x+y Ddouble(x)/10(分数:2.50)A. B.C.D.解析:解析 x+1 和 x+10 不能做左值,B 和 C 错误;类型转换需要用括号括起类型名,所以 D 错误。2.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是_。Ax=y=5; Bx=n%2.5; Cx+n=i;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 选择题 答案 解析 DOC
