[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷9及答案与解析.doc

上传人:cleanass300 文档编号:498962 上传时间:2018-11-30 格式:DOC 页数:20 大小:61.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷9及答案与解析.doc_第1页
第1页 / 共20页
[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷9及答案与解析.doc_第2页
第2页 / 共20页
[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷9及答案与解析.doc_第3页
第3页 / 共20页
[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷9及答案与解析.doc_第4页
第4页 / 共20页
[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷9及答案与解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、国家二级 C语言( C语言程序设计)机试模拟试卷 9及答案与解析 一、选择题 1 有以下计算公式 若程序前面已经在命令行中包含math h文件,不能够正确计算上述公式的程序段是 ( A) y=sqrt(x); iffx=0)y=sqrt(x); else y=sqrt(-x); ( C) if(x=0)y=sqrt(x); if(x=0?x: -x); 2 有以下程序 #include main()int x; scanf(“ d“, &x); if(x main() int a=1, b=2, c=3, d=4; if(a=2) (b=1)c=2 ; if(c=3)&(d=一 1)a=5;

2、printf(“ d, d, d, d n“, a, b, c, d); ) 则程序的输出结果是 ( A) 2, 1, 2,一 I ( B) 2, 2, 2, 4 ( C) 5, 1, 2, -1 ( D) 1, 2, 3, 4 6 若有以下程序 #include main() int a=1, b=2, c=3, d=4, r=0; i f(a!=1) ; else r=1; i f(b=2)r+=2; else; if(c!=3)r+=3; else; if(d=4) r+=4; printf(“ d n“, r); ) 则程序的输出结果是 ( A) 10 ( B) 6 ( C) 7 (

3、D) 3 7 若有以下程序 #include main() ( int a=1 , b=2, c=3, d=4; if(a=2) & (b=1) c=2 ; if(c=3) (d=-1) a=5; printf(“ d,名 d, d, d n“, a, b, c, d); 则程序的输出结果是 ( A) 2, 1, 2, -1 ( B) 2, 2, 2, 4 ( C) 1, 2, 3, 4 ( D) 5, 1, 2, -1 8 若有以下程序 main() int a=1, b=2, c=3, d=4, r=0 ; if(a!=1) ; else r=1; if(b=2) r+=2 ; if(c!

4、=3)j r+=3 ; if(d=4)r+=4 ; printf(“ d n“, r); 则程序的输出结果是 ( A) 7 ( B) 10 ( C) 6 ( D) 3 9 以下叙述中正确的是 ( A) if语句只能嵌套一层 ( B)不能在 else子句中再嵌套 if语句 ( C) if子句和 else子句中可以是任意的合法的 C语句 ( D)改变 if-else语句的缩进格式,会改变程序的执行流程 10 有以下程序 main() int x=1 , y=0 , a=0 , b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b

5、+; break; case 2: a+; b+; break; case 3: a+; b+; ) printf(“a= d, b= d n“, a, b); 程序的运行结果是 ( A) a=2, b: 2 ( B) a=1, b=1 ( C) a=1, b=0 ( D) a=2, b=1 11 若有定义: float x=1 5; int a=1, b=3, c=2;则正确的 switch语句是 ( A) switch(a+b)case 1: printf(“* n“); case 2+1: printf(“* n“): ( B) switch(int)x); case 1: printf

6、(“* n“): case 2: printf(“*“ n“); ( C) switch(x)case 1 0: printf(“* n“); case 2 0: printf(“* n“); ( D) switch(a+b)case 1: pfintf(“* n“); case c: pfintf(“* n“); 12 下列叙述中正确的是 ( A)在 switch语句中必须使用 default ( B) break语句必须与 switch语句中的 case配对使用 ( C)在 switch语句中,不一定使用 break语句 ( D) break语句只能用于 switch语句 13 有以下程序

7、 main() int k=5, n=0; do switch(k) case 1: case 3: n+=1; k-; break; default: n=0; k-; case 2: case 4: n+=2; k-; break; printf(“ d“, n); while(k0&nb?(bc?1: 0): 0;功能相同的是 ( A) if(ab)(bc)k=1; else k=0; ( B) if(ab)&(bc)k=1; else k=0; ( D) if(ab)k=1; else if(bc)k=1; else k=0; 18 关于 “while(条件表达式 )循环体 ”,以下叙

8、述正确的是 ( A)循环体的执行次数总是比条件表达式的执行次数多一次 ( B)条件表达式的执行次数与循环体的执行次数一样 ( C)条件表达式的执行次数总是比循环体的执行次数多一次 ( D)条件表达式的执行次数与循环体的执行次数无关 19 有以下程序 #include main() int y=10; while(y-); printf(“y= d n“, y); 程序执行后的输出结果是 ( A) y=0 ( B) y=-1 ( C) y=1 ( D) while构成无限循环 20 有以下程序 main() int k=5 ; while(-k) printf(“ d“, k-=3); prin

9、tf(“ n“); 执行后的输出结果是 ( A) 2 ( B) 4 ( C) 1 ( D)死循环 21 有以下程序 main() int y=10; while(y-): printf(“y= d n“, y); 程序执行后的输出结果是 ( A) y=0 ( B) y=1 ( C) y=-1 ( D) while构成无限循环 22 有以下程序 #include void main() int s ; scanf(“ d“, &s); while(s0) switch(s) case 1: printf(“ d“, s+5); case 2: printf(“ d“, s+4); break;

10、case 3: printf(“ d“, s+3); default: printf(“ d“, s+1); b reak; scanf(“ d“, &s); 运行时,若输入 1 2 3 4 5 0,则输出结果是 ( A) 66656 ( B) 6566456 ( C) 66666 ( D) 6666656 23 有以下程序 #include main() int a=7; while (a-) ; printf(“ d n“, a); 程序运行后的输出结果是 ( A) 0 ( B) 1 ( C) -1 ( D) 7 24 在以下给出的表达式中,与 while(E)中的 (E)不等价的表达式是

11、 ( A) (E0Eb并且 bc时,变量 k的值等于 1,其余情况下,变量 k的值都是等于 0。 【知识模块】 C语言程序设计 18 【正确答案】 C 【试题解析】 while语句中表达式是循环条件,语句为循环体。 while语句中当表达式计算的值为真 (非 0)时,执行循环体语句。因此条件表达式执行的次数总是比循环体多一次。 【知识模块】 C语言程序设计 19 【正确答案】 B 【试题解析】 在 while循环中每次变量 v的值减 1,直到其值等于 0时退出循环,这时 y的再减 1变为 -1。 【知识模块】 C语言程序设计 20 【正确答案】 C 【试题解析】 在程序语句中, k的初始值为

12、5,进行第 1次 while循环后, k自减1为 4,非 0,执行循环体里的 printf语句,输出 1,此时 k的值变为 1。程序执行第 2次循环时, k自减 1变为 0,为假,退出 while循环语句。所以程序的最后结果为 l。 【知识模块】 C语言程序设计 21 【正确答案】 C 【试题解析】 while循环语句的循环体为空语句,所以每一次循环程序什么都 不做。当循环自变量 y=0时,退出循环结束,变量 y执行自减运算,得 -1,所以打印输出变量 y的值为 -1。 【知识模块】 C语言程序设计 22 【正确答案】 B 【试题解析】 这道试题主要考查了 switch和 break语句,当变

13、量 s的值为 1时,执行 case1、 case 2两条语句,输出 65;当变量 s的值为 2时,执行 case 2语句,输出 6:变量 s的值为 3时,执行 case3、 default两条语句,输出 64;变量 s的值为 4时,执行 default语句,输入 5;变量 s的值为 5时,执行 default语句, 输出6;变量 s的值为 0时,程序运行结束。 【知识模块】 C语言程序设计 23 【正确答案】 C 【试题解析】 在 while语句中,先判断 while后面的表达式是否为 0,如果为 0,则退出循环,甭则执行循环体。在本题中,当变量 a的值经过几次循环后,其值等于 0时,退出 w

14、hile循环语句,变量 a再执行自减运算,所以其值等于 -1。 【知识模块】 C语言程序设计 24 【正确答案】 A 【试题解析】 在 while(E)中,表达式 E可以是 C语言中任意合法的条件表达式,但不能为空,由它来控制 循环体是否执行。在选项 A)中表达式 E0E0是一个逻辑表达式。 【知识模块】 C语言程序设计 25 【正确答案】 C 【试题解析】 while循环的执行过程如下: 计算 while后面圆括号中表达式的值,当值为非 0时,执行步骤 ;当值为 0时,执行步骤 ; 执行循环体一次; 转去执行步骤 ; 退出循环。 在选项 C)中,表达式 (ch=getchar()!=N表示输

15、入的字符不等于 N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如 果这个条件表达式不成立,即输入的字符等于 N,则退出循环。 【知识模块】 C语言程序设计 26 【正确答案】 B 【试题解析】 循环体执行两次,第一次表达式 a+值为 -2, a的值为 -1,执行循环体 +b, b值为 1,第二次表达式 a+值为 -1, a的值等于 0,执行 +b, b值为2,第二次判断条件 a+,表达式值为 0,不执行循环体,但是条件判断以后, a的值为 1。 【知识模块】 C语言程序设计 27 【正确答案】 C 【试题解析】 循环条件表达式为赋值表达式 k=1,因此循环执行无限次。 【知识模块】 C语言程序设计 28 【正确答案】 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语言程序设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1