1、国家二级 C语言( C语言程序设计)机试模拟试卷 3及答案与解析 一、选择题 1 有以下程序 main() int a=-2, b=0; while(a+&+b); printf(“ d, dha“, a, b); 程序运行后输出结果是 ( A) 0,3 ( B) 1,2 ( C) 1,3 ( D) 0,2 2 关于 do循环体 while(条件表达式 );以下叙述中正确的是 ( A)循环体的执行次数总是比条件表达式的执行次数多一次 ( B)条件表达式的执行次数总是比循环体的执行次数多一次 ( C)条件表达式的执 行次数与循环体的执行次数无关 ( D)条件表达式的执行次数与循环体的执行次数一样
2、 3 以下不构成无限循环的语句或语句组是 ( A) n=0; do+n; )while(n main() int y=9; for(; y0; y-) if(y 3=O)printf(“ d“, -y); 程序的运行结果是 ( A) 963 ( B) 852 ( C) 741 ( D) 875421 10 有以下程序 #include main() int i,i, m=1; for(i=l; i0; j-) if(i*j3)break; m*=i*j; printf(“m= d n“, m); 程序运行后的输出结果是 ( A) m=2 ( B) m=4 ( C) m=5 ( D) m=6 1
3、1 有以下程序 #include void main() int c=0, k; for(k=1; k main() int i, j; for(i=3; i=1; i-) for(j=1; j void main() char b, c; int i; b=a; c=A; for(i=0; i main() int ij, m=55; for(i=1; i main() int x=8: for(; x0; x-) if(x 3)printf(“ d, “, x-); continue; ) printf(“ d, “, -x); 程序的运行结果是 ( A) 8, 7, 5, 2, ( B)
4、 9, 7, 6, 4, ( C) 7, 4, 2, ( D) 8, 5, 4, 2, 27 以下叙述中正确的是 ( A) continue语句的作用是:使程序的执行流程跳出包含它的 所有循环 ( B) break语句只能用在循环体内和 switch语句体内 ( C)在循环体内使用 break语句和 continue语句的作用相同 ( D) break语句只能用于 switch语句体中 28 以下叙述中正确的是 ( A) break语句不能用于提前结束 for语句的本层循环 ( B) continue语句使得整个循环终止 ( C)使用 break语句可以使流程跳出 switch语句体 ( D)
5、在 for语句中, continue与 break的效果是一样的,可以互换 29 以下叙述中正确的是 ( A)当 break出现在循环体中的 switch语句体内时,其作用是跳出该 switch语句体,并中止循环体的执行 ( B)只能在循环体内和 switch语句体内使用 break语句 ( C) continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环 ( D)在 while语句和 do while语句中无法使用 continue语句 国家二级 C语言( C语言程序设计)机试模拟试卷 3答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 循环体为空,共执行 2次。第一次
6、变量 a初值为 -2, b初值为 0,表达式 a+&+b值为 1,同时 a的值为 -1, b的值为 1,第二次循环条件判断以后, a的值为 0, b的值 2,执行循环体空,第三次判断条件表达式值为 0,不执行循环体,而 a的值为 l,但是表达式 a+的值为 0,因此不计算表达式 +b的值, b的值仍为 2。 【知识模块】 C语言程序设计 2 【正确答案】 D 【试题解析】 do-while语句先执行语句,后判断表达式的值。故 do-while语句又称 “直到型 ”循环结构。由于是先执行后判断,因此 do-while语句的循环语句至少被执行一次,循环条件至少判断 一次。 【知识模块】 C语言程序
7、设计 3 【正确答案】 A 【试题解析】 选项 B中 while(1)永远为真所以进入死循环,选项 C中 while(n=10)同理,选项 D中 for循环没有循环限定条件也将进入无限循环,只有选项 A中while(n0”,循环全部结束。 【知识模块】 C语言程序设计 27 【正确答案】 B 【试题解析】 只能在循环体内和 switch语句体内使用 break语句。 continue语句的作用是结束本次循 环,即跳过本次循环体中 continue语句后面的语句,立刻进行下一次的循环条件判断,可以理解为仅结束本次循环。而 break语句可以使程序流程跳出 switch语句体,也可用 break语
8、句在循环结构中终止循环体。 【知识模块】 C语言程序设计 28 【正确答案】 C 【试题解析】 用 break语句可以使程序流程跳出 switch语句体,也可用 break语句在循环结构中终止循环体,从而提前结束循环,而 continue语句的作用是结束本次循环,即跳过本次循环体中 continue语句后面的语句,立刻进行 下一次的循环条件判断,可以理解为仅结束本次循环。 【知识模块】 C语言程序设计 29 【正确答案】 B 【试题解析】 break语句可以使程序流程跳出 switch语句体,也可用 break语句在循环结构中终止循环体,从而提前结束循环,而当 break出现在循环体中的switch语句体内时,其作用只是跳出该 switch语句体,并不能中止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在 switch语句中设置break语句,满足某种条件则跳出循环体。 continue语句的作用是结束本次 循环,在 while和 do-while循环中, continue语句使得流程直接跳到循环控制条件的测试部分,然后决定循环是否继续进行。 【知识模块】 C语言程序设计