[计算机类试卷]国家二级C语言机试(选择题)模拟试卷57及答案与解析.doc

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

1、国家二级 C语言机试(选择题)模拟试卷 57及答案与解析 一、选择题 1 若变量已正确定义并赋值,以下不能构成 C语句的选项是 ( )。 ( A) B+; ( B) A=a+b; ( C) a=a+b ( D) A?a: b; 2 以下叙述中正确的是 ( )。 ( A)复合语句在语法上包含多条语句,其中不能定义局部变量 ( B)花括号对 只能用来表示函数的开头和结尾,不能用于其他目的 ( C)空语句就是指程序中的空行 ( D)当用 scanf从键盘输入数据时,每行数据在没按下回车键 (Enter键 )前, 可以任意修改 3 有以下程序: #include main( ) char cl, c2

2、, 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) 1245 ( B) 1256 ( C) 1278 ( D) 1267 4 若有以下程序: include char f(char x) return x*x+a; main() char a, b=0; for(a=0; a

3、 4; a+=1) b=fa; putcharb; 则程序的输出结果是 ( )。 ( A) abcd ( B) ABEJ ( C) abej ( D) ABCD 5 若有以下程序: #inclurle char f(char x) return x*x 10+0; main() char a; int b=0; for(a=0; a 5; a+=1) b=fa; putcharb; 则程序的输出结果是 ( )。 ( A) 014916 ( B) 01234 ( C) 01496 ( D) 00000 6 有以下程序: #include main() char a, b, c, d; scanf

4、(“ c c“, &a, &b); c=getchar(); d=getchar(); printf(“ c c c c n“, a, b, c, d; 当执行程序时,按下列方式输入数据 (从第 1列开始, 代表回车,注意:回车也是一个字符 ) 12 34 则输出结果是 ( )。 ( A) ( B) 12 ( C) 1234 ( D) 7 以下叙述中错误的是 ( )。 ( A) gets函数用于从终端读入字符串 ( B) getchar函数用于从磁盘文件读入字符 ( C) fputs函数用于把字符串输出到文件 ( D) fwrite函数用于以二进制形式输出数据到文件 8 要求通过 while循

5、环不断读人字符,当读入字母 N时结束循环。若变量已正确定义,以下正确的程序段是 ( )。 ( A) while(ch=getchar()=N) printf(“ c“, ch); ( B) while(ch=getchar()!=N)printf(“ c“, ch); ( C) while(ch=getehar()=N)pnntf(“ c“, ch); ( D) while(ch=getchar()=N)printf(“ c“, ch); 9 以下不能输出字符 A的语句是 (注:字符 A的 ASCII码值为 65,字符 a的 ASCII码值为 97)( )。 ( A) printf(“ c n

6、“, a-32); ( B) printf(“ d n“, A); ( C) printf(“ c n“, 65); ( D) printf(“ c n“, B-1); 10 已知字符 A的 ASCII代码值是 65,字符变量 c1的值是 A, c2的值是 D,则执行语句 prinff(“ d, d“, cl, c2-2);的输出结果是 ( )。 ( A) 65, 68 ( B) A, 68 ( C) A, B ( D) 65, 66 11 有以下程序: #include main( ) int x=1, y=0, a=0, b=0; switch(X) ease 1: switch(y) e

7、ase 0: a+; break; (3aBe 1: b+; break; case 2: a+; b+; break; printf(“a= d, b= d n“, a, b; 程序运行后的输出结果是 ( )。 ( A) a=1, b=0 ( B) a=1, b=1 ( C) a=2, b=1 ( D) a=2, b=2 12 有以下程序: #include main() int k, j, s; for(k=2; k main( ) char c1, c2; c1=A+8-4; c2=A+8-5; printf(“ c, d n“, c1, c2); 已知字母 A的 ASCII码为 65,

8、程序运行后的输出结果是 ( )。 ( A) E, 68 ( B) D, 69 ( C) E, D ( D)输出无定值 14 有如下程序段: int x=12; double y=3 141593; printf(“ d 8 6f“, x, y); 其输出结果是 ( )。 ( A) 123 141593 ( B) 12 3 141593 ( C) 12, 3 141593 ( D) 123 1415930 15 若变量已正确定义为 int型,要通过语句 seanf(“ d, d, d“, &a, &b, &C; 给 a赋值 1、给 b赋值 2、给 c赋值 3,以下输入形式中错误的是 (注:口代表

9、一个空格符 )( )。 ( A) 1, 2, 3 ( B)口口口 1, 2, 3 ( C) 1,口口口 2,口口口 3 ( D) 1口 2口 3 国家二级 C语言机试(选择题)模拟试卷 57答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 C语言中规定, C语句必须以分号 “; ”结束。 C选项中没有结束符号,所以错误。 2 【正确答案】 D 【试题解析】 复合语句可以包含多条语句,在其中可以定义局部变量,所以 A错误。花括号对 不仅用来表示函数的开头和结尾,也可以用于表示复合语句,所以 B错误。 C语言只有分号 “; ”组成的语句称为空语句,空语句是什么也不执行的语句,显然空语句不

10、是空行。所以 C错误。 3 【正确答案】 A 【试题解析】 scanf按照格式字符进行输入,所以 123与回车的值分别送入了c1、 c2、 c3、 04变量的存储空间。 getchar()函数的功能是从键盘输入的字符串中读人一个字符,所以 4送人了变量 c5的存储空间, 5送入了变量 c6的存储空间。所以打印时结果为 1245。 4 【正确答案】 C 【试题解析】 该题目首先初始化变量 a和 b,通过 for循环语句使 a取值为 0、1、 2、 3, f函数的功能是将 a*a+a的值返回给 b,即 b为 a、 b、 e、 j。最后通过字符输出函数 putchar()将 b输出。因此 c选项正确

11、。 5 【正确答案】 C 【试题解析】 该题目中 x*x 10表示 x和 x相乘后,结果再对 10求余操作。主函数中通过 for语句使变量 a从 0到 4进行取值;当 a=0时,调用函数 f后,返回值为 0赋给 b,并且进行字符输出;当 a=1时,返回值为 1赋给 b,并且进行字符输出;当 a=2时,返回值为 4赋给 b,并且进行字符输出;当 a=3时,返回值为 9赋给 b,并且进行字符输出;当 a=4时,返回值为 6赋给 b,并且进行字符输出。因此 C选项正确。 6 【正确答案】 D 【试题解析】 按照从键盘输入的数据可以判断字符 1给了变量 a,字符 2给了变量 b,字符 即回车给了变量

12、c,字符 3给了变量 d。所以打印输出的结果为 D选项。 7 【正确答案】 B 【试题解析】 本题考查字符处理函数和文件操作函数,属于基础知识,其中 B选项 getchar是用于从终端读人字符。 8 【正确答案】 B 【试题解析】 在 c语言中等于号用 “=”表示,一个 “=”表示赋值,所以 A错误。C、 D选项的含义都是如果输入的字符为 “N”,则打印输出,所以正好和题意相反。 9 【正确答案】 B 【试题解析】 B选项输出的格式为 d,即为整型格式,所以输出字符 A的AscII码值 65,而不是字符 A。由于大写字母比其对应的小写字母的 ASCII码值小 32,所以 A正确。字符 A的 A

13、SCII码值就是 65,所以 c格式可以输出字符A,所以 C正确。由于字符 A的 ASCII码值比字符 B的小 1,所以 D正确。 10 【正确答案】 D 【试题解析】 打印时以 d整型格式打印输出,所以字符变量 cl的值打印出来就是 65, c2-2即 68-2,打印出来就是 66。所以选择 D。 11 【正确答案】 C 【试题解析】 本题重点考查 switch语句。 switch语句中 case分支后面如果没有break,那么就会顺序执行下面的 case,直到遇到 break跳出。 由于变量 a和变量b均赋初值为 0,当程序执行完第二层 switch的语句 case 0: a+, brea

14、k后,第二层 switch结束, a的值为 1,继续执行第一层 switch的语句 case 2: a+; b+; break; a的值为 2, b的值为 1。因此 C选项正确。 12 【正确答案】 B 【试题解析】 本题重点考查 for语句循环嵌套。首先 k=2,进行一次循环后, k自增两次,变成 4,这时 s为 1,即当 k=4的时候, s=1, j=4,执行内层循环,s=1+4, j自增 1后等于 5, s=5+5, j再自增 1后即为 6,跳出内层循环。 k自增两次后等于 6,不成立,跳出外层循环。最后输出 s的值,即为 10。因此 B选项正确。 13 【正确答案】 A 【试题解析】 本题目中字符变量 c1是字符 A的 ASCII码加上 4,即 69所对应的字符为 E。字符变量 c2是字符 A的 ASCII码加上 3,即 68所对应的字符为 D。但是打印输出时, c1以 c的格式输出,所以是 E, c2以 d的格式输出,所以是68。 14 【正确答案】 A 【试题解析】 printf函数中格式字符 “ 8 6”的含义是:变量 y的输出宽度为8(包括小数点 ),小数点后面保留 6位小数,且右对齐。所以选择 A。 15 【正确答案】 D 【试题解析】 scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符,以保证匹配。所以逗号必须输入。

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

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

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