[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷13及答案与解析.doc
《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷13及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷13及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言( C语言程序设计)机试模拟试卷 13及答案与解析 一、选择题 1 关于 do 循环体 while (条件表达式 ); 以下叙述中正确的是 ( A)循环体的执行次数总是比条件表达式的执行次数多一次 ( B)条件表达式的执行次数总是比循环体的执行次数多一次 ( C)条件表达式的执行次数与循环体的执行次数无关 ( D)条件表达式的执行次数与循环体的执行次数一样 2 以下不构成无限循环的语句或语句组是 ( A) n=0; do +n; while (n =0); ( B) n=0; while (1) n+; ( C) n=10; while (n); n-; ( D) for(n=
2、0,i=1; ; i+) n+=i; 3 有以下程序 main() int i=5; do if (i%3=1) if (i%5=2) printf(“*%d“, i); break; i+; while(i!=0); printf(“n“); 程序的运行结果是 ( A) *3*5 ( B) *5 ( C) *7 ( D) *2*6 4 若变量已正确定义,有以下程序段 i=0; do printf(“%d,“,i); while( i+ ); printf(“%dn“,i); 其输出结果是 ( A) 0,0 ( B) 1,1 ( C) 0,1 ( D)程序进入无限循环 5 若有以下程序 mai
3、n() int a=-2, b=0; do +b ; while(a+); printf(“%d,%dn“, a, b); 则程序的输出结果是 ( A) 0,2 ( B) 1,2 ( C) 1,3 ( D) 2,3 6 有以下程序 main() int a = 3; do printf(“%d,“, a-=2 ); while( ! (-a) ); printf(“n“); 程序运行后的输出结果是 ( A) 1, ( B) 1, -2, ( C) 3,0, ( D) 1,0 7 有以下程序段 int i,n; for(i=0;i 8;i+) n=rand()%5; switch(n) case
4、 1: case 3:printf(“%dn“,n);break; case 2: case 4:printf(“%dn“,n);continue; case 0:exit(0); printf(“%dn“,n); 以下关于程序段执行情况的叙述,正确的是 ( A)当产生的随机数 n为 4时结束循环操作 ( B)当产生的随机数 n为 1和 2时不做任何操作 ( C)当产生的随机数 n为 0时结束程序运行 ( D) for循环语句固定执行 8次 8 有以下程序 #include stdio.h main( ) int y=9; for(;y 0;y-) if(y%3= =0) printf(“%d
5、“,-y); 程序的运行结果是 ( A) 963 ( B) 852 ( C) 741 ( D) 875421 9 有以下程序 #include stdio.h main() int i,j,m=1; for(i=1;i 3;i+) for(j=3;j 0;j-) if(i*j 3)break; m*=i*j; printf(“m=%dn“,m); 程序运行后的输出结果是 ( A) m=2 ( B) m=4 ( C) m=5 ( D) m=6 10 有以下程序 #include stdio.h void main() int c=0,k; for(k=1;k 3;k+) switch(k) de
6、fault:c+=k; case 2:c+;break; case 4:c+=2;break; printf(“%dn“,c); ( A) 9 ( B) 7 ( C) 5 ( D) 3 11 有以下程序 #include stdio.h main() int i, j; for(i=3; i =l; i-) for(j=1; j =2; j+) printf(“%d“, i+j); printf(“n“); 程序的运行结果是 ( A) 4 3 2 5 4 3 ( B) 2 3 3 4 4 5 ( C) 4 5 3 4 2 3 ( D) 2 3 3 4 2 3 12 有以下程序 main( )
7、int i; for(i=1;i =40;i+ +) if(i+ +%5= =0) if(+ +i%8= =0) printf(“%d“,i); printf(“n“); 执行后的输出结果是 ( A) 24 ( B) 5 ( C) 32 ( D) 40 13 有以下程序 #include stdio.h void main() char b,c;int i; b=a;c=A; for(i=0;i 6;i+) if(i%2)putchar(i+b); else putchar(i+c); printf(“n“); 程序运行后的输出结果是 ( A) ABCDEF ( B) aBcDeF ( C)
8、abcdef ( D) AbCdEf 14 有以下程序 main() int a=1, b=2; for( ;a 8;a+) b+=a; a+=2; printf(“%d,%dn“,a,b); 程序运行后的输出结果是 ( A) 8,11 ( B) 10,14 ( C) 7,11 ( D) 9,18 15 有以下程序段 int i,n; for(i=0;i 8;i+) n=rand()%5; switch(n) case 1: case 3:printf(“%dn“,n);break; case 2: case 4:printf(“%dn“,n);continue; case 0:exit(0)
9、; printf(“%dn“,n); ( A)当产生的随机数 n为 4时结束循环操作 ( B)当产生的随机数 n为 1和 2时不做任何操作 ( C)当产生的随机数 n为 0时结束程序运行 ( D) for循环语句固定执行 8次 16 若有以下程序 main() int a=6, b=0, c=0; for ( ;a; ) b += a; a -= +c; printf(“%d,%d,%dn“, a,b,c); 则程序的输出结果是 ( A) 1,14,3 ( B) 0,18,3 ( C) 0,14,3 ( D) 0,14,6 17 若有以下程序 main() int a=6, b=0, c=0;
10、 for ( ;a ) b += a; a -= c+; printf(“%d,%d,%dn“, a,b,c); 则程序的输出结果是 ( A) 6,0,0 ( B) 5,6,0 ( C) 6,6,1 ( D) 5,6,1 18 以下叙述中正确的是 ( A)对于 “for(表达式 1;表达式 2;表达式 3) 循环体 ”首先要计算表达式 2的值,以便决定是否开始循环 ( B)对于 “for(表达式 1;表达式 2;表达式 3) 循环体 ”,只在个别情况下才能转换成 while语句 ( C)只要适当地修改代码,就可以将 do-while与 while相互转 换 ( D)如果根据算法需要使用无限循环
11、(即通常所称的 “死循环 ”) ,则只能使用while语句 19 若有以下程序 #include char *a=“you“; char b =“Welcome you to China!“; main() int i, j=0; char *p; for ( i=0; bi !=0; i+ ) if (*a = bi) p=a; for (j=i; *p!=0; j+) if (*p != bj) break; p+; if (*p=0) break; printf(“%s“, 则程序的输出结果是 ( A) you to China! ( B) to China! ( C) me you t
12、o China! ( D) China! 20 以下程序段中的变量已正确定义 for( i=0; i 4; i+, i+) for(k=l; k 3; k+); printf(“*“); 程序段的输出结果是 ( A) * ( B) * ( C) * ( D) * 21 有以下程序 main( ) int i,j; for(i=1;i 4;i+ +) for(j=i;j 4;j+ +) printf(“%d*%d=%d “,i,j,i*j); printf(“n“); ( A) 1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 3*1=3 ( B) 1*1=1 1*2=2 2*2=4
13、1*3=3 2*3=6 3*3=9 ( C) 1*1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9 ( D) 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 22 有以下程序 #include stdio.h main( ) int i,j,m=55; for(i=1;i =3;i+ +) for(j=3;j =i;j+ +) m=m%j; printf(“%dn“,m); 程序的运行结果是 ( A) 0 ( B) 1 ( C) 2 ( D) 3 23 以下叙述中正确的是 ( A)循环发生嵌套时,最多只能两层 ( B)三种循环 for,while,do
14、-while可以互相嵌套 ( C)循环嵌套时 ,如果不进行缩进形式书写代码,则会有编译错误 ( D) for语句的圆括号中的表达式不能都省略掉 24 有以下程序 main( ) int i,j,x=0; for(i=0;i 2;i+ +) x+ +; for(j=0;j =3;j+ +) if(j%2) continue; x+ +; x+ +; printf(“x=%dn“,x); 程序执行后的输出结果是 ( A) x=4 ( B) x=6 ( C) x=12 ( D) x=8 25 有以下程序 #include stdio.h main() int x=8; for( ;x 0;x-) i
15、f(x%3)printf(“%d,“,x-);continue; printf(“%d,“,-x); 程序的运行结果是 ( A) 8,7,5,2, ( B) 9,7,6,4, ( C) 7,4,2, ( D) 8,5,4,2, 26 以下叙述中正确的是 ( A) continue语句的作用是:使程序的执行流程跳出包含它的所有循环 ( B) break语句 只能用在循环体内和 switch语句体内 ( C)在循环体内使用 break语句和 continue语句的作用相同 ( D) break语句只能用于 switch语句体中 27 以下叙述中正确的是 ( A) break语句不能用于提前结束 f
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 13 答案 解析 DOC
