[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编2及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编2及答案与解析.doc(36页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试历年真题试卷汇编 2及答案与解析 一、选择题 1 以下关于结构化程序设计的叙述中正确的是 ( )。【 10年 9月】 ( A)一个结构化程序必须同时由顺序、分支、循环三种结构组成 ( B)结构化程序使用 goto语句会很便捷 ( C)在 C语言中,程序的模块化是利用函数实现的 ( D)由三种基本结构构成的程序只能解决小规模的问题 2 以下关于简单程序设计的步骤和顺序的说法中正确的是 ( )。【 10年 9月】 ( A)确定算法后,整理并写出文档,最后进行编码和上机调试 ( B)首先 确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档 ( C)先编码和上机调试,
2、在编码过程中确定算法和数据结构,最后整理文档 ( D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 3 以下叙述中错误的是 ( )。【 10年 9月】 ( A) C程序在运行过程中所有计算都以二进制方式进行 ( B) C程序在运行过程中所有计算都以十进制方式进行 ( C)所有 C程序都需要编译链接无误后才能运行 ( D) C程序中整型变量只能存放整数,实型变量只能存放浮点数 4 有以下定义: int a; long b; double x, y;,则以下选项中正确的表达式是 ( )。【 10年 9月】 ( A) a (int)(x-y) ( B) a=x!=y; ( C)
3、(a*y) b ( D) y=x+y=x 5 以下选项中能表示合法常量的是 ( )。【 10年 9月】 ( A)整数: 1, 200 ( B)实数: 1 5E2 0 ( C)字符斜杠: ( D)字符串; “ 007” 6 表达式 a+=a-=a=9的值是 ( )。【 10年 9月】 ( A) 9 ( B) -9 ( C) 18 ( D) 0 7 若变 量已正确定义,在 if(W)print(“ d n“, k);中,以下不可替代 W的是( )。【 10年 9月】 ( A) a b+c ( B) ch=getchar() ( C) a=b+c ( D) a+ 8 以下关于 C语言的叙述中正确的是
4、 ( )。【 10年 3月】 ( A) C语言中的注释不可以夹在变量名或关键字的中间 ( B) C语言中的变量可以在使用之前的任何位置进行定义 ( C)在 C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 ( D) C语言的数值常量中夹带空格不影响常量值的正确表示 9 以下 C语言用户标识符中,不合法的是 ( )。【 10年 3月】 ( A) -1 ( B) AaBc ( C) a b ( D) a-b 10 以下关于 C语言数据类型使用的叙述中错误的是 ( )。【 10年 3月】 ( A)若要准确无误差的表示自然数,应使用整数类型 ( B)若要保存带有多位小数的数据,应使用双精度类型
5、 ( C)若要处理如 “人员信息 ”等含有不同类型的相关数据,应自定义结构体类型 ( D)若只处理 “真 ”和 “假 ”两种逻辑值,应使用逻辑类型 11 有以下程序,其中 k的初值为八进制数: #include stdio h main() int k=011; printf(“ d n“, k+); 程序运行后的输出结果是 ( )。【 10年 3月】 ( A) 12 ( B) 11 ( C) 10 ( D) 9 12 有以下程序: #include stdio h main() int a=2, b=-2, c=2; printf(“Vodkn“,a b&c); 程序运行后的输出结果是 (
6、)。【 10年 3月】 ( A) 0 ( B) 1 ( C) 2s ( D) 3 13 以下选项中,能用作用户标识符的是 ( )。【 09年 9月】 ( A) void ( B) 8_8 ( C) _0_ ( D) unsigned 14 表达式 (int)(double)9 2)-(9) 2的值是 ( )。【 09年 9月】 ( A) 0 ( B) 3 ( C) 4 ( D) 5 15 若有定义语句: int x=10;,则表达式 x-=x+x的值为 ( )。【 09年 9月】 ( A) -20 ( B) -10 ( C) 0 ( D) 10 16 以下叙述中正确的是 ( )。【 09年 9
7、月】 ( A)程序设计的任务就是编写程序代码并上机调试 ( B)程序设计的任务就是确定所用数据结构 ( C)程序设计的任务就是确定所用算法 ( D)以上三种说法都不完整 17 以下选项中合法的标识符是 ( )。【 09年 3月】 ( A) 1_1 ( B) 1-1 ( C) _11 ( D) 1_ 18 以下选项中,能用作数据常量的是 ( )。【 09年 3月】 ( A) 0115 ( B) 0118 ( C) 1 5e1 5 ( D) 115L 19 以下叙述中正确的是 ( )。【 08年 9月】 ( A) C程序的基本组成单位是语句 ( B) C程序中的每一行只能写一条语句 ( C)简单
8、C语句必须以分号结束 ( D) C语句必须在一行内写完 20 计算机能直接执行的程序是 ( )。【 08年 9月】 ( A)源程序 ( B)目标程序 ( C)汇编程序 ( D)可执行程序 21 有以下程序: #include stdio h main() int a=1, b=0; if(!a)b+; else if(a=0)if(a)b+=2; else b+=3; printf(“ d n“, b); 程序运行后的输出结果是 ( )。【 10年 9月】 ( A) 0 ( B) 1 ( C) 2 ( D) 3 22 若有定义语句 int a, b; double x;,则下列选项中没有错误的
9、是 ( )。【 10年9月】 ( A) switch(x 2) case 0: a+; break; case 1: b+: break; default: a+; b+; ( B) switch(int)x 2 0) case 0: a+; break; case 1: b+; break; default: a+; b+; ( C) switch(int)x 2) case 0: a+; break; case 1: b+: break; default: a+ b+; ( D) switch(int)(x) 2) case 0 0: a+; break; case 1 0: b+; br
10、eak; default: a+; b+; 23 有以下程序: #inelude stdio h main() int a=1, b=2; while(a 6)b+=a; a+=2; b =10; ) printf(“ d, d n“, a, b); 程序运行后的输出结果是 ( )。【 10年 9月】 ( A) 5, 11 ( B) 7, 1 ( C) 7, 11 ( D) 6, 1 24 有以下程序: #include stdio h main() inty=10; while(y-); printf(”y= d n“, y); 程序执行后的输出结果是 ( )。【 10年 9月】 ( A)
11、y=0 ( B) y=-1 ( C) V=1 ( D) while构成无限循环 25 若有定义: double a=22; int i=0, k=18;,则不符合 C语言规定的赋值语句是( )。【 10年 3月】 ( A) a=a+, i+; ( B) i=(a+k) =(i+k); ( C) i=a 11: ( D) i=!a; 26 若 a是数值类型,则逻辑表达式 (a=1)(a!=1)的值是 ( )。【 10年 3月】 ( A) 1 ( B) 0 ( C) 2 ( D)不知道 a的值,不能确定 27 有如下嵌套的 if语句: if(a b) if(a c)k=a; else k=c; e
12、lse if(b c)k=b; else k=c; 以下选项中与上述 if语句等价的语句是 ( )。【 10年 3月】 ( A) k=(a b)?a: b; k=(b c)?b: c; ( B) k=(a b)?(b c)?a: b): (b c)?b: c); ( C) k=(a b)?(a c)?a: c): (b c)?b: c); ( D) k=(a b)?a: b; k=(a c)?a: c; 28 有以下程序: #include stdio h main() char a, b, c, d; scanf(“ c c“, &a, &b); c=getchar(); d=getchar
13、(); printf(“ c c c c n“, a, b, c, d); 当执行程序时,按下列方式输入数据 (从第 1列开始, CR代表回车,注意:回车也是一个字符。 12 CR 34 CR 则输出结果是 ( )。【 10年 3月】 ( A) 1234 ( B) 12 ( C) 12 3 ( D) 12 34 29 有以下程序: #inelude stdio h main() int ij, m=1; for(i=1; i 3; i+) for(j=3; j 0; j-) if(i*j 3)break; m*=i*j; printf(“m= d n“, m); 程序运行后的输出结果是 ( )
14、。【 10年 3月】 ( A) m=6 ( B) m=2 ( C) m=4 ( D) m=5 30 有以下程序: #include stdio h void main() int n=2, k=0; while(k+&n+ 2); printf(“ d d n“, k, n); 程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 0 2 ( B) 1 3 ( C) 5 7 ( D) 1 2 31 阅读以下程序: #include stdio h main() intcase; float printF; printf(“请输入 2个数: “); scanf(“ d f“, &case
15、, &printf); printf(“ d f n“, case, printf); 该程序在编译时产生错误,其出错原因是 ( )。【 09年 9月】 ( A)定义语句出错, case是关键字,不能用作用户自定义标识符 ( B)定义语句出错, printf不能用作用户自定义标识符 ( C)定义语句无错, scanf不能作为输入函数使用 ( D)定义语句无错, printf不能输出 case的值 32 有以下程序: #inelude stdio h void main() int a=1, b: 0; printf(“ d, “, b=a+b); printf(“ d n“, a=2*b);
16、程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 0, 0 ( B) 1, 0 ( C) 3, 2 ( D) 1, 2 33 设有定义: int a=1, b=2, c=3;,以下语句中执行效果与其他 3个不同的是( )。【 09年 9月】 ( A) if(a b)c=a, a=b, b=c; ( B) if(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; ) 34 有以下程序 #inelude stdio h void main() int c=0, k; for(k=1; k
17、3; k+) switch(k) default: c+=k; case 2: c+; break; case 4: c+=2; break; printf(“ d n“, c); 程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 3 ( B) 5 ( C) 7 ( D) 9 35 有以下程序: #inelude stdio h void main() char c1, c2; c1=A+8-4: c2=A+8+5; printf(“ c, d n“, c1, c2); 已知字母 A的 ASCII码为 65,程序运行后的输出结果是 ( )。【 09年 9月】 ( A) E, 68
18、( B) D, 69 ( C) E, D ( D)输出无定值 36 有以下程序: #include stdio h void main() int a: 2, 3, 5, 4, i; for(i=0; i 4; i+) switch(i 2) case 0: switch(ai 2) case O: ai+; break; case 1: ai-; break; case 1: ai=0; for(i=0; i 4; i+) printf(“ d“, ai); printf(“ n“); 程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 3 3 4 4 ( B) 2 0 5 0 (
19、 C) 3 0 4 0 ( D) 0 3 0 4 37 以下是 if语句的基本形式: if(表达式 ) 语句 其中 “表达式 ”( )。【 09年 3月】 ( A)必须是逻辑表达式 ( B)必须是关系表达式 ( C)必须是逻辑表达式或关系表达式 ( D)可以是任意合法的表达式 38 有以下程序: #include stdio h main() int x; scanf(“ d“, &x); if(x =3); else if(x!=10) printf(“ d n“, x); 程序运行时,输入的值为 ( )才会有输出结果。【 09年 3月】 ( A)不等于 10的整数 ( B)大于 3且不等
20、10的整数 ( C)大于 3或等于 10的整数 ( D)小于 3的整数 39 有以下程序 #inelude 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); 程序运行后的输出结果是 ( )。【 09年 3月】 ( A) 1, 2, 3 ( B) 1, 3, 2 ( C) 1, 3, 3 ( D) 3, 2,
21、1 40 若函数中有定义语句: int k;,则 ( )。【 09年 3月】 ( A)系统将自动给 k赋初值 0 ( B)这时 k中的值无定义 ( C)系统将自动给 k赋初值 -1 ( D)这时 k中无任何值 41 程序段: int x=12; double y=3 141593; printf(“ do 08 6f“, x, y);的输出结果是 ( )。【 09年 3月】 ( A) 123 141593 ( B) 12 3 141593 ( C) 12, 3 141593 ( D) 123 1415930 42 有以下程序: #inelude stdio h main() int a1, a
22、2; char c1, c2; scanf(“ d c d c“, &a1, &c1, &a2, &c2); prinff(“ d, c, d, c“, a1, c1, a2, c2); 若想通过键盘输入,使得 a1的值为 12, a2 的值为 34, c1的值为字符 a, c2的值为字符 b,程序输出结果是: 12, a, 34, b则正确的输入格式是 ( )。 (以下口代表空格, CR代表回车 )。【 09年 3月】 ( A) 12a34b CR ( B) 12a34b CR ( C) 12, a, 34, b CR ( D) 12a34b CR 43 有以下程序: #include st
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 历年 汇编 答案 解析 DOC
