[计算机类试卷]国家二级(C语言)机试模拟试卷113及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷113及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷113及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 113及答案与解析 一、选择题 1 下列关于 C语言文件的叙述中正确的是 ( )。 ( A)文件由一系列数据依次排列组成,只能构成二进制文件 ( B)文件由结构序列组成,可以构成二进制文件或文本文件 ( C)文件由数据序列组成,可以构成二进制文件或文本文件 ( D)文件由字符序列组成,其类型只能是文本文件 2 有以下程序: #include main() int m=1, n=2, *P=&m, *q=&n, *r; r=p; p=q; q=r; printf(“ d, d, d, d n“, m, n, *P, *q); 程序运行后的输出结果是 ( )。 (
2、 A) 1, 2, 1, 2 ( B) 1, 2, 2, 1 ( C) 2, 1, 2, 1 ( D) 2, 1, 1, 2 3 有以下程序: #include #include struet A int a; ehar b10; double c; ; struet A f(struet A t); main() struet A a=1001, “ZhangDa“, 1098 0; a=f(a); printf(“ d, s, 6 If n“, a a, a b, a c); struet A f(struet A t) t a=1002; strcpy(t b, “ChangRong“)
3、; t c=1202 0; return t; 程序运行后的输出结果是 ( )。 ( A) 1001, ZhangDa, 1098 0 ( B) 1002, ZhangDa, 1202 0 ( C) 1001, ChangRong, 1098 0 ( D) 1002, ChangRong, 1202 0 4 数据库管理系统是 ( )。 ( A)操作系统的一部分 ( B)在操作系统支持下的系统软件 ( C)一种编译系统 ( D)一种操作系统 5 有以下程序: #include void fun(int p) int d=2; p=d+; printf(“ d“, p); main() int a
4、=1; fun(a); printf(“ d n“, a); 程序运行后的输出结果是 ( )。 ( A) 32 ( B) 12 ( C) 21 ( D) 22 6 有以下程序: #include #define f(x)x*x*x main() int a=3, s, t; s=f(a+1); t=f(a+1); printf(“ d, d n“, s, t); 程序运行后的输出结果是 ( )。 ( A) 10, 64 ( B) 10, 10 ( C) 64, 10 ( D) 64, 64 7 有以下程序: #include main() int a=2, 3, 5, 4, i; for(i=
5、0; i #include main() char a10=”abcd”; pfinff(“ d, d n“, strlen(a), sizeof(a); 程序运行后的输出结果是 ( )。 ( A) 7, 4 ( B) 4, 10 ( C) 8, 8 ( D) 10, 10 12 以下函数 findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。 #define MIN-2147483647 int findmax(int x, int n) int i, max; for(i=0; i n; i+) max=MIN; if(max xi)max=xi; re
6、tum max; 造成错误的原因是 ( )。 ( A)定义语句 int i, max;中, max未赋初值 ( B)赋值语句 max=MIN;中,不应给 max赋 MIN值 ( C)语句 if(max xi)max=xi;中,判断条件设置错误 ( D)赋值语句 max=MIN;放错了位置 13 设有 定义: char*C;以下选项中能够使字符型指针 c正确指向一个字符串的是( )。 ( A) char str=“string“; c=str; ( B) scanf(“ s“, c); ( C) c=getchar(); ( D) *C=“string: 14 软件详细设计产生的图如下: 该图是
7、 ( )。 ( A) N-S图 ( B) PAD图 ( C)程序流程图 ( D) E-R图 15 下列函数的功能是 ( )。 fun(char*a, char*b) while(*b=*a)! = 0) a+; b+; ( A)将 a所指字符串赋给 b所指空间 ( B)使指针 b指向 a所指字符串 ( C)将 a所指字符串和 b所指字符串进行比较 ( D)检查 a和 b所指字符串中是否有 0 16 表达式: (int)(double)9 2) (9) 2的值是 ( )。 ( A) 0 ( B) 3 ( C) 4 ( D) 5 17 有以下程序: #include #include main()
8、 char str20= “One*World“, “One*Dream! “, *p=str1; printf(“ d, “, strlen(p); printf(“ s n“, p); 程序运行后的输出结果是 ( )。 ( A) 9 One*World ( B) 9, One*Dream! ( C) 10 One*Dream! ( D) 10, One*World 18 对于循环队列,下列叙述中正确的是 ( )。 ( A)队头指针是固定不变的 ( B)队头指 针一定大于队尾指针 ( C)队头指针一定小于队尾指针 ( D)队头指针可以大于队尾指针,也可以小于队尾指针 19 有以下程序: #i
9、nclude int f(int n); main() int a=3, s; s=f(a); s=s+f(a); printf(“ d n“, s); int f(int n) static int a=1; n+: a+; return n; 程 序运行以后的输出结果是 ( )。 ( A) 7 ( B) 8 ( C) 9 ( D) 10 20 有以下程序: #include main() int c=0, k; for(k=1; k 3; k+) switch(k) default: c+=k; case 2: c+; break; case 4: c+=2; break; printf(
10、” d n”, c); 程序运行后的输 出结果是 ( )。 ( A) 3 ( B) 5 ( C) 7 ( D) 9 21 有三个关系 R, S和 T如下: 其中关系T由关系 R和 S通过某种操作得到,该操作为 ( )。 ( A)选择 ( B)投影 ( C)交 ( D)并 22 下面是有关 C语言字符数组的描述,其中错误的是 ( )。 ( A)不可以用赋值语句给字符数组名赋字符串 ( B)可以用输入语句把字符串整体输入给字符数组 ( C)字符数组中的内容不一定是字符串 ( D)字符数组只能存放字符串 23 若有定义语句: int aE 410, *p, *q4;且 0i 4,则错误的赋值是 (
11、)。 ( A) P=a ( B) qi=ai ( C) P=ai ( D) P=&a21 24 以下程序段中,与语句: k=a b?(b c?1: 0): 0;功能相同的是 ( )。 ( A) if(a b)&(b c)k=1; else k=0: ( B) if(a b) (b c), k=1; else k=0; ( C) if(a =b)k=0; else if(b =c)k=1; ( D) if(a b)k=1; else if(b c)k=1; else k=0; 25 若有定义语句: int x=10;,则表达式 x-=x+x的值为 ( )。 ( A) 20 ( B) 10 ( C
12、) 0 ( D) 10 26 有以下程序: #include main() char S=“012xy“; int i, n=0; for(i=0; si! = 0; i+) if(si: a&si =z)n+; printf(“ d n“, n); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 2 ( C) 3 ( D) 5 27 下列选项中不属于结构化程序设计原则的是 ( )。 ( A)可封装 ( B)自顶向下 ( C)模块化 ( D)逐步求精 28 有以下程序: #include main() char c1 c2: c1=A+8-4; c2=A+8-5: printf(“
13、c, d n“, c1, c2); 已知字母 A的 ASCII码为 65,程序运行后的输出结果是 ( )。 ( A) E, 68 ( B) D, 69 ( C) E, D ( D)输出无定值 29 算法的空间复杂度是指 ( )。 ( A)算法在执行过程中所需要的计算机存储空间 ( B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的临时工作单元数 30 以下叙述中正确的是 ( )。 ( A)程序设计的任务就是编写程序代码并上机调试 ( B)程序设计的任务就是确定所用数据 结构 ( C)程序设计的任务就是确定所用算法 ( D)以上三种说法都不完整 31 下
14、列数据结构中,能够按照 “先进后出 ”原则存取数据的是 ( )。 ( A)循环队列 ( B)栈 ( C)队列 ( D)二叉树 32 有以下程序: #include main() int a=1, b=0; printf(“ d, “, b=a+b); printf(“ d n“, a=2*b); 程序运行后的输出结果是 ( )。 ( A) 0, 0 ( B) 1, 0 ( C) 3, 2 ( D) 1, 2 33 以下选项中,能用作用户标识符的是 ( )。 ( A) void ( B) 8 8 ( C) 0 ( D) unsigned 34 软件设计中划分模块的一个准则是 ( )。 ( A)低
15、内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 35 设有以下函数: void fun(int n, char*s) 则下面对函数指针的定义和赋值均是正确的是 ( )。 ( A) void(*pf)(); pf=fun; ( B) void*pf(); pf=fun; ( C) void*pf(); *pf=fun; ( D) void(*pf)(int, char); pf=&fun; 36 下列数据结构中,属于非线性结构的是 ( )。 ( A)循环队列 ( B)带链队列 ( C)二叉树 ( D)带链栈 37 阅读以下程序: #include main() in
16、t case; float printf; printf(“请输入 2个数: “); scanf(“ d f“, &case, &printf); printf(“ d f n“, case, printf); 该程序编译时产生错误,其出错原因是 ( )。 ( A)定义语句出错, case是关键字,不能用作用户自定义标识符 ( B)定义语句出错, printf不能用作用户自定义标识符 ( C)定义语句无错, scanf不能作为输入函数使用 ( D)定义语句无错, printf不能输出 case的值 38 在 E-R图中,用来表示实体联系的图形是 ( )。 ( A)椭圆形 ( B)矩形 ( C)
17、菱形 ( D)三角形 39 设有定义: int a=1, b=2, c=3;,以下语句中执行效果与其他三个不同的是( )。 ( 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; 40 有以下程序: #include main() int n=2, k=0; while(k+&n+ 2); printf(“ d d n“, k, n); 程序运行后的输出结果是 ( )。 ( A) 02 ( B) 13 ( C) 57 ( D) 12 二
18、、程序填空题 41 下列给定程序中,函数 fun的功能是:把形参 a所指数组中的偶数按原顺序依次存放到 a0、 a1、 a2 中,把奇数从数组中删除,偶数的个数通过函数值返回。 例如,若 a所指数组中的数据最初排列为: 9、 1、 4、 2、 3、 6、 5、 8、 7,删除奇数后, a所指数组中的数据为: 4、 2、 6、 8,返回值 为 4。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 不得增行或删行,也不得更改程序的结构! 【试题源程序】 #include #define N 9 int fun(int a, int n) int i, j; j=0;
19、 for(i=0; i n; i+) *found* if(【 1】 =0) *found* 【 2】 =ai; j+; *found* return 【 3】 ; main() int bN=9, 1, 4, 2, 3, 6, 5, 8, 7, i, n; printf(“ nThe original data: n“); for(i=0, i N, i+) printf(“ 4d“, bi); printf(“ n“); n=fun(b, N); printf(“ nThe number of even: d n“, n); printf(“ nThen even: n“); for(i=
20、0; i n; i+) printf(“ 4d“, bi); printf(“ n“); 三、程序修改题 42 下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数 fun的作用是求出单向链表结点 (不包括头结点 )数据 域中的最大值,并且作为函数值返回。请改正程序指定部位的错误,使它能得到正确结果。 注意: 不要改动 main函数,不得增行或删行,也不得更改程序的结构。 【试题源程序】 #include #include typedef struct aa, int data; struct aa*next: NODE; fun(NODE*h) int max=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 113 答案 解析 DOC
