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

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

1、国家二级( C语言)机试模拟试卷 92及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 ( B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 ( C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 ( D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性 2 下列叙述中正确的是 ( )。 ( A)栈是一种先进先出的线性表 ( B)队列是一种后进先出的线性表 ( C)栈与队列都是 非线性结构 ( D)以上三种说法都不对 3 软件测试的目的是 ( )。 ( A)评估软件可靠性 (

2、B)发现并改正程序中的错误 ( C)改正程序中的错误 ( D)发现程序中的错误 4 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 5 软件生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 6 面向对象方法中,继承是指 ( )。 ( A)一组对象所具有的相似性质 ( B)一个对象具有另一个对象的性质 ( C)各对象之间的共同性质 ( D)类之间共享属性和

3、操作的机制 7 层次型、网状型和关系型数据库划分原则是 ( )。 ( A)记录长度 ( B)文件的大小 ( C)联系的复杂程度 ( D)数据之间的联系方式 8 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对多 ( D)多对一 9 数据库设计中反映用户对数据要求的模式是 ( )。 ( A)内模式 ( B)概念模式 ( C)外模式 ( D)设计模式 10 有三个关系 R、 S和 T如下: 则由关系R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)差 ( C)交 ( D)并 1

4、1 计算机能直接执行的程序是 ( )。 ( A)源程序 ( B)目标程序 ( C)汇编程序 ( D)可执行程序 12 以下叙述中正确的是 ( )。 ( A) C语言规定必须用 main作为主函数名,程序将从此开始执行 ( B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 ( C) C语言程序、将从源程序中第一个函薮并始执行 ( D) main的各种大小写拼写形式都可以作为主函数名,如 MAIN, Main等 13 以下选项中可用做 C程序合法实数的是 ( )。 ( A) 3 0e0 2 ( B) 1e0 ( C) E9 ( D) 9 12E 14 下列定义变量的语句中错误的

5、是 ( )。 ( A) int_int; ( B) double int_; ( C) char For; ( D) noat US$; 15 表达式: (int)(double)9 2)一 9 2的值是 ( )。 ( A) 0 ( B) 3 ( C) 4 ( D) 5 16 设变量均已正确定义,若要通过 scanf(“ d c d c”, &a1, &c1, &a2,&c2);语句为变量 a1和 a2赋数值 10和 20,为变量 c1和 c2赋字符 X和 Y。以下所示的输入形式中正确的是 ( )。 (注:口代表空格字符 ) ( A) 10口 x ( B) 10口 X20口 Y 20口 Y (

6、 C) 10X ( D) 10口 X口 20口 Y 20Y 17 以下选项中不能作为 C语言合法常量的是 ( )。 ( A) 0 1e+6 ( B) cd ( C) “ a” ( D) 011 18 if语句的基本形式是: if(表达式 )语句,以下关于 “表达式 ”值的叙述中正确的是( )。 ( A)必须是逻辑值 ( B)必须是整数值 ( C)必须是正数 ( D)可以是任意合法的数值 19 有如下嵌套的 if语句: if(ac)?b: c); ( B) k=(a main() int k=5; while(一一 k)printf(“ d”, k一 =3); printf(“ n”); 程序执

7、行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 4 ( D)死循环 21 有以下程序: #include main() int i, j; for(i=3; i=l; i一一 ) for(j=l; j main() int k=5, n=0; do switch(k) ease 1: ease 3: n+=1; k一一; break; default: n=0; k一一; case 2: ease 4: n+=2; k一一; break; pfintf(“ d”, n); while(k0&n void f(int*q) int i=0; for( ; i int fun(i

8、nt(*s)4, int n, int k) int m, i; m=s0k; for(i=1; im) m=sik; return m; main() int a44=1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34; pfinff(“ d n”, fun(a, 4, 0); 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 34 ( C) 31 ( D) 32 29 以下选项中正确的语句组是 ( )。 ( A) char*s; S=“BOOK!”; ( B) char*s; s=“BOOK!”; ( C) char

9、 s10; s=“BOOK!”; ( D) char s; s=“BOOK!”; 30 若有定义语句: char*s1=“OK”, *s2=“ok”;以下选项中,能够输出 “OK”的语句是 ( )。 ( A) if(strcmp(s1, s2)!=0)puts(s2); ( B) if(strcmp(s1, s2)!=0)puts(s1); ( C) if(strcmp(s1, s2)=1)puts(s1); ( D) if(strcmp(s1, s2)=: 0)puts(s1); 31 有以下程序: #include void fun(char*P) +P: printf(“ s n”, *

10、P); main() char*a=“Morning”, “Afternoon”, “Evening”, “Night”; fun(a); 程序运行后的输出结果是 ( )。 ( A) Afternoon ( B) fiernoon ( C) Morning ( D) oming 32 有以下程序,程序中库函数 islower(eh)用以判断 ch中的字母是否为小写字母: #include #include void fun(char*P) int i=0; while(Pi) if(Pi=“&islower(Pi一 1) Pi一 1=Pi一 1一 a+A; i+: main() char sl

11、100=“ab ed EFG!”; fun(s1); printf(“ s n”, s1); 程序运行后的输出结果是 ( )。 ( A) ab cd EFg! ( B) Ab Cd EFg! ( C) ab cd EFG! ( D) aB cD EFG! 33 有以下程序 : #include int f(int x) int y; if(x=0 x=1)return(3); Y=x*xf(x一 2); return y; main() int Z; z=f(3); printf(“ d n”, z); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 9 ( C) 6 ( D) 8

12、34 有以下程序: #include int fun(int x, int f1) static int sum=0, i; for(i=0; isex); ( D) scanf(“ d”, ps一 age); 36 若有以下语句: typedef struct S int g; char h; T; 以下叙述中正确的是 ( )。 ( A)可用 s定义结构体变量 ( B)可用 T定义结构体变量 ( C) S是 struct类型的变量 ( D) T是 struct S类型的变量 37 有以下程序: #include #include struct A int a; char bf 0; doub

13、le C; stmct A f(struct A t); main() struct A a=1001, “ZhangDa”, 1098 0; a=f(a); printf(“ d, S, 6 1f n”, a a, a b, a c); struct A f(struct A t) t a=1002; strcpy(t b, ”ChangRong”); t C=1202 0: return t; 程序运行后的输出结果是 ( )。 ( A) 21002, ZhangDa, 1202 0 ( B) 1002, ChangRong, 1202 0 ( C) 1001, ChangRong, 109

14、8 0 ( D) 1001, ZhangDa, 1098 0 38 设有宏定义: #define IsDIV(k, n)(k n=1)?1: 0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m, 5)&IsDIV(m, 7) 为真时所要表达的是 ( )。 ( A)判断 m是否能被 5和 7整除 ( B)判断 m被 5和 7整除是否都余 1 ( C)判断 m被 5或者 7整除是否余 1 ( D)判断 m是否能被 5或者 7整除 39 有以下程序: #include main() int a=1, b=2, c=3, x; X=(ab)&c: printf(“ d n”, x); 程序运

15、行后的输出结果是 ( )。 ( A) 3 ( B) 1 ( C) 2 ( D) 0 40 有以下程序: #include main() FILE*fo; int k, n, a6=1, 2, 3, 4, 5, 6; f0=fopen(“d2 dat”, “W”); fprinff(fo, “ d d d n”, a0, a1, a2); fprintf(fo, “ d d d n”, a3, a4, a E 5); fclose(fp); fp=fopen(“d2 dat”, “r”); fscmff(fo, “ d d”, &k, &n); printf(“ d d n”, k, n); f

16、close(fp); 程序运行后的输出结果是 ( )。 ( A) 1 2 ( B) 1 4 ( C) 123 4 ( D) 123 456 二、程序填空题 41 函数 fun的功能是:将一副扑克牌编号为 1, 2, 3, , 53, 54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为1的牌在最上方,如第一次这样洗牌后的结果为: 1, 28, 2, 29, , 53, 27,54。两次洗牌后的结果为: 1, 41, 28, 15, 2, 42 , 53, 40, 27, 14, 54。 程序的功能是:输出经过 n次这样洗牌后的结果。 请在程序的下画线处填入正

17、确的内容,并把下画线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。不得增行或删 行,也不得更改程序的结构 ! 试题程序: #include void fun(int a55, int n) int i, k; *found* int155; for(i=0; i long fun(int g) *found* switch(g); ease 0: retum 0; *found* ease 1; ease 2: return 1: retum(fun(g1)+fun(g一 2); main() long fib; int n; printf(“Input

18、n: ”); seanf(“ d”, &n); prinff(“n= d n”, n); fib=fun(n); prinff(“fib= d n n”, fib); 四、程序设计题 43 请编写函数 fun,其功能是分别统计形参 t所指二维数组中字母 A和 C的个数。 注意:部分源程序存在 PROG1 C中,请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #include #include #define M 14 void NONO(); void fun(char(*t)M, int*a, int*c) void get(ch

19、ar(*s)M) int i, j; for(i=0; i0&n0&nage为一个变量,不是指针,所以错误。 36 【正确答案】 B 【试题解析】 本题考查 typedef重新声明一种结构体类型,那么 T为结构体类型,而不是结构体变量,所以 B选项正确。 37 【正确答案】 B 【试题解析】 本题考查结构体变量的引用以及作为函数参数,题日虽然看似复杂,其实比较容易, f函数的参数是结构体变 量,然后对参数重新赋值并返回,所以该题目的答案为 B选项。 38 【正确答案】 B 【试题解析】 本题考查逻辑运算符的相关概念,逻辑与若要为真,那么两边都要为真,即 m都能被 5和 7整除都余 1,所以选项

20、 B正确。 39 【正确答案】 A 【试题解析】 本题考查位运算符以及相关运算, “为按位或, &为按位与,那么ab为 3,再与 c按位与仍然为 3,所以答案为 A选项。 40 【正确答案】 D 【试题解析】 fprintf()函数向文本文件输出数据,将输出的内容按格式输出到硬盘的文本文件中。执行 两次 fprintf后,文件中的内容为 “123 456”,所以 D选项正确。 二、程序填空题 41 【正确答案】 (1)b(2)2(3)bk 三、程序修改题 42 【正确答案】 (1)去掉分号 (2)case1: case 2: return1; 四、程序设计题 43 【正确答案】 int i=0, j=0;循环统计的下标 *a=0;初始化 a字符统计的个数 *c=0;初始化 c字符统计的个数 for(i=0; iM; i+)行 for(j=0; jM; j+)列 if(tij=A)字符是 a,计数 (*a)+; if(tij=C)字符是 c,计数 (*c)+;

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

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

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