[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷7及答案与解析.doc
《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷7及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(C语言程序设计)机试模拟试卷7及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言( C语言程序设计)机试模拟试卷 7及答案与解析 一、选择题 1 fun函数的功能是:通过键盘输入给 x所指的整型数组所有元素赋值。在下划线处应填写的是 #include stdio h #define N5 Void fun(int xN) int m; for(m=N-l; m =0; m-)scanf(“ d“, _); ( A) x+m ( B) xm+1 ( C) x+(m+) ( D) x+m 2 设有定义语句 int x61=2, 4, 6, 8, 5, 7), *p=x, i; 要求依次输出 x数组 6个元素中的值不能完成此操作的语句是 ( A) for(i=0
2、; i 6; i+)printf(“ 2d“, *(p+); ( B) for(i=0; i 6; i+)printf(“ 2d“, *(p+i); ( C) for(i=0; i 6; i+)printf(“ 2d“, *p+); ( D) for(i=0; i 6; i+)pfintf(“ 2d“, (*p)+); 3 程序段: int x=12; double y=3 141593; printf(“ d 8 6f“, x, y);的输出结果是 ( A) 123 141593 ( B) 123 141593 ( C) 12, 3 141593 ( D) 123 1415930 4 有以下
3、程序 main()char a, b, c, d; scanf(“ c c“, &a, &b); c=getchar(); d=getchar(); printf(” c c c cha” , a, b, c, d); 当执行程序时,按下列方式输入数据 (从第 1列开始,代表回车,注意:回车也是一个字符 )12 34则输出结果是 ( A) 12 ( B) 1234 ( C) 12 3 ( D) 12 34 5 设有定义: int a; float b;执行 scanf(“ 2d f“, &a, &b);语句时,若从键盘输入 876 543 0则 a和 b的值分别是 ( A) 876和 543
4、0 ( B) 87和 6 0 ( C) 87和 543 0 ( D) 76和 543 0 6 以下叙述中正确的是 ( A)当用 scanf从键盘输入数据时,每行数据在没按下回车键 (Enter键 )前,可以任意修改 ( B)花括号对 只能用来表示函数的开头和结尾,不能用于其他目的 ( C)空语句就是指程序中的空行 ( D)复合语句在语法上包含多条语句,其中不能定义局部变量 7 有以下程序 #include stdio h main()char c1, c2, c3, c4, c5, c6; scanf(“ c c c c“, &c1, &c2, &c3, &c4); c5=getchar();
5、 c6=getchar(); putchar(c1); putchar(c2); printf(“ c c n“, c5, c6); 程序运行后,若从键盘输入 (从第 1列开始 )123 45678则输出结果是 ( A) 1256 ( B) 1278 ( C) 1245 ( D) 1267 8 有以下程序段 int j; float y; char name50; scanf(“ 2d f s“, &j, &y, name); 当执行上述程序段,从键盘上输入 55566 7777abc后, y的值为 ( A) 55566 0 ( B) 7777 0 ( C) 566 0 ( D) 566777
6、 0 9 以下是 if语句的基本形式: if(表达式 )语句 其中 “表达式 ” ( A)必须是逻辑表达式 ( B)必须是关系表达式 ( C)必须是逻辑表达或关系表达 ( D)可以是任意 合法的表达式 10 有以下程序段 int a, b, c; a=10; b=50; c=30; if(a b)a=b, b=c; c=a; printf(“a= db= dc= 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=50 11 有以下计算公式 若
7、程序前面已经在命令行中包含 math h文件,不能够正确计算上述公式的程序段是 ( A) y=sqrt(x); if(x 0)y=sqrt(-x); ( B) if(x =0)y=sqrt(x); elsey=sqrt(-x); ( C) if(x =0)y=sqrt(x); if(x 0)y=sqrt(-x); ( D) y=sqrt(x =07x: -x); 12 若有以下程序 #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“,
8、 a,b, c, d); 则程序的输出 结果是 ( A) 2, 1, 2, -1 ( B) 2, 2, 2, 4 ( C) 5, 1, 2, -1 ( D) 1, 2, 3, 4 13 以下叙述中正确的是 ( A) if语句只能嵌套一层 ( B)不能在 else子句中再嵌套 if语句 ( C) if子句和 else子句中可以是任意的合法的 C语句 ( D)改变 if-else语句的缩进格式,会改变程序的执行流程 14 若有定义: float x=1 5; int a=1, b=3, c=2;则正确的 switch语句是 ( A) switch(a+b)case1: printf(“* n“);
9、 case2+1: printf(“* n“); ( B) switch(int)x); case1: printf(“* n“); case2: printf(“* n“); ( C) switch(x)case1 0: printf(“* n“); case2 0: printf(“* n“); ( D) switch(a+b)case1: printf(“* n“); case c: printf(“* n“); 15 有以下程序 #include main()int x=1, y=0, a=0, b=0; switch(x)case1: switch(y) case0: a+; bre
10、ak; case1: b+; break; ) case2: a+; b+; break; printf(“a= d, b= d n“, a, b); 程序运行后的输出结果是 ( A) a=1, b=1 ( B) a=1, b=0 ( C) a=2, b=1 ( D) a=2, b=2 16 关于 “while(条件表达式 )循环体 ”,以下叙述正确的是 ( A)循环体的执行次数总是比条件表达式的执行次数多一次 ( B)条件表达式的执行次数与循环体的执 行次数一样 ( C)条件表达式的执行次数总是比循环体的执行次数多一次 ( D)条件表达式的执行次数与循环体的执行次数无关 17 有以下程序 #
11、include stdio h void main() int s; scanf(“ d“, &s); while(s 0) switch(s) case1: printf(“ d“, s+5); case2: printf(“ d“, s+4); break; case3: printf(“ d“, s+3); default: printf(“ d“s+1); break; scanf(“ d“, &s); 运行时,若输入 1 2 3 4 5 0,则输出结果是 ( A) 66656 ( B) 6566456 ( C) 66666 ( D) 6666656 18 若有以下程序 main()i
12、nt a=-2, b=0; while(a+) +b: printf(“ d, d n“, a, b); 则程序的输出结果是 ( A) 0 2 ( B) 1, 2 ( C) 1, 3 ( D) 2, 3 19 以下不构成无限循环的语句或语句组是 ( A) n=0; do+n; while(n =0); ( B) n=0; while(1)n+; ( C) n=10; while(n); n-; ( D) for(n=0, i=1; i+)n+=i; 20 有以下程序 main()int a=3; doprintf(“ d, “, a-=2); while(!(-a); printf(“ n“)
13、; 程序运行后的输出结果是 ( A) 1, 1 ( B) 1, -2, ( C) 3, 0, ( D) 1, 0 21 有以下程序 #include stdio h main() int y=9; for(; y 0; y-) if(y 3=0)printf(“ d“, -y); 程序的运行结果是 ( A) 963 ( B) 852 ( C) 741 ( D) 875421 22 设变量已正确定义,则以下能正确计算 f=n!的程序段是 ( A) f=0; for(i=; i =n; i+)f*=i; ( B) f=1; for(i: 1; i n; i+)f*=i; ( C) f=1; for
14、(i=n; i 1; i+)if=i; ( D) f=1; for(i=n; i =2; i-)f*=i; 23 有以下程序段 int i, n; for(i=0; i 8; i+) n=rand() 5; switch(n) case1: case3: printf(“ d n“, n); break; case2: case4: printf(“ (1 n“, n); continue; case0: exit(0); printf(“ d n“, n); ( A)当产生的随机数 n为 4时结束循环操作 ( B)当产生的随机数 n为 1和 2时不做任何操作 ( C)当产生的随机数 n为 0
15、时结束程序运行 ( D) for循环语句固定执行 8次 24 若有以下程序 #include char*a=“you“; char b=“Welcome you to China!“; main()int i, j=0: char*p; for(i=0: bi!= 0; i+) if(*a=bi) p=a; for(j=i; *p!= 0; j+) if(*p!=bj)break; p+; if(*p= 0)break; printf(“ s“, &bi); 则程序的输出结果是 ( A) you to China! ( B) to China! ( C) me you to China! (
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 答案 解析 DOC
