[计算机类试卷]国家二级(C语言)机试模拟试卷152及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷152及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷152及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 152及答案与解析 一、选择题 1 算法的有穷性是指 ( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法在执行过程中所需要的临时工作单元数 2 一个栈的初始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 C、 D、 E依次入栈,然后再依次出栈,则元素出栈的顺序是 ( )。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDE12345 ( D) 54321EDCBA 3 下列关于线性链表的叙述中,正确的是 ( )。 ( A)各数据结点的
2、存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 ( B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 ( C)进行插入与删除时,不需要移动表中的元素 ( D)以上三种说法都不对 4 在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是 ( )。 ( A) O(n) ( B) O(n2) ( C) O(log2n) ( D) O(nlog2n) 5 假定已建立以下数据链表结构,且指针 p和 q已指向如下图所示的结点:则以下选项中可将 q所指结点从链表中删除并释放该结点的语句是 ( )。 ( A) (*)p next=(*q) next; free(p)
3、 ( B) b=q next; free(q) ( C) p=q; free(q) ( D) p next=q next; free(q) 6 软件开发中,需求分析阶段可以使用的工具是 ( )。 ( A) N-S图 ( B) DFD图 ( C) PAD图 ( D)程序流程图 7 在面向方法中,不属于 “对象 ”基本特点的是 ( )。 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 8 数据流图中带有箭头的线段表示的是 ( )。 ( A)控制流 ( B)事件驱动 ( C)模块调用 ( D)数据流 9 在数据管理技术发展的三个阶段中,数据共享最好的是 ( )。 ( A)人工管理
4、阶段 ( B)文件系统阶段 ( C)数据库系统阶段 ( D)三个阶段相同 10 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 11 有三个关系 R、 S和 T如下:由关系 R和 S通过进行运算得到关系 T,则所使用的运算为 ( )。 ( A)笛卡尔积 ( B)交 ( C)并 ( D)自然连接 12 以下叙述中正确的是 ( )。 ( A) C程序的基本组成单位是语句 ( B) C程序中的每一行只能写一条语句 ( C)简单 C语句必须以分号结束 ( D) C语言必须在一行内写完 13 C源程序中不能表示的数制是 ( )
5、。 ( A)二进制 ( B)八进制 ( C)十进制 ( D)十六进制 14 以下叙述中错误的是 ( )。 ( A)用户定义的函数中可以没有 return语句 ( B)用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值 ( C)用户定义的函数中若没有 return语句,则应当定义函数为 void类型 ( D)函数的 return语句中可以没有表达式 15 以下选项中不能作为 C语言合法常量的是 ( )。 ( A) cd ( B) 0 1e+6 ( C) a ( D) 011 16 如有表达式 (w)?(一 x): (+y),则其中与 w等价的表达式是 ( )。 ( A)
6、 w=1 ( B) w=0 ( C) w!=1 ( D) w!=0 17 以下不能正确表示代数式 的 C语言表达是 ( )。 ( A) 2*a*b c d ( B) a*b c d*2 ( C) a c d*b*2 ( D) 2*a*b c*d 18 以下选项中正确的定义语句是 ( )。 ( A) double a; b; ( B) double a=b=7; ( C) double a=7, b=7; ( D) double, a, b; 19 若变量已正确定义为 int型,要通过语句 scanf(“ d, d, d“, &a, &b,&c);给 a赋值 1、给 b赋值 2、给 c赋值 3,
7、以下输入 形式中错误的是 (u代表一个空格 )( )。 ( A) 1, 2, 3回车 ( B) 1u2u3回车 ( C) 1, uu2, uu回车 3回车 ( D) uu1, 2, 3回车 20 执行以下程序段后, w的值为 ( )。 int w=A, x=14, y=15; w=(x y)&(w a); ( A)一 1 ( B) NULL ( C) 1 ( D) 0 21 有以下程序: #include stdio h main() char a=4; printf(“ d n“, a=a 1); 程序运行的结果是 ( )。 ( A) 40 ( B) 16 ( C) 8 ( D) 4 22
8、有以下程序段: int a, b, c; a=10; b=50; c=30; if(a b) a=b, b=c; c=a; printf(“a= d b= d c= d“, a, b, c); 程序的输出结果是 ( )。 ( A) a=10 b=50 c=10 ( B) a=10 b=50 c=30 ( C) a=10 b=30 c=10 ( D) a=10 b=30 c=50 23 有以下程序: #include stdio h main() int x=1, y=2, z=3; if(x y) if(y z)printf(“ d“, +z); else printf(“ d“, +y);
9、printf(“ d n“, x+); 程序运行的结果是 ( )。 ( A) 3 3 1 ( B) 4 1 ( C) 2 ( D) 1 24 有以下程序: #include stdio h main() int i=5: do if(i 3=1) if(i 5=2) printf(“* d“, i); break; i+; while(i!=0); printf(“ n“); 程序运行的结果是 ( )。 ( A) *7 ( B) *3*5 ( C) *5 ( D) *2*6 25 有以下程序: #include stdio h main() int i, j; for(i=3; i 1; i一
10、一 ) for(j=1; j =2; j+) printf(“ d“, i+j); printf(“ n“); 程序运行的结果是 ( )。 ( A) 2 3 4 3 4 5 ( B) 4 3 2 5 4 3 4 5 ( C) 2 3 3 4 2 3 ( D) 4 5 3 4 26 若有定义语句: char s10=“1234567 0 0“;,则 strlen(s)的值是 ( )。 ( A) 7 ( B) 8 ( C) 9 ( D) 10 27 若有定义语句: int m=5, 4, 3, 2, 1, i=4;, 则下面对 m数组元素的引用中错误的是 ( )。 ( A) m一一 i ( B)
11、m2*2 ( C) mm0 ( D) mmi 28 有以下程序: #include stdio h void fun(int a, int n) int i, t; for(i=0; i n 2; i+) t=ai; ai=an一 1-i; an一 1一 i=t; main() int k10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; fun(k, 5); for(i=2; i 8; i+) printf(“ d“, ki); printf(“ n“); 程序运行的结果是 ( )。 ( A) 3456787 ( B) 876543 ( C) 1098765 ( D)
12、321678 29 有以下程序: #include stdio h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i=0; i 10; i+=2) fun(ci, ci+11); for(i=0; i 10; i+) printf(“ d, “, ci); printf(“ n“); 程序运行的结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, ( B) 2, 1, 4, 3, 6, 5, 8, 7, 0, 9,
13、 ( C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( D) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 30 有以下程序: #include stdio h #define N 4 void fun(int aN, int b) int i; for(i=0; i N; i+) bi=aii; main() int xN=(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, yN, i; fun(x, y); for(i=0; i N; i+) printf(“ d“, yi); printf(“ n“); 程序运行的结果是 ( )。 ( A)
14、1 2 3 4 ( B) 1 0 7 0 ( C) 1 4 5 9 ( D) 3 4 8 0 31 若有定义语句: double x5=1 0, 2, 3, 4, 5 0, *p=x,则错误引用 x数组元素的是 ( )。 ( A) *p ( B) x5 ( C) *(p+1) ( D) *x 32 下面的函数调用语句中, func函数的实参个数是 ( )。 func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8) ( A) 3 ( B) 4 ( C) 5 ( D) 8 33 有以下程序: #include stdio h int fun(int a, in
15、t b) if(b=0)return a; else return(fun(一一 a,一一 b); main() printf(“ d n“, fun(4, 2); 程序运行的结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 34 有以下程序: #include stdio h int fun(int(*s)4, int n, int k) int m, i; m=s0k: for(i=1; i n; i+) if(sik m) m=sik: return m; main() int a44=1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23,
16、 24, 31, 32,33, 34; printf(“ d n“, fun(a, 4, 0); 程序运行的结果是 ( )。 ( A) 4 ( B) 34 ( C) 31 ( D) 32 35 有以下程序: #include stdio h #include stdlib h int fun(int n) int *p; p=(int*)malloc(sizeof(int); *p=n; return *p; main() int a; a=fun(10); printf(“ d n“, a+fun(10); 程序运行的结果是 ( )。 ( A) 0 ( B) 10 ( C) 20 ( D)出
17、错 36 以下关于宏的叙述中正确的是 ( )。 ( A)宏名必须用大写字母表示 ( B)宏定义必须位于源程序中所有语句之间 ( C)宏替换没有数据类型限制 ( D)宏调用比函数调用耗费时间 37 以下程序段中完全正确的是 ( )。 ( A) int *p; scanf(“ d“, &p); ( B) int *p; scanf(“ d“, p); ( C) int k, *p=&k; scanf(“ d“, p) ( D) int k, *p; *p=&k; scanf(“ d“, p) 38 有以下程序: #include stdio h struct st int x, y; data2=
18、1, 10, 2, 20; main() struct st *p=data; printf(“ d“, p一 y); printf(“ d n“, (+p)一 x); 程 序运行的结果是 ( )。 ( A) 10 1 ( B) 20 1 ( C) 10 2 ( D) 20 2 39 有以下程序: #include stdio h main() struct STU char name9; char sex; double score2; ; struct STU a=“Zhao“, m, 85, 90 0, b=“Qian“, f, 95, 92 0; b=a: printf(“ s c 2
19、 0f 2 0f n“, b name, b sex, b score0,b score1); 程序运行的结果是 ( )。 ( A) Qian f 95 92 ( B) Qian m 85 90 ( C) Zhao f 95 92 ( D) Zhao m 85 90 40 有以下程序: #include stdio h main() FILE *pf; char *s1=“China“, * s2=“Beijing“; pf=fopen(“abc dat“, “wb+“); fwrite(s2, 7, 1, pf); rewind(pf); *文件位置指针回到文件开头 * fwrite(s1,
20、 5, 1, pf); fclose(pf); 以上程序执行后, abc dat文件的内容是 ( )。 ( A) China ( B) Chinang ( C) ChinaBeijing ( D) BeijingChina 二、程序填空题 41 给定程序中,函数 fun的功能是:求 ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返 回,并把其串长放在形参 n所指变量中。 ss所指字符串数组中共有 M个字符串,且串长 N。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio
21、 h #include string h #define M 5 #define N 20 *found* int fun(char(*ss)【 1】, int *n) int i, k=0, len=0; for(i=0; i M; i+) len=strlen(ssi); *found* if(i=0) *n=【 2】; if(len *n) *found* 【 3】; k=i; return(k); main() char ssMN=“shanghai“, “guangzhou“, “beijing“, “tianjing“, “cchongqing“; int n, k, i; pri
22、ntf(“The original strings are: n“); for(i=0; i M; i+) puts(ssi); k=fun(ss, &n); printf(“The length of longest string is: d n“, n); printf(“The longest string is: s n“, ssk); 三、程序修改题 42 下列给定程序中, fun函数的功能是:根据形参 m,计算下列公式的值。 t=1+1 2+1 3+1 4+1 m 例如,若输入 5,则应输出 2 283333。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 152 答案 解析 DOC
