【计算机类职业资格】二级C语言-169及答案解析.doc

上传人:hopesteam270 文档编号:1324936 上传时间:2019-10-17 格式:DOC 页数:20 大小:107KB
下载 相关 举报
【计算机类职业资格】二级C语言-169及答案解析.doc_第1页
第1页 / 共20页
【计算机类职业资格】二级C语言-169及答案解析.doc_第2页
第2页 / 共20页
【计算机类职业资格】二级C语言-169及答案解析.doc_第3页
第3页 / 共20页
【计算机类职业资格】二级C语言-169及答案解析.doc_第4页
第4页 / 共20页
【计算机类职业资格】二级C语言-169及答案解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、二级 C 语言-169 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:45,分数:100.00)1.下面程序的输出结果是_。 #includestdio.h main() int i; for(i=1;i=10;i+) if(i*i=20) printf(“%d/n“,i*i);(分数:2.00)A.49B.36C.25D.642.若执行下面的程序时,从键盘上输入 1 和 2,则输出结果是_。 #includestdio.h main() int a,b,s; scanf(“%d%d“, s=a; if(ab)s=b; s=s*s; printf(“%d/n“,s)

2、;(分数:2.00)A.1B.4C.2D.93.以下程序的运行结果是_。 main() int a=-5,b=1,c=1; int x=0,y=2,z=0; if(c0)x=x+y; if(a=0) if(b0) if(c=0)y=x*y; else if(c0)y=x-y; else z=y; printf(“%d,%d,%d/n“,x,y,z);(分数:2.00)A.2,2,0B.2,2,2C.0,2,0D.2,0,24.有以下程序: #includestdio.h main() int i,s=0; for(i=1;i10;i+) if(!(i%2) pfintf(“%d/n“,s);

3、程序的输出结果是_。(分数:2.00)A.4B.39C.45D.65.以下程序的运行结果是_。 #includestdio.h main() int a=0,b=4,c=0,d=10,x; if(a)d=d-10; else if(!b)if(!c)x=15; else x=25; printf(“%d/n“,d);)(分数:2.00)A.5B.3C.20D.106.若有条件表达式(exp)?a-:b+,则以下表达式和表达式(exp)完全等价的是_。(分数:2.00)A.(exp!=1)B.(exp!=0)C.(exp=1)D.(exp=0)7.若变量已正确定义,以下表达式错误的是_。(分数:

4、2.00)A.a/b+cB.a%(5.0)C.a=1/3*(x=y=10,x*2D.a=b=c8.以下程序的输出结果是_。 #includestdio.h main() int a=4,b=3,c=2,d=1; printf(“%d“,ab?a:dc?d:b);(分数:2.00)A.1B.3C.2D.49.若 w、x、y、z、m 均为 int 型变量,则执行下面的语句后 m 的值是_。 w=2,x=3,y=4,z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?m:y;(分数:2.00)A.2B.3C.5D.410.执行以下程序段后,变量 a、b、c 的值分别是_。 int x=

5、5,y=4; int a,b,c; a=(-x=y+)?x:+y; b=+x;c=y;(分数:2.00)A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,b=6,c=5D.a=1,b=5,c=611.若 a=3,b=4,c=5,d=6,则条件表达式 ab?a:cd?c:d 的值是_。(分数:2.00)A.4B.3C.2D.112.执行下面程序中的输出语句后,a 的值是_。 main() int a; printf(“%d/n“,(a=2*3,a*5,a+7);)(分数:2.00)A.17B.37C.6fD.1313.与 y=(x0?2:x0?1:0);的功能相同的 if 语句是_

6、。 A B C D (分数:2.00)A.B.C.D.14.下列程序的输出结果是_。 #includestdio.h void main() int a=0,b=1,c=2; if(+a0|+b0)+c; pfintf(“%d,%d,%d“,a,b,c); (分数:2.00)A.0,1,2B.1,2,3C.1,1,3D.1,2,215.以下 if 语句书写正确的是_。 A B C D (分数:2.00)A.B.C.D.16.运行下列程序时,若输入数据“321”,则输出结果是_。 main() int hum,i,j,k,s; scanf(“%d“, if(num99)s=3; else if(

7、num9)s=2; else s=1; i=num/100; j=(num-i*100)/10; k=(num-i*100-j*10); switch(s) case 3:printf(“%d%d%d/n“,k,j,i);break; case 2:printf(“%d%d%d/n“,k,j)break; case 1:pfintf(“%d/n“,k)break;(分数:2.00)A.123B.1,2,3C.321D.3,2,117.当 a=1,b=2,c=3,d=4 时,执行下面程序段后,x 的值是_。 if(ab) if(cd)x=1; else if(ac) if(bd)x=2; els

8、e x=3; else x=6; else x=7;(分数:2.00)A.1B.2C.3D.618.请阅读以下程序: #includestdio.h 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; printf(“a=%d,b=%d/n“,a,b); 上面程序的输出结果是_。(分数:2.00)A.a=2,b=1B.a=1,b=0C.a=1,b=1D.a=2,b=219.以下程序的输出结果是_。 #includestdio.h

9、 main() int a=8,b=6,m=1; switch(a%4) case 0:m+;break; case 1:m+; switch(b%3) default:m+; case 0:m+;break; printf(“%d/m“,m);(分数:2.00)A.1B.2C.3D.420.运行下面程序时,从键盘输入字母 A,则输出结果是_。 #includestdio.h main() char ch; ch=getchar(); switch(ch) case“A“:printf(“AAAA/n“); case“B“:printf(“BBBB/n“); default:printf(“C

10、CCC/n“); A B C D (分数:2.00)A.B.C.D.21.有以下程序: #includestdio.h main() int a=6,b=7,m=1; switch(a%2) case 0:m+;break; case 1:m+; switch(b%2) default:m+; case0:m+;break; printf(“%d/n“,m);) 程序运行后的输出结果是_。(分数:2.00)A.1B.2C.3D.422.下列关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:2.00)A.只能是整数 0 或 1B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.可

11、以是任意合法的表达式23.若 a=3,b=4,c=5,d=6,则条件表达式 ab?a:cd?c:d 的值是_。(分数:2.00)A.4B.3C.2D.124.若有定义 int x,y;并已正确给变量赋值,则下列选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。(分数:2.00)A.(x-y0)B.(x-y0)C.(x-y0|x-y0)D.(x-y=0)25.当把 4 个表达式用作 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是_。(分数:2.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=126.为了避免在嵌套的条件语句

12、 if.else 中产生二义性,C 语言规定:else 子句总是与_配对。(分数:2.50)A.缩排位置相同 ifB.前面最近的 ifC.其他后面后最近的 ifD.前面最近未配对的 if27.以下能正确表示 x 在-55 范围(含-5 和 5)内,值为“真”的表达式是_。(分数:2.50)A.(x=-5)else retum(b,a); 在 main 函数中若调用函数 f(2,3),得到的返回值是_。(分数:2.50)A.2B.3C.2 和 3D.3 和 229.两次运行下面的程序,如果从键盘上分别输入 3 和 2,则输出结果是_。 #includestdio.h main() int x;

13、scanf(“%d“, if(x+2)printf(“%d“,x); else printf(“%d/n“,x-);(分数:2.50)A.4 和 3B.4 和 2C.4 和 1D.3 和 230.当 a=3,b=5,c=9,d=7 时,执行下面的程序段后,x 的值为_。 if(ab) if(ed)x=4; else if(ac) if(bd)x=6; else x=8; else x=9; else x=14;(分数:2.50)A.9B.6C.14D.431.若 i、j 已定义成 int 型,则以下程序段中内循环体的总执行次数是_。 for(i=6;i0;i-) for(j=0;j4;j+)(

14、分数:2.50)A.20B.24C.25D.3032.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是_。(分数:2.50)A.(c=2)|(c=4)|(c=6)B.(c=2 main() printf(“%d/n“,fun(4,2); 程序的运行结果是_。(分数:2.50)A.1B.2C.3D.434.下列程序的运行结果是_。 #includestdio.h main() int a=2,b=3,c=4; if(ab) if(b0)c=0; else c+=1; printf(“%d/n“,c);(分数:2.50)A.2B.3C.5D.435.执行下述程序时,若从键盘输入 6 和

15、 8,结果为_。 main() int a,b,s; scanf(“%d%d“, s=a; if(s=b)s*=s; printf(“%d“,s);(分数:2.50)A.36B.64C.48D.以上都不对36.当 a=4,b=5,c=7,d=6 时,执行下面一段程序: if(ab) if(cd)x=1; else if(ac) if(bc)x=2; else x=3; else x=4; else x=5; 程序执行后,x 的值为_。(分数:2.50)A.1B.2C.3D.437.以下语句段执行后的输出结果是_。 #includestdio.h main() int k=3; if(k) pr

16、intf(“#“) else printf(“(分数:2.50)A.#B.B.if(xyC.if(xy)xelse y+;D.if(y0);else x+;39.以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式为_。(分数:2.50)A.x%2=1B.x/2C.x%2=0D.x%2=040.若 x、i、j 和 k 都是 int 型变量,则计算表达式 x=(i=4,j=16,k=32)后,x 的值为_。(分数:2.50)A.4B.16C.32D.5241.以下 4 个选项,不能看做一条语句的是_。(分数:2.50)A.;)B.int x=0,y=1,z=0;C.if(!a);D.if

17、(b=0)m=1;n-2;42.设 a 和 b 均为 int 型变量,且 a=6,b=11,c=3,则能使值为 3 的表达式是_。(分数:2.50)A.b%(c%4)B.b%(c-a%5)C.b%a-a%5D.(b%a)-(a%4)43.当 a=6,b=14,c=8,d=4 时,执行下面程序段后,x 的值是_。 if(ab) if(cd)x=4 else if(ac) if(bd)x=6; else x=8; else x=14; else x=27;(分数:2.50)A.8B.6C.4D.2744.若有定义:float x=1.5; int a=1,b=3,c=2;,则正确的 switch

18、语句是_。 A B C D (分数:2.50)A.B.C.D.45.语句“pfintf(“a/bhow“are“y/bou/n“);”的输出结果是_。(分数:2.50)A.a/bhow“are“y/bouB.a/bhow“are“y/bouC.how“are“youD.ahow“are“y/bou二级 C 语言-169 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:45,分数:100.00)1.下面程序的输出结果是_。 #includestdio.h main() int i; for(i=1;i=10;i+) if(i*i=20) printf(“%d/n“,i*i

19、);(分数:2.00)A.49B.36C.25 D.64解析:2.若执行下面的程序时,从键盘上输入 1 和 2,则输出结果是_。 #includestdio.h main() int a,b,s; scanf(“%d%d“, s=a; if(ab)s=b; s=s*s; printf(“%d/n“,s);(分数:2.00)A.1B.4 C.2D.9解析:3.以下程序的运行结果是_。 main() int a=-5,b=1,c=1; int x=0,y=2,z=0; if(c0)x=x+y; if(a=0) if(b0) if(c=0)y=x*y; else if(c0)y=x-y; else

20、z=y; printf(“%d,%d,%d/n“,x,y,z);(分数:2.00)A.2,2,0 B.2,2,2C.0,2,0D.2,0,2解析:4.有以下程序: #includestdio.h main() int i,s=0; for(i=1;i10;i+) if(!(i%2) pfintf(“%d/n“,s); 程序的输出结果是_。(分数:2.00)A.4B.39C.45D.6 解析:5.以下程序的运行结果是_。 #includestdio.h main() int a=0,b=4,c=0,d=10,x; if(a)d=d-10; else if(!b)if(!c)x=15; else

21、x=25; printf(“%d/n“,d);)(分数:2.00)A.5B.3C.20D.10 解析:6.若有条件表达式(exp)?a-:b+,则以下表达式和表达式(exp)完全等价的是_。(分数:2.00)A.(exp!=1)B.(exp!=0) C.(exp=1)D.(exp=0)解析:7.若变量已正确定义,以下表达式错误的是_。(分数:2.00)A.a/b+cB.a%(5.0) C.a=1/3*(x=y=10,x*2D.a=b=c解析:8.以下程序的输出结果是_。 #includestdio.h main() int a=4,b=3,c=2,d=1; printf(“%d“,ab?a:d

22、c?d:b);(分数:2.00)A.1 B.3C.2D.4解析:9.若 w、x、y、z、m 均为 int 型变量,则执行下面的语句后 m 的值是_。 w=2,x=3,y=4,z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?m:y;(分数:2.00)A.2 B.3C.5D.4解析:10.执行以下程序段后,变量 a、b、c 的值分别是_。 int x=5,y=4; int a,b,c; a=(-x=y+)?x:+y; b=+x;c=y;(分数:2.00)A.a=5,b=5,c=5B.a=4,b=5,c=5 C.a=5,b=6,c=5D.a=1,b=5,c=6解析:11.若 a=3

23、,b=4,c=5,d=6,则条件表达式 ab?a:cd?c:d 的值是_。(分数:2.00)A.4B.3 C.2D.1解析:12.执行下面程序中的输出语句后,a 的值是_。 main() int a; printf(“%d/n“,(a=2*3,a*5,a+7);)(分数:2.00)A.17B.37C.6f D.13解析:13.与 y=(x0?2:x0?1:0);的功能相同的 if 语句是_。 A B C D (分数:2.00)A. B.C.D.解析:14.下列程序的输出结果是_。 #includestdio.h void main() int a=0,b=1,c=2; if(+a0|+b0)+

24、c; pfintf(“%d,%d,%d“,a,b,c); (分数:2.00)A.0,1,2B.1,2,3C.1,1,3 D.1,2,2解析:15.以下 if 语句书写正确的是_。 A B C D (分数:2.00)A.B. C.D.解析:16.运行下列程序时,若输入数据“321”,则输出结果是_。 main() int hum,i,j,k,s; scanf(“%d“, if(num99)s=3; else if(num9)s=2; else s=1; i=num/100; j=(num-i*100)/10; k=(num-i*100-j*10); switch(s) case 3:printf

25、(“%d%d%d/n“,k,j,i);break; case 2:printf(“%d%d%d/n“,k,j)break; case 1:pfintf(“%d/n“,k)break;(分数:2.00)A.123 B.1,2,3C.321D.3,2,1解析:17.当 a=1,b=2,c=3,d=4 时,执行下面程序段后,x 的值是_。 if(ab) if(cd)x=1; else if(ac) if(bd)x=2; else x=3; else x=6; else x=7;(分数:2.00)A.1 B.2C.3D.6解析:18.请阅读以下程序: #includestdio.h main() in

26、t 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; printf(“a=%d,b=%d/n“,a,b); 上面程序的输出结果是_。(分数:2.00)A.a=2,b=1 B.a=1,b=0C.a=1,b=1D.a=2,b=2解析:19.以下程序的输出结果是_。 #includestdio.h main() int a=8,b=6,m=1; switch(a%4) case 0:m+;break; case 1:m+; switch(b%3) def

27、ault:m+; case 0:m+;break; printf(“%d/m“,m);(分数:2.00)A.1B.2 C.3D.4解析:20.运行下面程序时,从键盘输入字母 A,则输出结果是_。 #includestdio.h main() char ch; ch=getchar(); switch(ch) case“A“:printf(“AAAA/n“); case“B“:printf(“BBBB/n“); default:printf(“CCCC/n“); A B C D (分数:2.00)A.B.C. D.解析:21.有以下程序: #includestdio.h main() int a

28、=6,b=7,m=1; switch(a%2) case 0:m+;break; case 1:m+; switch(b%2) default:m+; case0:m+;break; printf(“%d/n“,m);) 程序运行后的输出结果是_。(分数:2.00)A.1B.2 C.3D.4解析:22.下列关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:2.00)A.只能是整数 0 或 1B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.可以是任意合法的表达式 解析:23.若 a=3,b=4,c=5,d=6,则条件表达式 ab?a:cd?c:d 的值是_。(分数:2.00)

29、A.4B.3 C.2D.1解析:24.若有定义 int x,y;并已正确给变量赋值,则下列选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。(分数:2.00)A.(x-y0)B.(x-y0)C.(x-y0|x-y0)D.(x-y=0) 解析:25.当把 4 个表达式用作 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是_。(分数:2.00)A.k%2 B.k%2=1C.(k%2)!=0D.!k%2=1解析:26.为了避免在嵌套的条件语句 if.else 中产生二义性,C 语言规定:else 子句总是与_配对。(分数:2.50)A.缩排位置

30、相同 ifB.前面最近的 ifC.其他后面后最近的 ifD.前面最近未配对的 if 解析:27.以下能正确表示 x 在-55 范围(含-5 和 5)内,值为“真”的表达式是_。(分数:2.50)A.(x=-5)else retum(b,a); 在 main 函数中若调用函数 f(2,3),得到的返回值是_。(分数:2.50)A.2B.3 C.2 和 3D.3 和 2解析:29.两次运行下面的程序,如果从键盘上分别输入 3 和 2,则输出结果是_。 #includestdio.h main() int x; scanf(“%d“, if(x+2)printf(“%d“,x); else prin

31、tf(“%d/n“,x-);(分数:2.50)A.4 和 3 B.4 和 2C.4 和 1D.3 和 2解析:30.当 a=3,b=5,c=9,d=7 时,执行下面的程序段后,x 的值为_。 if(ab) if(ed)x=4; else if(ac) if(bd)x=6; else x=8; else x=9; else x=14;(分数:2.50)A.9B.6 C.14D.4解析:31.若 i、j 已定义成 int 型,则以下程序段中内循环体的总执行次数是_。 for(i=6;i0;i-) for(j=0;j4;j+)(分数:2.50)A.20B.24 C.25D.30解析:32.当变量 c

32、 的值不为 2、4、6 时,值也为“真”的表达式是_。(分数:2.50)A.(c=2)|(c=4)|(c=6)B.(c=2 main() printf(“%d/n“,fun(4,2); 程序的运行结果是_。(分数:2.50)A.1B.2 C.3D.4解析:34.下列程序的运行结果是_。 #includestdio.h main() int a=2,b=3,c=4; if(ab) if(b0)c=0; else c+=1; printf(“%d/n“,c);(分数:2.50)A.2B.3C.5 D.4解析:35.执行下述程序时,若从键盘输入 6 和 8,结果为_。 main() int a,b,

33、s; scanf(“%d%d“, s=a; if(s=b)s*=s; printf(“%d“,s);(分数:2.50)A.36B.64 C.48D.以上都不对解析:36.当 a=4,b=5,c=7,d=6 时,执行下面一段程序: if(ab) if(cd)x=1; else if(ac) if(bc)x=2; else x=3; else x=4; else x=5; 程序执行后,x 的值为_。(分数:2.50)A.1B.2 C.3D.4解析:37.以下语句段执行后的输出结果是_。 #includestdio.h main() int k=3; if(k) printf(“#“) else p

34、rintf(“(分数:2.50)A.#B.B.if(xyC.if(xy)xelse y+; D.if(y0);else x+;解析:39.以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式为_。(分数:2.50)A.x%2=1B.x/2C.x%2=0D.x%2=0 解析:40.若 x、i、j 和 k 都是 int 型变量,则计算表达式 x=(i=4,j=16,k=32)后,x 的值为_。(分数:2.50)A.4B.16C.32 D.52解析:41.以下 4 个选项,不能看做一条语句的是_。(分数:2.50)A.;)B.int x=0,y=1,z=0;C.if(!a);D.if(b=0

35、)m=1;n-2; 解析:42.设 a 和 b 均为 int 型变量,且 a=6,b=11,c=3,则能使值为 3 的表达式是_。(分数:2.50)A.b%(c%4)B.b%(c-a%5)C.b%a-a%5D.(b%a)-(a%4) 解析:43.当 a=6,b=14,c=8,d=4 时,执行下面程序段后,x 的值是_。 if(ab) if(cd)x=4 else if(ac) if(bd)x=6; else x=8; else x=14; else x=27;(分数:2.50)A.8 B.6C.4D.27解析:44.若有定义:float x=1.5; int a=1,b=3,c=2;,则正确的 switch 语句是_。 A B C D (分数:2.50)A.B.C. D.解析:45.语句“pfintf(“a/bhow“are“y/bou/n“);”的输出结果是_。(分数:2.50)A.a/bhow“are“y/bouB.a/bhow“are“y/bouC.how“are“you D.ahow“are“y/bou解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1