[计算机类试卷]国家二级C语言(选择结构、循环结构)机试模拟试卷3及答案与解析.doc
《[计算机类试卷]国家二级C语言(选择结构、循环结构)机试模拟试卷3及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(选择结构、循环结构)机试模拟试卷3及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(选择结构、循环结构)机试模拟试卷 3及答案与解析 一、选择题 1 下列选项中,当 x为大于 1的奇数时,值为 0的表达式是 ( )。 ( A) x 2=0 ( B) x 2 ( C) x 2!=0 ( D) x 2=1 2 若 a是数值类型,则逻辑表达式 (a=1)|(a!=1)的值是 ( )。 ( A) 1 ( B) 0 ( C) 2 ( D)不知道 a的值,不能确定 3 当变量 c的值不为 2、 4 6时,值为 “真 ”的表达式是 ( )。 ( A) (c =2&c =6)&(c 21=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) prinff(“ d, d, d n“, a, b, c); else prinff(“ d, d, d n“, a, b, c); else prinff(“ 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已正确定义并赋值,则宏调用: Is DIV(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)pfintf(“ d n“, x); elsepfintf(“ d n“, y); ( B) if(a=0)pfintf(“ d n“, y); elseprintf(“ d n“, x); ( C) if(a=0)pfintf(“ d n“, x); elsepnnff(“ d n“, y); ( D) if(a)pfintf(“ d n“, x); elseprin
5、tf(“ 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)e=a, a=b, b=C; ( B) if(a b)c=
6、a, a=b, b=c; ( C) if(a b)e=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; k=(a e
7、)?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; ( C)
8、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) ease 0: a+; break; ease1: b+; break; case2: a+; b+; break; ease3: a+; b+; printf(“a= d, b= d n“, a, b); 程序的运行结果是 ( )。 ( A) a=2, b=2 ( B) a=
9、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); case1: prinff(“* n“); case2: printf(“* n“); ( C) switch(x) case1 0: printf(“* n“); case2 0: printf(“* n“); ( D) switch(a+
10、b) ease1: printf(“* n“); casec: prinff(“* n“); 16 下列叙述中正确的是 ( )。 ( A)在 switch语句中不一定使用 break语句 ( B)在 switch语句中必须使用 default语句 ( C) break语句必须与 switch语句中的 ease配对使用 ( D) break语句只能 用于 switch语句 17 下列选项中与 if(a=1)a=b; else a+;语句功能不同的 switch语句是 ( )。 ( A) switch(a=1) ease0: a=b; break; case1: a+; ( B) switch(a
11、) ease1: a=b; break; default: a+; ( C) switch(8t) default: a+; break; ease1: a=b; ( D) switch(a=1) ease1: 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 main(
12、 ) 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(*t+); t
13、-: 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-; ( D) f
14、or(n=0, i=1; i+)n+=i; 24 若变量已正确定义,有以下程序段: i=0; do prinff(“ d, “, i); while(i+);prinff(“ 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+); prinff(“*“); 程序的 运行结果是 ( )。 ( A) * ( B) * ( C) * ( D) * 26 有以下程序: #include stdio h mai
15、n( ) 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; prinff(“ d, d n“, a, b); 程序运行后的输出结果是 ( )。 ( A) 9, 18 ( B) 8, 11 ( C) 7, 11 ( D) 10, 14 28 有以下程序: #include stdio h
16、main( ) int x=8: for(; x 0; x-) if(x 3) prinff(“ d, “, x-); continue; prinff(“ 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, 0, 1, 2, i, j, t=1; for(i=0; i 3; i+) for(j=i; j =i; j+)t+=bibji; prin
17、ff(“ 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); prinff(“ n“); 程序的运行结果是 ( )。 ( A) 5 ( B) 24 ( C) 32 ( D) 40 31 有以下程序: #include stdio h main( ) inti, j, m=55; for(i=1; i =3; i+) for(j: 3; j =i
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 选择 结构 循环 模拟 答案 解析 DOC
