[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷14及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷14及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷14及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试( C语言程序设计)模拟试卷 14及答案与解析 一、选择题 1 有以下程序 #include main() int a 7; while(a-); printf(“ d n“, a); 程序运行后的输出结果是 ( A) 0 ( B) 1 ( C) 1 ( D) 7 2 在以下给出的表达式中,与 while(E)中的 (E)不等价的表达式是 ( A) (E 0E 0) ( B) (!E=0) ( C) (E! 0) ( D) (E=0) 3 要求通过 while循环不断读入字符, 当读入字母 N时结束循环。若变量己正确定义,以下正确的程序段是 ( A) while(ch ge
2、tchar() N)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); 4 若有以下程序 main() int a 2, b 0; while(a ) b; printf(“ d, d n“,a,b); 则程序的输出结果是 ( A) 0,2 ( B) 1,2 ( C) 1,3 ( D) 2,3 5 由以下 while构成的循环,循环体执行的次数
3、是 int k 0; while(k 1)k; ( A)一次也不执行 ( B)执行一次 ( C)无限次 ( D)有语法错,不能执行 6 有以下程序 main0 int a 2, b 0; while(a 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) aBeDeF ( C) abcdef ( D) AbCdEf 23 有以下程序 main() int a 1, b 2; for(; a 8; a ) b a
4、; a 2; printf(“ d, d n“, a, b); 程序运行后的输出结果是 ( A) 8, 11 ( B) 10, 14 ( C) 7, 11 ( D) 9, 18 24 有以下程序段 int i, n; for(i 0; i 8; 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); ( A)当产生的随机数 n为 4时结束循环操作 ( B)
5、当产生的随机数 n为 1和 2时不做任何操作 ( C)当产生的随机数 n为 0时结束程序运行 ( D) for循环语句固定执行 8次 25 若有以下程序 main() int a 6, b 0, c 0; for(; a; ) b a; a C: printf(“ d, d, d n“,a,b,c); 则程序的输出结果是 ( A) 1,14,3 ( B) 0,18,3 ( C) 0,14,3 ( D) 0,14,6 26 若有以下程序 main() int a 6, b 0, c 0; for(; a&(b=0); ) b a; a c; printf(“ d, d, d n“, a, b,
6、c); 则程序的输出结果是 ( A) 6, 0, 0 ( B) 5, 6, 0 ( C) 6, 6, 1 ( D) 5, 6, 1 27 以下叙述中正确的是 ( A)对于 “for(表达式 1;表达式 2;表达式 3)循环体 ”首先要计算表达式 2的值,以便决定是否开始循环 ( B)对于 “for(表达式 1;表达式 2;表达式 3)循环体 ”,只在个别情况下才能转换成 while语句 ( C)只要适当地修改代码,就可以将 do while与 while相互转换 ( D)如果根据算法需要使用无限循环 (即通常所称的 “死循环 ”),则只能使用 while语句 28 若有以下程序 #includ
7、e 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“, &bi); 则程序的输出结果是 ( A) you to China! ( B) to China! ( C) me you to China! ( D) China! 29 以下程序段中的变量已正确定义 for(i 0; i 4; i,
8、 i ) for(k 1; k 3; k ); printf(“*“); 程序段的输出结果是 ( A) * ( B) * ( C) * ( D) * 30 有以下程序 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 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、 9 ( D) 1*1 1 2*1 2 2*2 4 3*1 3 3*2 6 3*3 9 31 有以下程序 #include main() int i,j,m 55; for(i 1; i 3; i ) for(j 3; j i; j )m m j; printf(“ d n“, m); 程序的运行结果是 ( A) 0 ( B) 1 ( C) 2 ( D) 3 32 以下叙述中正确的是 ( A)循环发生嵌套时,最多只能两层 ( B)三种循环 for, while, do while可以互相嵌套 ( C)循环嵌套时,如果不进行缩进形式书写代码,则会有编译错误 ( D) for语句的圆括号中的表达式
10、不能都省略掉 33 有以下程序 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 d n“, x); 程序执行后的输出结果是 ( A) x 4 ( B) x 6 ( C) x 12 ( D) x 8 34 有以下程序 #include main() int x 8; for(; x 0; x-) if(x 3)printf(“ d,“,x-); continue; ) pfintf(“ d,“,-x); 程序的运行结果是 ( A) 8,7,5,2, ( B) 9
11、,7,6,4, ( C) 7,4,2, ( D) 8,5,4,2, 35 以下叙述中正确的是 ( A) continue语句的作用是:使 程序的执行流程跳出包含它的所有循环 ( B) break语句只能用在循环体内和 switch语句体内 ( C)在循环体内使用 break语句和 continue语句的作用相同 ( D) break语句只能用于 switch语句体中 36 以下叙述中正确的是 ( A) break语句不能用于提前结束 for语句的本层循环 ( B) continue语句使得整个循环终止 ( C)使用 break语句可以使流程跳出 switch语句体 ( D)在 for语句中,
12、continue与 break的效果是一样的,可以互换 37 以下叙 述中正确的是 ( A)当 break出现在循环体中的 switch语句体内时,其作用是跳出该 switch语句体,并中止循环体的执行 ( B)只能在循环体内和 switch语句体内使用 break语句 ( C) continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环 ( D)在 while语句和 do while语句中无法使用 continue语句 国家二级 C语言机试( C语言程序设计)模拟试卷 14答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 在 while语句中,先判断 while后面的表
13、达式是否为 0,如果为 0,则退出循环,否则执行循环体。在本题中,当变量 a的值经过几次循环后,其值等于 0时,退出 while循环语句,变量 a再执行自减运算,所以其值等于 1。 【知识模块】 C语言程序设计 2 【正确答案】 A 【试题解析】 在 while(E)中,表达式 E可以是 C语言中任意合法的条件表达式,但不能为空,由它来控制循环体是否执行。在选项 A中表达式 EOlIE0是一个逻辑表达式。 【知识模块】 C语言程序设计 3 【正确答案】 C 【试题解析】 while循环的执行过程如下: 计算 while后面圆括号中表达式的值,当值为非 0时,执行步骤 ;当值为 0时,执行步骤
14、; 执行循环体一次; 转去执行步骤 ; 退出循环。 在选项 C中,表达式 (ch getchar()! N表示输入的字符不等于 N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于 N,则退出循环。 【知识模块】 C语言程序设计 4 【正确答案】 B 【试题解析】 循环体执行两次 ,第一次表达式 a值为 2, a的值为 1,执行循环体 b, b值为 1,第二次表达式 a值为 1, a的值等于 0,执行b, b值为 2,第三次判断条件 a,表达式值为 0,不执行循环体,但是条件判断以后, a的值为 1。 【知识模块】 C语言程序设计 5 【正确
15、答案】 C 【试题解析】 循环条件表达式为赋值表达式 k 1,因此循环执行无限次。 【知识模块】 C语言程序设计 6 【正确答案】 B 【试题解析】 循环体为空,共执行 2次。第一次变量 a初值为 2, b初值为 0,表达式 a & b值为 1,同时 a的值为 1, b的值为 1,第二次循环条件判断以后, a的值为 0, b的值 2,执行循环体空,第三次判断条件表达式值为0,不执行循环体,而 a的值为 1,但是表达式 a的值为 0,因此不计算表达式 b的值, b的值仍为 2。 【知识模块】 C语言程序设计 7 【正确答案】 D 【试题解析】 do while语句先执行语句,后判断表达式的值。故
16、 do while语句又称 “直到型 ”循环结构。由于是先执行后判断,因此 do while语句的循环语句至少被执行一次,循环条件至少判断一次。 【知识模块】 C语言程序设计 8 【正确答案】 A 【试题解析】 选项 B中 while(1)永远为真所以进入死循环,选项 C中, while(n 10)同理,选项 D中 for循环没有循环限定条件也将进入无限循环,只有选项 A中 while(n 0)循环判定成立,循环将不进入无限循环。 【知识模块】 C语言程序设计 9 【正确答案】 C 【试题解析】 由于循环变量 i的初值等于 5,所以第一、二次进入 dowhile循环语句时,条件语句 if(i
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 14 答案 解析 DOC
