【计算机类职业资格】福建省二级C语言-2及答案解析.doc
《【计算机类职业资格】福建省二级C语言-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】福建省二级C语言-2及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、福建省二级 C语言-2 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.以下不正确的 if语句是_。(分数:2.00)A.if(xy);B.if(x=yC.if(x!=y)scanf(“%d“, D.if(xy)x+; y+;2.if语句嵌套使用时,else 总是与_配对。(分数:2.00)A.同一行上的 ifB.其之前最近的 ifC.其之前最近的未配对的 ifD.缩排位置相同的 if3.以下程序的输出结果是_。 #includestdio.h int main() int a=-1, b=1, k; if(+a0 else printf(
2、“%d%d/n“, b, a); return 0; (分数:2.00)A.-1 1B.0 1C.1 0D.0 04.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是_。(分数:2.00)A.if(abelse k=0;B.if(ab|bc)k=1;C.if(a=b)k=0;else if(b=c)k=1;else k=0;D.if(ab)k=1;else if(bc)k=1;5.以下程序运行后的输出结果是_。 #includestdio.h int main() int a=15, b=22, m=1; switch(a%3) case 0:switch(b%5) defau
3、lt:m-; case 2:m+; break; case 3:m-; break; case 1:m+; printf(“%d/n“, m); return 0; (分数:2.00)A.0B.1C.2D.36.以下描述中正确的是_。(分数:2.00)A.do-while语句构成的循环,当 while后的表达式的值为零时结束循环B.do-while语句构成的循环,当 while后的表达式的值为非零时结束循环C.do-while语句构成的循环只能用 break语句退出D.do-while语句构成的循环可以用 continue语句退出7.以下程序执行后,输出结果为_。 int main() int
4、 x, y; for(x=1, y=1; y50; y+) if(x=10)break; if(x%2=1) x+=5; continue; X-=3; printf(“x=%d“, x); return 0; (分数:2.00)A.10B.11C.12D.138.下列程序段的执行次数为_。 int a=1; while(1) a+; +a; if(a4)break;(分数:2.00)A.1B.2C.死循环D.错误9.下面程序的运行结果是_。 int main() int x=0, y=0; while(x15) y+; x+=+y; printf(“%d, %d“, y, x); retur
5、n 0; (分数:2.00)A.20,7B.6,12C.20,8D.8,2010.对于下面程序段,描述中正确的是_。 int i=100; while(i=0) i=i-1;(分数:2.00)A.while循环执行 100次B.循环体语句一次也不执行C.while循环执行 99次D.循环体语句执行一次11.下面程序的运行结果是_。 int main() int a=3, b=2, c=1; while(abc) a=a+b; b=a-b; a=a-b; c=a+b; printf(“%d, %d, %d“, a, b, c); return 0; (分数:2.00)A.2,3,5B.3,2,5
6、C.2,3,1D.3,2,112.对于下面程序段,描述中正确的是_。 x=2; do x*=x; while(!x!=0);(分数:2.00)A.是死循环B.循环执行 2次C.循环执行 1次D.有语法错误13.若有定义:int k; ,下面不会出现死循环的程序段是_。(分数:2.00)A.k=0=while(k%2=k+%2)k+;B.k=0;while(1)k=k%100+1; if(k100)break;C.k=0;do+k;while(k0);D.for(;);14.从键盘输入 2473,下面程序的运行结果是_。 #includestdio.h int main() int c; whi
7、le(c=getchar()!=“/n“) switch(c-“2“) case 0: case 1: putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); default: putchar(c+2); break; printf(“/n“); return 0; (分数:2.00)A.668977B.668966C.66778777D.668876615.下面程序的运行结果是_。 #includestdio.h int main() int a, b; for(a=1, b=1; a=100; a+) if(b=20
8、)break; if(b%3=1) b+=3; continue; b-=5; printf(“%d/n“, a); return 0; (分数:2.00)A.7B.8C.9D.1016.C语言中数组元素引用时,其下标允许是_。(分数:2.00)A.关系表达式B.整型表达式C.任何类型的表达式D.整型常量或整型表达式17.以下对一维整型数组 k正确定义的是_。(分数:2.00)A.k20;B.int n=20, kn;C.#define N 20int kN;D.int n;scanf(“%d:, int kn;18.在 C语言中,二维数组元素在内存中的存放顺序是_。(分数:2.00)A.按行
9、存放B.按列存放C.由用户自己定义D.由编译器决定19.以下一组对数组 a初始化的语句中,给 a数组所有元素赋初值 0的正确语句是_。(分数:2.00)A.int a9=9*0;B.int a9=0;C.int a9=;D.int a9=0;20.以下能对二维数组 m进行正确初始化的语句是_。(分数:2.00)A.int m2=1, 2, 2, 0, 3;B.int m24=1, 2, 3, 4, 2, 5;C.int m3=1, 2, 3, 4, 5;D.int m3=1, , 2, 5, 3;21.若有说明:int a10; ,则对 a数组元素引用不正确的是_。(分数:2.00)A.a4+
10、5B.a10C.a10-10D.a522.若有说明:int k34; ,则对 k数组元素的正确引用是_。(分数:2.00)A.a20B.a1, 3C.a24D.a(2)(1)23.执行 int a3=1, 2, 3, 4, 5, 6, 7;语句后,a10的值是_。(分数:2.00)A.1B.3C.5D.424.以下关于数组的描述正确的是_。(分数:2.00)A.数组的大小是固定的,但可以有不同数据类型的数组元素B.数组的大小是可变的,但所有数组元素的数据类型必须相同C.数组的大小是固定的,所有数组元素的数据类型必须相同D.数组的大小是可变的,可以有不同数据类型的数组元素25.以下对二维数组 a
11、正确定义的语句是_。(分数:2.00)A.int a3;B.float a(3, 4);C.float a34;D.int a3, 4;26.若有说明:int k4=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11; ,则 k数组的第一维长度是_。(分数:2.00)A.3B.2C.1D.无确定值27.以下程序段的运行结果是_。 int i, a10; for(i=0; i10; i+) ai=i; for(i=0; i10; i+, i+) ai+=2; for(i=0; i10; i+) printf(“%d“, ai);(分数:2.00)A.0123456789B.032
12、54769811C.21436587109D.23456789101128.以下程序的运行结果是_。 #includestdio.h int main() int k9=19, 16, 17, 15, 13, 11, 10, 9, i=1, s=0; while(i9 printf(“%d/n“, s); return 0; (分数:2.00)A.33B.52C.101D.11029.以下程序的运行结果是_。 #includestdio.h int main() int m3=1, 3, 2, 4, 5, 7, 6, 8, 9, 10, 11; int i, k=2; for(i=0; i3;
13、 i+) print(“%d“, mki); return 0; (分数:2.00)A.4 5 7B.2 7 9C.9 10 11D.6 8 930.设有如下程序段: int a34=1, 0, 2, 1, 0, 2, 1, 0, 1, 1, 0, 1, i, j, sum=0; for(i=0; i=2; i+9) for(j=0; j=i; j+) sum+=aij; 则执行该程序段后,sum 的值是_。(分数:2.00)A.0B.4C.5D.3二、填空题(总题数:21,分数:40.00)31.以下程序运行时输入 12,输出结果是 1。 #includestdio.h int main()
14、 char ch1, ch2; int n1, n2; ch1=getehar(); ch2=getchar(); n1=ch1-“0“; n2=n1*10+(ch2-“0“); printf(“%d/n“, n2); return 0; (分数:2.00)32.以下程序运行后的输出结果是 1。 #includestdio.h int main() int x=3, y=0, z=0; if(x=y+z)printf(“* *“); else printf(“#“); return 0; (分数:2.00)33.以下程序运行时输入 10,20,输出结果是 1。 #includestdio.h
15、int main() int x, y, t=0; scanf(“%d, %d“, if(xy) t=x; x=y; y=t; printf(“%d, %d/n“, x, y); return 0; (分数:2.00)34.以下程序运行时输入 9,输出结果是 1。 #includestdio.h int main() int n; scanf(“%d“, if(n+10) printf(“%d/n“, n); else printf(“%d/n“, n-); return 0; (分数:2.00)35.以下程序运行后的输出结果是 1。 #includestdio.h int main() in
16、t n=0, m=-10, x=2; if(!n)x-=1; if(-m)x-=2; if(x)x-=3; printf(“%d/n“, x); return 0; (分数:2.00)36.下面程序的功能是输入等比数列的首项(a)、公比(d)和项数(n),计算等比数列的和并输出,请把程序补充完整。 #includestdio.h int main() int a, d, n, i; int x, sum=0; scanf(“%d%d%d“, x= 1; for(i=1; i2=n; i+) sum+=x; 2; printf(“a=%d, d=%d, n=%d, sum=%d“, a, d,
17、n, sum); return 0; (分数:2.00)37.下面程序的功能是输出如图所示的矩阵。请把程序补充完整。 (分数:2.00)38.下面程序的功能是计算多项式 (分数:2.00)39.如果用 0至 9之间不同的三个数构成一个三位数,且各位数字之和是 5,下面程序将输出这些数,并统计出共有多少种方法,请把程序补充完整。 #includestdio.h int main() int i, j, k, count=0; for(i=1; i=9; i+) for(j=0; j=9; j+) if( 1) continue; else for(k=0; k=9; k+) if( 2) pri
18、ntf(“%4d“, i*100+j*10+k); count+; printf(“n%d“, count); return 0; (分数:2.00)40.有 1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请把程序补充完整。 #includestdio.h int main() int day, x1, x2; day=0; x1=1020; while( 1) x2= 2; x1=x2; day+; printf(“day=%d/n“, day); return 0; (分数:2.00)41.下面程序的功能是求零件总数:有一堆零件,如果分成 4个零件一组的
19、若干组,则多 2个;若分成 7个零件一组,则多 3个;若分成 9个零件一组,则多 5个,这堆零件最少有几件?请把程序补充完整。 #includestdio.h int main() int i=1, s=1; do if(i-2)%4=0) if(!(i-3)%7) if( 1) printf(“%d“, i); 2 i+; while(s); return 0; (分数:2.00)42.下面程序的功能是求 1至 1000之间满足“用 2除余 1,用 3除余 2,用 5除余 3”的数,且每行打印11个数,请把程序补充完整。 #includestdio.h int main() int i=1,
20、 j=0; do if( 1) printf(“%5d“, i); j=j+1; if( 2)printf(“/n“); i=i+1; while(i1000); return 0; (分数:2.00)43.父亲说:今年哥哥年龄的平方加上弟弟的年龄,等于 1119;弟弟年龄的平方加上哥哥的年龄,等于933;他们现在的年龄都不超过 35岁。下面程序的功能是计算哥哥和弟弟的年龄,请把程序补充完整。 #includestdio.h int main() int i, j; for(i=1; i=35; i+) j= 1; if( 2) break; printf(“The old brother“s
21、 age is: %d/n“, i); printf(“The young brother“s age is: %d/n“, j); return 0; (分数:2.00)44.以下是一个投标公司中标评分统计程序,数组 r存有 9个评委的打分,统计时,去掉其中的 1个最高分与 1个最低分,其他 7个分数的平均分即是最后得分,请把程序补充完整。 #includestdio.h int main() float r9=8.9, 7.6, 9.1, 8.5, 8.6, 8.3, 9.0, 8.4, 8.7; float sum, ave, max, min; int i; 1; for(i=0; i
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 福建省 二级 语言 答案 解析 DOC
