[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷5及答案与解析.doc
《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷5及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷5及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言( C语言程序设计)机试模拟试卷 5及答案与解析 一、选择题 1 设有定义: int n1=0, n2, *p=n2, *q=n1;,以下赋值语句中与 n2=n1;语句等价的是 ( A) *p; *q; ( B) p=q; ( C) *p=n1; ( D) p=*q; 2 以下叙述中正确的是 ( A)赋值语句是一种执行语句,必须放在函数的可执行部分 ( B) scanf和 printf是 C语言提供的输入和输出语句 ( C)由 printf输出的数据都隐含左对齐 ( D)由 printf输出的数据的实际精度是由格式控 制中的域宽和小数的域宽来完全决定的 3 执行以下程序段后,
2、w的值为 int W=A, x=14, y=15; w=(x|y)&(w a); ( A) -1 ( B) NULL ( C) 1 ( D) 0 4 若有以下程序 #include stdio h main()int b=10, a=-11; a =b =4: printf(“ d d n“, a, b); 则程序的输出结果是 ( A) 1 2 ( B) -1 -2 ( C) -1 2 ( D) 1 -2 5 若变量已正确定义为 int型,要通过 语句 scanf(“ d, d, d“, &a, &b,&c);给 a赋值 1、给 b赋值 2、给 c赋值 3,以下输入形式中错误的是 (注: 代表
3、一个空格符 ) ( A) 1 2, 3 ( B) 1, 2, 3 ( C) 1 2 3 ( D) 123 6 若有定义 int a; float b; double c;程序运行时输入: 3 4 5能把值 3输入给变量a、 4输入给变量 b、 5输入给变量 c的语句是 ( A) scanf(“ d 1f 1f, &a, &b, &c); ( B) scanf(“ d f 1f“, &a, &b, &c); ( C) scanf(“ d f f, &a, &b, &c); ( D) scanf(“ f 1f 1f“, &a, &b, &c); 7 以下叙述中正确的是 ( A)在 scanf函数的
4、格式串中,必须有与输入项一一对应的格式转换说明符 ( B)只能在 printf函数中指定输入数据的宽度,而不能在 scanf函数中指定输入数据占的宽度 ( C) scanf函数中的字符串,是提示程序员的,输入数据时不必管它 ( D)复合语句也被称为语句块,它至少要包含两条语句 8 以下程序段完全正确的是 ( A) int k, *p=&k; scanf(“ d“, p); ( B) int*p; scanf(“ d“, p); ( C) int*p; scanf(“ d“, &p); ( D) int k, *p; *p=&k; scanf(“ d“, p); 9 s1和 s2已正确定义并分别
5、指向两个字符串。若要求:当 s1所指串大于 s2所指串时,执行语句 S;则以下选项中正确的是 ( A) if(s1 s2)S; ( B) if(strcmp(s1, s2)S; ( C) if(strcmp(s2, s1) 0)S; ( D) if(strcp(s1, s2) 0)S; 10 有以下程序 main()int x=1, y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“ d n“, y); 程序运行后的输出结果是 ( A) 2 ( B) 0 ( C) 1 ( D) 3 11 if语句的基本形式是: if(表达式 )
6、语句,以下关于 “表达式 ”值的叙述中正确的是 ( A)必须是整数值 ( B)必须是正数 ( C)可以是任意合法的数值 ( D)必须是逻辑值 12 有以下程序 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, 2, 3 ( C) 1, 3, 3 ( D) 3,
7、2, 1 13 若有以下程序 #include stdio h 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 14 若以下选项中变量全部为整型变量,且已正确是义并赋值,则语法正确的switch语句是 ( A) switch(a+b) case1: case3: y=a+b; break
8、; case0: case4: y=a-b; ( B) switch(a*a+b*b) default: break; case3: y=a+b: break; case2: y=a-b; break; ( C) switch(a+9) case c1: y=a-b; case c2: y=a+b; ( D) switch a*b case10: x=a+b; default: y=a-b: 15 有以下程序 main()int k=5, n=0; doswitch(k) case1: case3: n+=1; k-; break; default: n=0; k-; case2: case4
9、: n+=2; k-; break; printf(“ d“, n); while(k 0&n 5) 运行以后的输出结果是 ( A) 0235 ( B) 235 ( C) 02356 ( D) 2356 16 在嵌套使用 if语句时, C语言规定 else总是 ( A)和之前与其具有相同缩进位置的 if配对 ( B)和之前与其最近的 if配对 ( C)和之前与其最近的且不带 else的 if配对 ( D)和之前的第一个 if配对 17 有以下程序 main()int k=5; while(-k) printf(“ d“, k-=3); printf(“ n“); 执行后的输出结果是 ( A)
10、2 ( B) 4 ( C) 1 ( D)死循环 18 在以下给出的表达式中,与 while(E)中的 (E)不等价的表达式是 ( A) (E 0|E 0) ( B) (!E=0) ( C) (E!=0) ( D) (E=0) 19 有以下程序 main()int a=-2, b=0; while(a+&+b); printf(“ d, d n“, a, b); 程序运行后输出结果是 ( A) 0, 3 ( B) 1, 2 ( C) 1, 3 ( D) 0, 2 20 若变量己正确定义,有以下程序段 i=0; do printf(“ d, “, i); while(i+); printf(“ d
11、 n“, i);其输出结果是 ( A) 0, 0 ( B) 1 1 ( C) 0, 1 ( D)程序进入无限循环 21 若 k是 int类型变量,且有以下 for语句 1 for(k=-1; k 0; k+)printf(“* n“); 下面关于语句执行情况的叙述中正确的是 ( A)循环体执行两次 ( B)循环体执行一次 ( C)循环体一次也不执行 ( D)构成无限循环 22 有以下程序 #include stdio h void main() int c=0, k; for(k=1; k 3; k+) switch(k) default: c+=k; case2: c+; break; ca
12、se4: c+=2; break; printf(“ d n“, c); ( A) 9 ( B) 7 ( C) 5 ( D) 3 23 有以下程序 #include stdio h void main() char b, c; 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) aBcDeF ( C) abcdef ( D) AbCdEf 24 若有以下程序 main()int a=6, b=0, c=0; fo
13、r(; a&(b=0); ) b+=a; a-=c+: printf(“ d, d, d n“, a, b, c); 则程序的输出结果是 ( A) 6, 0, 0 ( B) 5, 6, 0 ( C) 6, 6, 1 ( D) 5, 6, 1 25 有以下程序 main() int i, j; for(i=1; i 4; i+) for(=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=
14、6 3*3=9 ( C) 1*1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9 ( D) 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 26 有以下程序 #include stdio h main()int x=8; for(; x 0; x-) if(x 3)printf(“ d, “, x-); continue; printf(“ d, “, -x); 程序的运行结果是 ( A) 8, 7, 5, 2, ( B) 9, 7, 6, 4, ( C) 7, 4, 2, ( D) 8, 5, 4 2, 国家二级 C语言( C语言程序设计)机试模拟试卷
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 答案 解析 DOC
