【计算机类职业资格】二级C语言-266及答案解析.doc
《【计算机类职业资格】二级C语言-266及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-266及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-266 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:46,分数:100.00)1.有以下程序 #includestdio.h main() int a=3; printf(“%d/n“, (a+=a-=a*a); 程序运行后的输出结果是_。(分数:3.00)A.-12B.9C.0D.32.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是_。(分数:3.00)A.x+1=yB.+x, y=x-C.x=x+10=x+yD.double(x)/103.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是_。(分数:3.00)A.x=
2、y=5;B.x=n%2.5;C.x+n=i;D.x=5=4+1;4.若变量已正确定义为 int 型,要通过语句 scanf(“%d, %d, %d“, 给 a 赋值 1、给 b 赋值 2、给 c 赋值 3,以下输入形式中错误的是(注:代表一个空格符)_。(分数:3.00)A.1, 2, 3回车B.1, 2, 3回车C.1, 2, 3回车D.123回车5.设变量均已正确定义,若要通过 scanf(“%d%c%d%c“, 语句为变量 a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正确的是(注:代表空格字符)_。(分数:3.00)A.10X回
3、车20Y回车B.10X20Y回车C.10X回车20Y回车D.10X20Y回车6.有如下程序段: int x=12; double y=3.141593; printf(“%d%8.6f“, x, y); 其输出结果是_。(分数:3.00)A.12,3.141593B.12 3.141593C.123.141593D.123.14159307.若有定义: int a, b; 通过语句 scanf(“%d; %d“, 能把整数 3 赋给变量 a,5 赋给变量 b 的输入数据是_。(分数:3.00)A.3,5B.3;5C.3 5D.358.若有定义 int a; float b; double c;
4、 程序运行时输入: 3 4 5回车 能把值 3 输入给变量 a、4 输入给变量 b、5 输入给变量 c 的语句是_。(分数:3.00)A.scanf(“%lf%lf%lf“, B.scanf(“%d%lf%lf“, C.scanf(“%d%f%f“, D.scanf(“%d%f%lf“, 9.以下叙述中正确的是_。(分数:2.00)A.赋值语句是一种执行语句,必须放在函数的可执行部分B.scanf 和 printf 是 C 语言提供的输入和输出语句C.由 printf 输出的数据都隐含左对齐D.由 printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的10.以下叙述中正
5、确的是_。(分数:2.00)A.在 scanf 函数的格式串中,必须有与输入项一一对应的格式转换说明符B.只能在 printf 函数中指定输入数据的宽度,而不能在 scanf 函数中指定输入数据占的宽度C.scanf 函数中的字符串是提示程序员的,输入数据时不必管它D.复合语句也被称为语句块,它至少要包含两条语句11.有以下程序 #includestdio.h main() int a=2, c=5; printf(“a=%d, b=%d/n“, a, c); 程序的输出结果是_。(分数:2.00)A.a=2, b=5B.a=%2, b=%5C.a=%d, b=%dD.a=%d, b=%d12
6、.有以下程序 #includestdio.h main() int a1, a2; char c1, c2; scanf(“%d%c%d%c“, printf(“%d, %c, %d, %c“, a1, c1, a2, c2); 若想通过键盘输入,使得 a1 的值为 12,a2 的值为 34,c1 的值为字符 a,c2 的值为字符 b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,CR代表回车)_。(分数:2.00)A.12a34bCRB.12a34bCRC.12, a, 34, bCRD.12a34bCR13.有以下程序段 #includestdio.h int a,
7、 b, c; a=10; b=50; c=30; if(ab)a=b, b=c; c=a; printf(“a=%d b=%d c=%d/n“, a, b, c); 程序的输出结果是_。(分数:2.00)A.a=10 b=50 c=30B.a=10 b=50 c=10C.a=10 b=30 c=10D.a=50 b=30 c=5014.有以下程序 #includestdio.h main() char a, b, c, d; scanf(“%c%c“, c=getchar(); d=getchar(); printf(“%c%c%c%c/n“, a, b, c, d); 当执行程序时,按下列方
8、式输入数据(从第 1 列开始,CR代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是_。(分数:2.00)A.123B.12C.1234D.123415.若变量已正确定义,在 if(W)printf(“%d/n“, k);中,以下不可替代 W 的是_。(分数:2.00)A.ch=getchar()B.ab+cC.a=b+cD.a+16.以下叙述中正确的是_。(分数:2.00)A.分支结构是根据算术表达式的结果来判断流程走向的B.在 C 语言中,逻辑真值和假值分别对应 1 和 0C.对于浮点变量 x 和 y,表达式:x=y 是非法的,会出编译错误D.关系运算符两边的运算对象可以
9、是 C 语言中任意合法的表达式17.设有定义: int a=1, b=2, c=3; 以下语句中执行效果与其它三个不同的是_。(分数:2.00)A.if(ab)c=a; a=b; b=c;B.if(ab)c=a, a=b, b=c;C.if(ab)c=a, a=b, b=c;D.if(ab)c=a; a=b; b=c;18.if 语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是_。(分数:2.00)A.必须是正数B.必须是整数值C.可以是任意合法的数值D.必须是逻辑值19.若有以下程序 #includestdio.h main() int a=1, b=2, c=3,
10、 d=4; if(a=2)|(b=1)c=2; if(c=3) printf(“%d, %d, %d, %d/n“, a, b, c, d); 则程序的输出结果是_。(分数:2.00)A.2, 2, 2, 4B.2, 1, 2, -1C.5, 1, 2, -1D.1, 2, 3, 420.若有以下程序 #includestdio.h main() int a=1, b=2, c=3, d=4; if(a=2) if(c=3)|(d=-1)a=5; printf(“%d, %d, %d, %d/n“, a, b, c, d); 则程序的输出结果是_。(分数:2.00)A.5, 1, 2, -1B
11、.2, 1, 2, -1C.2, 2, 2, 4D.1, 2, 3, 421.有以下程序 #includestdio.h main() int a=0, 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); 程序输出_。(分数:2.00)A.0, 0, 0, 3B.编译有错C.1, 1, 2, 0D.0, 1, 2, 022.有以下计算公式: (分数:2.00)A.y=sqrt(x);if(x0)y=sqrt(-x);B.if(x=0)y=sqrt(x);else y=sqrt(-x)
12、;C.if(x=0) y=sqrt(x);if(x0)y=sqrt(-x);D.y=sqrt(x=0?x:-x);23.下列条件语句中,输出结果与其他语句不同的是_。(分数:2.00)A.if(a)printf(“%d/n“, x); else printf(“%d/n“, y);B.if(a=0)printf(“%d/n“, y); else printf(“%d/n“, x);C.if(a!=0)printf(“%d/n“, x); else printf(“%d/n“, y);D.if(a=0)printf(“%d/n“, x); else printf(“%d/n“, y);24.有以
13、下程序 #ineludestdio.h main() int x=1, y=0; if(!x)y+; else if (x=0) if(x)y+=2; else y+=3; printf(“%d/n“, y); 程序运行后的输出结果是_。(分数:2.00)A.0B.2C.1D.325.有以下程序 #includestdio.h main() int x; scanf(“%d“, if(x=3); else if(x!=10)printf(“%d/n“, x); 程序运行时,输入的值在哪个范围才会有输出结果?_。(分数:2.00)A.大于 3 或等于 10 的整数B.不等于 10 的整数C.大于
14、 3 且不等 10 的整数D.小于 3 的整数26.有如下嵌套的 if 语句 if(ab) if(ac) k=a; else k=c; else if(bc) k=b; else k=c; 以下选项中与上述 if 语句等价的语句是_。(分数:2.00)A.k=(ab)?(ac)?a:c):(bc)?b:c);B.k=(ab)?(bc)?a:b):(bc)?b:c);C.k=(ab)?a:b; k=(bc)?b:c;D.k=(ab)?a:b; k=(ac)?a:c;27.若有定义 int x, y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价
15、的是_。(分数:2.00)A.(x-y=0)B.(x-y0)C.(x-y0)D.(x-y0|x-y0)28.以下程序段中,与语句: k=ab?(bc?1:0):0; 功能相同的是_。(分数:2.00)A.if(ab)else k=0;B.if(ab)|(bc)k=1;else k=0;C.if(a=b) k=0;else if(b=c)k=1;D.if(ab)k=1;else if(bc)k=1;else k=0;29.有以下程序 #includestdio.h main() int x; for(x=3; x6; x+) printf(x%2)?(“*%d“):(“*%d“), x); pr
16、intf(“/n“); 程序的输出结果是_。(分数:2.00)A.*3#4*5B.#3*4#5C.*3*4#5D.*3#4#530.有以下程序 #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; case 3:a+; b+; printf(“a=%d, b=%d/n“, a, b); 程序的运行结果是_。(分数:2.00)A.a=2, b=1B.a=2, b=2C.a=1, b=1D
17、.a=1, b=031.若有定义: float x=1.5; int a=1, b=3, c=2; 则正确的 switch 语句是_。(分数:2.00)A.switch(a+b) case 1:printf(“*/n“);case c:printf(“*/n“);B.switch(int)x);case 1:printf(“*/n“);case 2:printf(“*/n“);C.switch(x)case 1.0:printf(“*/n“);case 2.0:printf(“*/n“);D.switch(a+b)case 1:printf(“*/n“);case 2+1:printf(“*/
18、n“);32.有以下程序 #includestdio.h main() int s; scanf(“%d“, while(s0) switch(s) case 1:printf(“%d“, s+5); case 2:printf(“%d“, s+4); break; case 3:printf(“%d“, s+3); default:printf(“%d“, s+1); break; scanf(“%d“, 运行时,若输入 1 2 3 4 5 0回车,则输出结果是_。(分数:2.00)A.6566456B.66656C.66666D.666665633.有以下程序段 int i, n; for
19、(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); 以下关于程序段执行情况的叙述,正确的是_。(分数:2.00)A.当产生的随机数 n 为 4 时结束循环操作B.当产生的随机数 n 为 0 时结束程序运行C.当产生的随机数 n 为 1 和 2 时不做任何操作D.for 循环语句固定执行 8 次34.若有以下程序 #includestdio
20、.h main() 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); 则程序的输出结果是_。(分数:2.00)A.13B.10C.11D.1535.有以下程序 #includestdio.h main() int a=2, 3, 5, 4, i; for(i=0; i4; i+) switch(i%2) case 0:switch(ai%2) case 0:ai+; break; case 1:a
21、i-; break; case 1:ai=0; for(i=0; i4; i+)printf(“%d“, ai); printf(“/n“); 程序运行后的输出结果是_。(分数:2.00)A.3 0 4 0B.2 0 5 0C.3 3 4 4D.0 3 0 436.在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是_。(分数:2.00)A.(!E=0)B.(E0|E0)C.(E=0)D.(E!=0)37.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,以下正确的程序段是_。(分数:2.00)A.while(ch=getchar()!=“N
22、“)printf(“%c“, ch);B.while(ch=getchar()=“N“)printf(“%c“, ch);C.while(ch=getchar()=“N“)printf(“%c“, ch);D.while(ch=getchar()=“N“)printf(“%c“, ch);38.对于 while(!E)s;,若要执行循环体 s,则 E 的取值应为_。(分数:2.00)A.E 等于 1B.E 不等于 0C.E 不等于 1D.E 等于 039.关于“while(条件表达式)循环体”,以下叙述正确的是_。(分数:2.00)A.循环体的执行次数总是比条件表达式的执行次数多一次B.条件表
23、达式的执行次数总是比循环体的执行次数多一次C.条件表达式的执行次数与循环体的执行次数一样D.条件表达式的执行次数与循环体的执行次数无关40.以下不构成无限循环的语句或语句组是_。(分数:2.00)A.n=0;do+n;)while(n=0);B.n=0;while(1)n+;C.n=10;while(n); n-;D.for(n=0, i=1;i+)n+=i;41.有以下程序 #includestdio.h main() int k=5; while(-k)printf(“%d“, k-=3); printf(“/n“); 执行后的输出结果是_。(分数:2.00)A.1B.2C.4D.死循环4
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 266 答案 解析 DOC
