[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷28及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷28及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷28及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试( C语言程序设计)模拟试卷 28及答案与解析 一、选择题 1 有以下程序 #include main()int a1, a2; char c1, c2; scanf(“ d c d c“, &al, &c1, &a2, &c2); printf(“ d, c, d, c“, a1, c1, a2, c2): 若想通过键盘输入,使得 al的值为 12, a2的值为 34, c1的值为字符 a, c2的值为字符 b,程序输出结果是: 12, a, 34, b则正确的输入格式是 (以下 口代表空格,代表回车 ) ( A) 12a34b ( B) 12, a, 34, b ( C
2、) 12a34b ( D) 12a34b 2 有以下程序 #include main()char c1 c2, c3, c4, c5, c6; scanf(“ c c c c“, &c1, &c2, &c3, &c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“ c c n“, c5, c6); 程序运行后,若从键盘输入 (从第 1列开始 )123 45678则输出结果是 ( A) 1256 ( B) 1278 ( C) 1245 ( D) 1 267 3 若有定义语句: double x, y, *px, *
3、py;执行 px=&x; py=&y;正确的输入语句是 ( A) scanf(“ f f“&x, &y); ( B) scanf(“ f f“, x, y); ( C) scanf(“ lf le“, px, py); ( D) scanf(“ lf lf“, x, y); 4 以下程序段 完全正确的是 ( 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): 5 若在定义语句: int a,
4、 b, c, *p=&c;接着执行以下选项中的语句,则能正确执行的语句是 ( A) scanf(“ d d d“, a, b, c); ( B) scanf(“ d“, a, b, c); ( C) scanf(“ d”, p); ( D) scanf(“ d“, &p); 6 有以下程序段 intj; float y; char name50; scanf(“ 2d f s“, &i, &yname); 当执行上述程序段,从键盘上输入 55566 7777abc后, y的值为 ( A) 55566 0 ( B) 7777 0 ( C) 566 0 ( D) 566777 0 7 有以下程序段
5、 char name20; int num; scanf(“name= s num= d“, name, &num); 当执行上述程序段,并从键盘输入: name=Lili num=1001后, name的值为 ( A) name=Lili ( B) Lili num= ( C) name=Lili num=1001 ( D) Lili 8 s1和 s2已正确定义并分别指向两个字符串。若要求:当 s1所指串大于 s2所指串时,执行语句 S;则以下选项中正确的是 ( A) iffs1s2)S; ( B) if(strcmp(s1, s2)S; ( C) if(strcmp(s2, s1)0)S;
6、 ( D) if(strcp(s1, s2)0)S: 9 把以下四个表达式用作 if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是 ( A) k 2 ( B) k 2=1 ( C) (k 2)!=0 ( D) !k 2=1 10 以下是 if语句的基本形式: if(表达式 )语句 其中 “表达式 ” ( A)必须是逻辑表达式 ( B)必须是关系表达式 ( C)必须是逻辑表达或关系表达 ( D)可以是任意合法的表达式 11 有以下程序 main()int a=0, b=0, c=0, d=0; if(a=1)b=1; c=2; else d=3; printf(“ d, d,
7、d, d n“, a, b, c, d); 程序输出 ( A) 0, 0, 0, 3 ( B) 1, 1, 2, 0 ( C)编译有错 ( D) 0 1 2, 0 12 有以下程序 main()int x=1, y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; pfintf(“ d n“, y); 程序运行后的输出 结果是 ( A) 2 ( B) 0 ( C) 1 ( D) 3 13 若变量已正确定义,在 if(W)printf(“ d n“, k);中,以下不可替代 W的是 ( A) ch=getchar() ( B) a=b+c ( C)
8、ab)a=b, b=c; c=a; printf(“a= d b= d c= d n“, a, b, c); 程序的输出结果是 ( A) a=10 b=50 c=30 ( B) a=10 b=30 c=10 ( C) a=10 b=50 c=10 ( D) a=50 b=30 c=5 15 设有定义: int a=1, b=2, c=3;以下语句中执行效果与其它三个不同的是 ( A) if(ab)c=a; a=b; b=c; ( B) if(ab)c=a, a=b, b=c; ( C) if(ab)c=a, a=b, b=c; ( D) if(ab)c=a; a=b; b=c; 16 if语句
9、的基本形式是: if(表达式 )语句,以下关于 “表达式 ”值的叙述中正确的是 ( A)必须是整数值 ( B)必须是正数 ( C)可以是任意合法的数值 ( D)必须是逻辑值 17 有如下嵌套的 if语句 if(a=0)y=sqrt(x); else y=sqrt(-x); ( C) if(x=0)y=sqrt(x); if(x=07x: -x); 19 有以下程序 #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; printf
10、(“ d, d, d, d n“, a, b, c, d); 则程序的输出结果是 ( A) 2, 1, 2, -1 ( B) 2, 2, 2, 4 ( C) 5, 1, 2, -1 ( D) 1, 2, 3, 4 23 若有以下程序 #include main()int a=1, b=2, c=3, d=4, r=0; if(a!=1); else r=1; if(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 ( D) 3 24 若有以下程序
11、 #include main()int a=1, b=2, c=3, d=4; if(a=2)&(b=1)c=2; if(c=3)Il(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 25 若有以下程序 main()int a=l, b=2, c=3, d=4, r=0; if(a!=1); else r=1; if(b=2)r+=2; if(c!=3); r+=3; if(d=4)r+=4;
12、printf(“ d n“, r); 则程序的输出结果是 ( A) 7 ( B) 10 ( C) 6 ( D) 3 26 以下叙述中正确的是 ( A) if语句只能嵌套一层 ( B)不能在 else子句中再嵌套 if语句 ( C) if子句和 else子句中可以是任意的合法的 C语句 ( D)改变 if-else语 句的缩进格式,会改变程序的执行流程 27 以下选项中与 if(a=1)a=b; else a+;语句功能不同的 switch语句是 ( A) switch(a) case 1: a=b: break; default: a+; ( B) switch(a=1) case 0: a=
13、b; break; case 1: a+; ( C) switch(a) default: a+; break; case 1: a=b; ( D) switch(a=1) case 1: a=b; break; case 0: a+; 国家二级 C语言机试( C语言程序设计)模拟试卷 28答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 本题考查 scanf语句。 SCanf()函数是格式化输入函数,它从标准输入设备 (键盘 )读取输入的信息。 其调用格式为: scanf(“, ) 格式化字符串包括以下 3类不同的字符。 格式化说明符:格式化说明符与前面用的 printf()函数中
14、的格式说明符基本相同。 空白字符:空白字符会使 scanf()函数在读操作中略去输入中的一个或多个空白字符。 非空白字符:一个非空白字符会使 scanf()函数在读入时剔除掉与这个非空白字符相同的字符。 由于在 scanf函数中,几个变量之间没有任何间隔,所以输入的时候,也同样不应该有间隔。 【知识模块】 C语言程序设计 2 【正确答案】 C 【试题解析】 当用 scanf函数从键盘输入数据时,每行数据的未尾按下回车键(Enter键 )之前,可以任意修改。但按下回车键 putchar(c1)(Enter键 )之后, scanf函数即接受了这一行数据,不能再回去修改。所以本题中,当输入 123时
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 28 答案 解析 DOC
