【计算机类职业资格】二级C语言-循环结构、数组(一)及答案解析.doc
《【计算机类职业资格】二级C语言-循环结构、数组(一)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-循环结构、数组(一)及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-循环结构、数组(一)及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:100.00)1.在下列选项中,没有构成死循环的是_。 A. int i=100; while(1) i=i % 100+1; if(i100) break; B. for(;) C. int k=10000; dok+;while(k10000); D. int s=36; while(s) -s;(分数:2.50)A.B.C.D.2.以下程序的输出结果是_。int n=10;while(n7) n-;printf(“% d#“, n); A.10 9 8 B.9
2、8 7 C.10 9 8 7 D.9 8 7 6(分数:2.50)A.B.C.D.3.有以下程序:#include stdio.hmain() int i=5;do if(i % 3=1)if(i % 5=2) printf(“* % d“, i); breaki+; while(i !=0);printf(“/n“);程序的运行结果是_。 A.*7 B.*3*5 C.*5 D.*2*6(分数:2.50)A.B.C.D.4.若变量已正确定义,有以下程序段:i=0;do printf(“% d,“, i); while(i+);printf(“% d/n“, i);其输出结果是_。 A.0,0
3、B.0,1 C.1,1 D.程序进入无限循环(分数:2.50)A.B.C.D.5.以下叙述正确的是_。 A.do.while 语句构成的循环不能用其他语句构成的循环代替 B.只有 do.while 语句构成的循环能用 break 语句退出 C.用 do.while 语句构成循环时,在 while 后的表达式为零时不一定结束循环 D.用 do.while 语句构成循环时,在 while 后的表达式为零时结束循环(分数:2.50)A.B.C.D.6.有以下程序:#include stdio.hmain() int y=9;for(; y0; y-)if(y % 3=0) printf(“% d“,
4、 -y);程序的运行结果是_。 A.7 4 1 B.9 6 3 C.8 5 2 D.8 7 5 4 2 1(分数:2.50)A.B.C.D.7.以下程序的输出结果是_。#include stdio.hmain() int i, sum;for(i=1; i6; i+)sum+=sum;printf(“% d/n“, sum); A.15 B.14 C.不确定 D.0(分数:2.50)A.B.C.D.8.若 x 是 int 型变量,以下程序的输出结果是_。for (x=3; x6; x+)printf(x% 2)? (“* * % d/n“):(“ #% d/n“), x); A. * *3#4
5、* *5 B.#3* *4#5 C. #3 * *4 #5 D. * *3 #4 * *5(分数:2.50)A.B.C.D.9.设 i 和 x 都是 int 类型,则以下 for 循环语句_。for(i=0, x=0; i=9 i+) scanf(“% d“, x); A.最多执行 10 次 B.最多执行 9 次 C.是无限循环 D.循环体一次也不执行(分数:2.50)A.B.C.D.10.以下 for 循环语句_。int i, k ;for(i=0, k=-1; k=1; i+, k+)printf(“* * *“); A.判断循环结束的条件非法 B.是无限循环 C.只循环一次 D.一次也不
6、循环(分数:2.50)A.B.C.D.11.以下是计算 n!值的程序,空格处应选_。#include stdio.hmain() int i, s, n;s=1;printf(“Enter n:“);scanf(“% d“, for(i=1; i=n; i+)_;printf(“s=% d“, s); A.s=s*i B.s*i C.s=s+i D.s+i(分数:2.50)A.B.C.D.12.以下程序的输出结果是_。#include stdio.hmain() int x, i;for(i=1; i=100; i+) x=i;if(+x% 2=0)if(+x% 3=0)if(+x% 7=0)
7、printf(“% d“, x);printf(“/n“); A.3981 B.4284 C.2668 D.2870(分数:2.50)A.B.C.D.13.以下程序的输出结果是_。#include stdio.hmain() int k=0, m=0;int i, j;for(i=0; i2; i+) for(j=0; j3; j+)k+;k-=j;m=i+j;printf(“k=% d, m=% d“, k, m); A.k=0, m=3 B.k=0, m=5 C.k=1, m=3 D.k=1, m=5(分数:2.50)A.B.C.D.14.以下程序的功能是:按顺序读入 10 名学生 4 门
8、课程的成绩,计算出每位学生的平均分并输出,程序如下:#include stdio.hmain() int n, k;float score, sum, ave;sum=0.0;for(n=1; n=10; n+) for(k=1; k=4; k+) scanf(“% f“, sum+=score;ave=sum/4.0;printf(“NO% d:% f/n“, n, ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是_。 A.sum=0.0; B.sum+=score; C.ave=sum/4.0; D.printf(“NO% d:% f/ n“,
9、n, ave);(分数:2.50)A.B.C.D.15.以下程序的输出结果是_。int i, j, m=0;for(i=1; i=15; i+=4)for(j=3; j=19; j+=4)m+;printf(“% d/n“, m); A.12 B.15 C.20 D.25(分数:2.50)A.B.C.D.16.在以下程序中,判断 ij 共执行了_次。#include stdio.hmain() int i=0, j=10, k=2, s=0;for(;) i+=k;if(ij) printf(“% d“, s);break;s+=i; A.4 B.7 C.5 D.6(分数:2.50)A.B.C
10、.D.17.以下程序的输出结果是_。#include stdio.hmain() int i;for(i=1; i=5; i+) if(i% 2) putchar();else continue;putchar ();putchar (#); A. # B. # C. # D. #(分数:2.50)A.B.C.D.18.以下程序的输出结果是_。#include stdio.hmain() int y=10;for(;y0; y-)if(y% 3=0) printf(“% d“, -y);continue; A.741 B.852 C.963 D.8754321(分数:2.50)A.B.C.D.
11、19.在 while(x)语句中的 x 与下面条件表达式等价的是_。 A.x=0 B.x=1 C.x!=1 D.x!=0(分数:2.50)A.B.C.D.20.以下程序的输出结果是_。#include stdio.hmain() int k, j, m;for (k=5; k=1; k-) m=0;for (j=k; j=5; j+)m=m+k*j;printf(“% d/n“, m); A.124 B.25 C.36 D.15(分数:2.50)A.B.C.D.21.以下程序的输出结果是_。#include stdio.hmain() int x=10, y=10, i;for (i=0; x
12、8; y=+i)printf(“% d % d“, x-, y); A.10 1 9 2 B.9 8 7 6 C.10 9 9 0 D.10 10 9 1(分数:2.50)A.B.C.D.22.以下程序的输出结果是_。a=1; b=2; c=2;while(abc) t=a; a=b; b=t; c-;printf(“% d, % d, % d“, a, b, c); A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1(分数:2.50)A.B.C.D.23.以下 for 循环体的执行次数是_。#include stdio.hmain() int i, j;for(i=0, j=i;
13、 i=j+1; i+ =2, j-)printf(“% d/n“, i); A.3 B.2 C.1 D.0(分数:2.50)A.B.C.D.24.有以下程序:#include stdio.hmain() int n=9;while(n6) n- ; printf(“% d“, n);该程序段的输出结果是_。 A.987 B.876 C.8765 D.9876(分数:2.50)A.B.C.D.25.有以下程序段:int k=0;while(k=)k+;while 循环执行的次数是_。 A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行一次(分数:2.50)A.B.C.D.26.以下程
14、序中,while 循环的循环次数是_。#include stdio.hmain() int i=0;while(i10) if(i1) continue;if(i=5) break;i+;. A.1 B.10 C.6 D.死循环,不能确定次数(分数:2.50)A.B.C.D.27.以下程序的输出结果是_。#include stdio.hmain() int i=0, a=0;while(i20) for(;) if(i% 10)=0)break;else i-;i+=11; a+=i;printf(“% d/n“, a); A.21 B.32 C.33 D.11(分数:2.50)A.B.C.D
15、.28.语句 while(!E);中的条件!E 等价于_。 A.E=0 B.E!=1 C.E!=0 D.E(分数:2.50)A.B.C.D.29.以下的 for 循环_。for(x=0, y=0; (y!=123) x+); A.是无限循环 B.循环次数不定 C.循环执行 4 次 D.循环执行 3 次(分数:2.50)A.B.C.D.30.执行以下程序段的结果是_。int x=23;do printf(“% d“, x-);while(!x); A.打印出 321 B.打印出 23 C.不打印任何内容 D.陷入死循环(分数:2.50)A.B.C.D.31.下面程序有错误的行是_。main()
16、int a3=i;int i;scanf(“% d“, for(i=1; i3; i+) a0=a0+ai;printf(“a0=% d/n“, a0); A.3 B.6 C.7 D.4(分数:2.50)A.B.C.D.32.若有定义:int a10;,则对数组 a 元素的正确引用是_。 A.a10 B.a3.5 C.a(5) D.a10-10(分数:2.50)A.B.C.D.33.现有以下程序段:#include stdio.hmain() int k30=12, 324, 45, 6, 768, 98,21, 34, 453, 456;int count=0, i=0;while(ki)
17、if(ki % 2=0|ki % 5=0) count+;i+ printf(“% d, % d/n“, count, i); 则程序段的输出结果是_。 A.7,8 B.8,8 C.7,10 D.8,10(分数:2.50)A.B.C.D.34.以下选项中,合法的数组说明语句是_。 A.int a=“string“; B.int a5=0,1,2,3,4,5; C.char a=“string“; D.char a=0,1,2,3,4,5;(分数:2.50)A.B.C.D.35.已知 int 类型的变量占 4 个字节,现有以下程序段:#include stdio.hmain() int a=1,
18、2,3,4,5;printf(“% d“, sizeof(a);则程序段的输出结果是_。 A.5 B.10 C.15 D.20(分数:2.50)A.B.C.D.36.若有以下语句,则正确的描述是_。char x=“12345“;char y=i,2,3,4,5; A.x 数组和 y 数组的长度相同 B.x 数组长度大于 y 数组长度 C.x 数组长度小于 y 数组长度 D.x 数组等价于 Y 数组(分数:2.50)A.B.C.D.37.有以下程序,最后输出的值为_。main() int a44 =1,4,3,2), 8 6,5,7, 3,7,2,5, 4,8,6,1, i, j, k, t;f
19、or(i=0; i4; i+)for(j=0; j3; j+)for(k=j+i; k4; k+if(ajiaki) t=aji; aji=aki; aki=t;for(i=0; i4; i+) printf(“% d,“, aii); A.1,6,5,7 B.8,7,3,1 C.4,7,5,2 D.1,6,2,1(分数:2.50)A.B.C.D.38.若二维数组 a 有 m 列,则在 aij之前的元素个数为_。 A.j*m+i B.i*m+j C.i*m+j-1 D.i*m+j+1(分数:2.50)A.B.C.D.39.以下程序的输出结果是_。#include stdio.hmain() i
20、nt i, x33=1,2,3,4,5,6 7,8,9;for(i=0; i3; i+)printf(“% d,“, xi2-i; A.1,5,9, B.1,4,7, C.3,5,7, D.3,6,9,(分数:2.50)A.B.C.D.40.以下不能正确定义二维数组的选项是_。 A.int a22=1,2; B.int a2=1,2,3,4; C.int a22=1,2,3; D.int a2=1,2,3,4;(分数:2.50)A.B.C.D.二级 C 语言-循环结构、数组(一)答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:100.00)1.在下列选
21、项中,没有构成死循环的是_。 A. int i=100; while(1) i=i % 100+1; if(i100) break; B. for(;) C. int k=10000; dok+;while(k10000); D. int s=36; while(s) -s;(分数:2.50)A.B.C.D. 解析:解析 选项 A 的循环表达式的条件永为 1,并且小于 100 的数与 100 取余不超过 99,所以在循环体内表达式 i%100+1 的值永远不会大于 100,break 语句永远不会被执行,所以是死循环;选项 B 的括号内没有能使循环停下来的变量增量,是死循环。选项 C 中先执行
22、 k+,使 k=10001,从而使循环陷入死循环。2.以下程序的输出结果是_。int n=10;while(n7) n-;printf(“% d#“, n); A.10 9 8 B.9 8 7 C.10 9 8 7 D.9 8 7 6(分数:2.50)A.B. C.D.解析:解析 以上程序段只包含了一个 while 循环,循环的控制表达式是 n7,只要 n 的值大于 7,循环体就不断执行。在进入循环时,n 的值为 10。循环体内只有两条语句,每循环一次,首先 n 的值减 1,然后输出 n 的值;由于 n 的初值为 10,所以执行循环中的 n-; 后, n 的值依次为 9、8、7,并进行输出,p
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 循环 结构 数组 答案 解析 DOC
