[计算机类试卷]国家二级C语言(选择结构、循环结构)机试模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级C语言(选择结构、循环结构)机试模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(选择结构、循环结构)机试模拟试卷2及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(选择结构、循环结构)机试模拟试卷 2及答案与解析 一、选择题 1 下列选项中,当 x为大于 1的奇数时,值为 0的表达式是 ( )。 ( A) x 2=0 ( B) x 2 ( C) x 21=0 ( D) x 2=1 2 若 a是数值类型,则逻辑表达式 (a=1)|(a!=1)的值是 ( )。 ( A) 1 ( B) 0 ( C) 2 ( D)不知道 a的值,不能确定 3 当变量 13的值不为 2、 4、 6时,值为 “真 ”的表达式是 ( )。 ( A) (c =2&e =6)&(c 2!=1) ( B) (c=2)|(c=4)|(c=6) ( C) (c =2&c =6
2、)&!(c 2) ( D) (c =2&c =6)|(c!=3)|(c!=5) 4 有以下程序: #include stdio h main() int a=1, b=2, c=3, d=0; if(a=1&b+=2) if(b!=2|c-!=3) printf(“ d, d, d n“, a, b, c); else printf(“ d, d, d n“, a, b, c); else printf(“ d, d, d n“, a, b, c); 程序的运行结果是 ( )。 ( A) 1, 3, 2 ( B) 1, 3, 3 ( C) 1, 2, 3 ( D) 3, 2, 1 5 下列关于
3、逻辑运算符两侧运算对象的叙述中正确的是 ( )。 ( A)可以是任意合法的表达式 ( B)只能是整数 0或非 0整数 ( C)可以是结构体类型的数据 ( D)只能是整数 0或 1 6 设有宏定义: #define IsDIV(k, n)(k n=1)?1: 0),且变量 m已确定义并赋值,则宏调用: IsDIV(m, 5)&IsDIV(m, 7)为 真时所要表达的是 ( )。 ( A)判断 m是否能被 5和 7整除 ( B)判断 m被 5和 7整除是否都余 1 ( C)判断 m被 5或者 7整除是否余 1 ( D)判断 m是否能被 5或者 7整除 7 if语句的基本形式是: if(表达式 )语
4、句,以下关于 “表达式 ”值的叙述中正确的是( )。 ( A)必须是逻辑值 ( B)必须是整数值 ( C)必须是正数 ( D)可以是任意合法的数值 8 下列条件语句中,输出结果与其他语句不同的是 ( )。 ( A) if(a!=0)printf(“, d n“, x); else printf(“ d n“, y); ( B) if(a=0)printf(“ d n“, y); else printf(“ d n“, x); ( C) if(a=0)printf(“ d n“, x); else printf(“ d n“, y); ( D) if(a)printf(“ d n“, x); e
5、se printf(“ d n“, y); 9 有以下程序: #include stdio h main() int a=0, b=0, c=0, d=0; if(a=1)b=1; c=2; else d=3; printf(“ d, d, d, d n“, a, b, c, d); 程序的运行结果是 ( )。 ( A) 1, 1, 2, 0 ( B) 0, 0, 0, 3 ( C)编译有错 ( D) 0, 1, 2, 0 10 设有定义: int a=1, b=2, c=3;以下语句中执行效果与其他 3个不同的是( )。 ( A) if(a b)c=a, a=b, b: c; ( B) if
6、(a b)c=a, a=b, b=c; ( C) if(a b)c=a; a=b; b=c; ( D) if(a b)c=a; a=b; b=c; 11 有嵌套的 if语句: if(a b) if(a c)k=a; else k=c; else if(b c)k=b; else k=c; 以下选项中与上述 if语句等价的语句是 ( )。 ( A) k=(a b)?(b c)?a: b): (b c)?b: c); ( B) k=(a b)?(a c)?a: c): (b c)?b: c); ( C) k=(a b)?a: b; k=(b c)?b: c; ( D) k=(a b)?a: b;
7、k=(a c)?a: c; 12 有以下程序: #include stdio h main() int x=1, y=2, z=3; if(x y)if(y z) printf(“ d“, +z); else printf(“ d“, +y); printf(“ d n“, x+); 程序的运行结果是 ( )。 ( A) 1 ( B) 41 ( C) 2 ( D) 331 13 以下程序段中,与语句 k=a b?(b c?1: 0): 0;功能相同的是 ( )。 ( A) if(a b)|(b c)k=1; else k=0; ( B) if(a b)&(b c)k=1; else k=0;
8、( C) if(a =b)k=0; else if(b = c)k=1; ( D) if(a b)k=1; else if(b c)k=1; else k=0; 14 有以下程序: #include stdio h main() int x=1, y=0, a=0, b=0; switch(x) case1: switch(y) ease0: a+; break; ease1: b+; break; ease2: a+; b+; break; case3: a+; b+; printf(“a= d, b= d n“, a, b); 程序的运行结果是 ( )。 ( A) a=2, b=2 ( B
9、) a=2, b=1 ( C) a=1, b: 1 ( D) a=1, b=0 15 若有定义: float x=1 5; int a=1, b=3, c=2;,则正确的 switch语句是 ( )。 ( A) switch(a+b) ease1: printf(“* n“); ease2+1: printf(“* n“); ( B) switch(int)x); ease1: printf(“* n“); case2: printf(“* n“); ( C) switch(x) case1 0: printf(“* n“); ease2 0: printf(“* n“); ( D) swit
10、ch(a+b) case1: printf(“* n“); case c: printf(“* n“); 16 下列叙述中正确的是 ( )。 ( A)在 switch语句中不一定使用 break语句 ( B)在 switch语句中必须使用 default语句 ( C) break语句必须与 switch语句中的 ease配对使用 ( D) break语 句只能用于 switch语句 17 下列选项中与 if(a=1)a=b; elsea+;语句功能不同的 switch语句是 ( )。 ( A) switch(a=1) ease0: a=b; break; case1: a+; ( B) swi
11、tch(a) ease1: a=b; break; default: a+; ( C) switch(a) default: a+; break; ease1: a=b; ( D) switch(a=1) case1: a=b; break; ease0: a+; 18 有以下程序: #include stdio h main() int y=10: while(y-); printf(“y= d n“, y); 程序执行后的输出结果是 ( )。 ( A) y=0 ( B) y=-1 ( C) y=1 ( D) while构成无限循环 19 有以下程序: #include stdio h ma
12、in() int k=5: while(-k) printf(“ d“, k-=3); printf(“ n“); 执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 4 ( D)死循环 20 有以下函数: int fun(char*s) char*t=s; while(*t+); return(t-s); 该函数的功能是 ( )。 ( A)计算 s所指字符串的长度 ( B)比较两个字符串的大小 ( C)计算 S所指字符串占用内存字节的个数 ( D)将 s所指字符串复制到字符串 t中 21 有以下函数: int aaa(char, *s) char, *t=s:; while(
13、*t+); t-; return(t-s); 以下关于 aaa函数功能叙述正确的是 ( )。 ( A)将串 s复制到串 t ( B)比较两个串的大小 ( C)求字符串 s的长度 ( D)求字符串 s所占字节数 22 在以下给出的表达式中,与 while(E)中的 (E)不等价的表达式是 ( )。 ( A) (E 0|E 0) ( B) (E=0) ( C) (!E=0) ( D) (E!=0) 23 以下不构成无限循环的语句或语句组是 ( )。 ( A) n=0; do+n; while(n =0); ( B) n=0; while(1)n+; ( C) n=10; while(n); n-;
14、 ( D) for(n=0, i=1; i+)n+=i; 24 若变量已正确定义,有以下程序段: i=0; do printf(“ d, “, i); while(i+);printf(“ d n“, i);程序的运行结果是 ( )。 ( A) 0, 1 ( B) 0, 0 ( C) 1, 1 ( D)程序进入无限循环 25 以下程序段中的变量已正确定义: for(i=0; i 4; i+, i+) for(k=1; k 3; k+); printf(“*“); 程序 的运行结果是 ( )。 ( A) * ( B) * ( C) * ( D) * 26 有以下程序: #i13clude std
15、io h main() int y=9; for(; y 0; y-) if(y 3=0) printf(“ d“, -y); 程序的运行结果是 ( )。 ( A) 852 ( B) 963 ( C) 741 ( D) 875421 27 有以下程序: #include stdio h main() int a=1, b=2; for(; a 8; a+) b+=a; a+=2; printf(“ d, d n“, a, b); 程序运行后的输出结果是 ( )。 ( A) 9, 18 ( B) 8, 11 ( C) 7, 11 ( D) 10, 14 28 有以下程序: #include st
16、dio h main() int x=8; for(; x 0; x-) if(x 3) printf(“ d, “, x-); continue; printf(“ d, “, -x); 程序的运行结果是 ( )。 ( A) 7, 4, 2, ( B) 8, 7, 5, 2, ( C) 9, 7, 6, 4, ( D) 8, 5, 4, 2, 29 有以下程序: #include stdio h main() int b33=0, 1, 2, 0, 1, 2, i, j, t=1; for(i=0; i 3; i+) for(j=i; j =i; j+)t+=bibji; printf(“
17、d n“, t); 程序的运行结果是 ( )。 ( A) 3 ( B) 4 ( C) 1 ( D) 9 30 有以下程序: #include stdio h main() int i; for(i=1; i =40; i+) if(i+ 5=0) if(+i 8=0) printf(“ d“, i); printf(“ n“); 程序的运行结果是 ( )。 ( A) 5 ( B) 24 ( C) 32 ( D) 40 31 有以下程序: #include stdio h main() int i, j, m=55; for(i=1; i =3; i+) for(j=3; j =i; j+) m
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 选择 结构 循环 模拟 答案 解析 DOC
