[计算机类试卷]国家二级(C语言)机试模拟试卷102及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷102及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷102及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 102及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)算法的空间复杂度与算法所处理的数据存储空间有关 ( B)算法的空间复杂度是指算法程序控制结构的复杂程度 ( C)算法的空间复杂度是指算法程序中指令的条数 ( D)压缩数据存储空间不会降低算法的空间复杂度 2 下列各组排序法中,最坏情况下比较次数相同的是 ( )。 ( A)希尔排序与堆排序 ( B)简单插入排序与希尔排序 ( C)简单选择排序与堆排序 ( D)冒泡排序与快速排序 3 设栈的存储 空间为 S(1: 50),初始状态为 top=51o见经过一系列正常的入栈与退栈操作后, top
2、=20,则栈中的元素个数为 ( )。 ( A) 31 ( B) 30 ( C) 21 ( D) 20 4 某二叉树共有 400个结点,其中有 100个度为 1的结点,则该二叉树中的叶子结点数为 ( )。 ( A) 149 ( B) 150 ( C) 151 ( D)不存在这样的二叉树 5 下面属于 “类 -对象 ”主要特征的是 ( )。 ( A)对象一致性 ( B)对象无关性 ( C)类的多态性 ( D)类的依赖性 6 下面不属于需求 分析阶段工作的是 ( )。 ( A)需求获取 ( B)可行性研究 ( C)需求分析 ( D)撰写软件需求规格说明书 7 软件生命周期是指 ( )。 ( A)软件
3、的需求分析、设计与实现 ( B)软件的开发与管理 ( C)软件的实现和维护 ( D)软件产品从提出、实现、使用维护到停止使用退役的过程 8 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是( )。 ( A)内模式 ( B)用户模式 ( C)外模式 ( D)概念模式 9 大学中每个年级有多个班,每个班有多名学生,则实 体班级和实体学生之间的联系是 ( )。 ( A)一对多 ( B)一对一 ( C)多对一 ( D)多对多 10 有 3个关系 R、 S和 T如下:则由关系 R、 S得到关系 T的操作是 ( )。 ( A)交 ( B)投影 ( C)自然连接 ( D)并 11 以下
4、选项中,合法的 C语言常量是 ( )。 ( A) 1 234 ( B) C+ ( C) 2 0 ( D) 2Kb 12 有以下程序: #include stdio h main() int s, t, A=10; double B=6: s=sizeof(A); t=sizeof(B); printf(“ d, d n“, s, t); 在 VC6平台上编泽运行,程序运行后的输出结果是 ( )。 ( A) 4, 8 ( B) 4, 4 ( C) 2, 4 ( D) 10, 6 13 关于程序模块化,以下叙述错误的是 ( )。 ( A)程序模块化可以提高程序运行的效率 ( B)程序模块化可以提高
5、程序编制的效率 ( C)程序模块化可以提高程序代码复用率 ( D)程序模块化可以提高调试程序的效率 14 以下选项中不能在 C语言程序中用作用户标识符的是 ( )。 ( A) auto ( B) scanf ( C) Float ( D) _3_14 15 设有语句: printf(“ 2d n, 2010);,则以下叙述正确的是 ( )。 ( A)程序运行时输出 2010 ( B)程序运行时输出 20 ( C)程序运行时输出 10 ( D)指定的输出宽度不够,编译出错 16 以下不属于 C语言整型常量的是 ( )。 ( A) 0L ( B) -018 ( C) 0Xa ( D) 200U 1
6、7 有以下程序: #include stdio h main() int x=1, y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“ d n“, y); 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 0 ( D) 3 18 若变量已正确定义,在 if(w)printf(“ d n“, k);中,以下不可替代 W的是( )。 ( A) a b+c ( B) ch=getchar() ( C) a=b+c ( D) a+ 19 有以下程序: #include stdio h main() int a=0,
7、 1)=0: for(; a 7; a+) if(a 2=0)continue; b+=a; continue; printf(“ d n“, h); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 4 ( C) 1 ( D) 9 20 若有以下程序: #includtj stdio h main() char a=5, b; a+: printf(“ d, d n“, a-5+255, b=a-5); 执行后的输出结果是 ( )。 ( A) 256, 1 ( B) 1, 256 ( C) 255, 1 ( D) 256, 0 21 有以下程序: #iinclude stdio h
8、main() int a=7, b=0; dob+=a; a-=1; while(a-); printf(“ d, d n“, b, a); 执行后的输出结果是 ( )。 ( A) 28, 0 ( B) 28, 1 ( C) 16, 0 ( D) 16, -1 22 有以下程序: #include stdio h main() int x, a=1, b=1; while(1) scanf(“ d“, &x); if(x 0)a*=x; break; if(x 0)b*=x; continue; printf(“ d, d n“, a, b); 程序运行时输入: -1 -2 0 1 2回车,则
9、输出结果是 ( )。 ( A) 1, 2 ( B) 2, 2 ( C) -1, 1 ( D) -2, 1 23 有以下程序: #include stdio h #define N4 void fun(int aN, int b) int i; for(i=0; i N; i+)bi=aii-aiN-1-i; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,16, yN, i; fun(x, y); for(i=0; i N; i+)printf(“ d, “, yi); printf(“ n“); 程序运行后的输
10、出结果是 ( )。 ( A) -3, -1, 1, 3, ( B) -12, -3, 0, 0, ( C) 0, 1, 2, 3, ( D) -3, -3, -3, -3, 24 有以下程序: #include stdio h main() int x32=0, i; for(i=0; i 3; i+)scanf(“ d“, xi); printf(“ 3d 3d 3d n“, x00, x01, x10); 若运行时输入: 2 4 6回车,则输出结果为 ( )。 ( A) 2 4 6 ( B) 2 0 0 ( C) 2 4 0 ( D) 2 0 4 25 有以下程序: #include st
11、dio h int m1(int x, int y) if(x =y)return 2*x+1; else return y; int m2(int x, int y) if(x =y)return2*y+1; else return x: main() int i, t1=10, t2=0; for(i=1; i =4: i+) t1=m1(i, t1); t2=m2(i, t2); printf(“t1= d t2= d n“, t1, t2); 程序运行后的输出结果是 ( )。 ( A) t1=9 t2=4 ( B) t1=4 t2=9 ( C) t1=9 t2=9 ( D) t1=1
12、t2=4 26 有以下部分程序: #include stdio h void f(int); main() void f(int); f(5); void f(int n) printf(“ d n“, n); 以下叙述中错误的是 ( )。 ( A) f函数中不可以出现 return语句 ( B)在主函数中, f(5);可以正确调用 f函数 ( C)在主函数后的其他函数可以正确调用 f函数 ( D) f函数无返回值,应当定义成 void类型 27 有以下程序: #include stdio h main() int i=3, j=5, *p=&i, *q=&j, *r; r=&q; print
13、f(“ d, d, d, d, d n“, i, j, *p, *q, *r); 执行后的输出结果是 ( )。 ( A) 3, 5, 3, 5, 5 ( B) 5, 3, 5, 3, 5 ( C) 3, 5, 3, 5, 3 ( D) 3, 5, 3, 3, 5 28 以下不能使指针 s所指存储单元的值增 1的选项是 ( )。 ( A) (*s)+; ( B) *s=*s+1; ( C) *s+; ( D) +*s; 29 以下语句中存在语法错误的是 ( )。 ( A) char ss 620; ss1=“right?“; ( B) char ss20=”“right?“; ( C) char
14、*ss6; ss1=“right?“; ( D) char*ss=“right?“; 30 有以下程序: #include stdio h int fun() static int x=1: x*=2: retum x; main() int i, s=1: for(i=1; i =3; i+) s*=fun(); printf(“ d n“, s); 程序运行后的输出结果是 ( )。 ( A) 30 ( B) 10 ( C) 0 ( D) 64 31 有以下程序 (注:字符 a的 ASCII码值为 97): #include stdio h main() char *s=“abc“; do
15、printf(“ d“, *s 10); +s; while(*s); 程序运行后的输出结果是 ( )。 ( A) abc ( B) 789 ( C) 7890 ( D) 979899 32 有以下程序: #include stdio h #include string h main() int i, len; char b=“Welcome you to Beijing!“; len=strlen(b); for(i=0; i len; i+) if(bi= ) strcpy(b, b+i+1); i=0; printf(“ s n“, b); 程序运行后的输出结果是 ( )。 ( A) B
16、eijing! ( B) to Beijing! ( C) Welcome you to Beijing! ( D) you to Beijing! 33 以下关于字符串处理的叙述正确的是 ( )。 ( A)进行字符串复制时,目的串的存储空间必须足够大 ( B)两个字符串进行比较时,短的一个必定比长的一个小 ( C)计算一个字符串的长度时,应包含串尾的结束标志 ( D)两个字符串连接时,对存储空间的大小没有要求 34 有以下程序: #include stdio h double fun(int n) static double f=1; f*=n: return f; main() int i
17、; double s=0: for(i=1; i 6; i+) s+=fun(i); printf(“ 1f n“, S); 程序计算的是 ( )。 ( A) s=1!+2!+3!+4!+5! ( B) s=1+2+3+4+5 ( C) s=1*2*3*4*5 ( D) s=1!*2!*3!*4!*5! 35 下面结构体的定义语句中,错误的是 ( )。 ( A) struct ordint x; int y; int z; struct ord a; ( B) struct ordint x; int y; int z; ; struct ord a; ( C) struct ordint x
18、; int y; int z; a; ( D) structint x; int y; int z; a; 36 有以下程序: #include stdio h main() FILE*fp; int a10=1, 2, 3, i, n; fp=fopen(“d1 dat“, “w“); for(i=0; i 3; i+)fprintf(fp, “ d“, ai); fprintf(fp, “ n“); fclose(rp); fp=fopen(“d1 dat“, “r“); fscanf(fp, “ d“, &n); fclose(fp); printf(“ d n“, n); 程序的运行结
19、果是 ( )。 ( A) 123 ( B) 12300 ( C) 1 ( D) 321 37 有以下程序: #include stdio h #define MUL1(x, y)x*y #define MUL2(x, y)(x)*(y) #define MUL3(x, y)(x*y) main() int m=2, n=3; printf(“ d, d, d n“, MUL1(m, m+n)*2, MUL2(m, m+n)*2, MUk3(m,m+n)*2); 程序运行后 的输出结果是 ( )。 ( A) 10, 20, 14 ( B) 20, 20, 20 ( C) 10, 10, 10 (
20、 D) 14, 14, 14 38 有以下程序: #include stdio h void fun(int a) if(a 1)fun(a-1); printf(“ d“, a); main() int q=5; fun(q); printf(“ n“); 执行后的输出结果是 ( )。 ( A) 1 2 3 4 5 ( B) 5 4 3 2 1 ( C) 0 1 2 3 4 5 ( D) 5 4 3 2 1 0 39 以下关于 C语言文件的叙述中正确的是 ( )。 ( A)文件南数据序列组成,其类型可以为二进制文件或文本文件 ( B)文件由记录序列组成,其类型可以为二进制文件或文本文件 (
21、C)文件由字符序列组成,其类型可以为二进制文件或文本文件 ( D)文件由数据序列组成,其类型只能是二进制文件 40 设有定义和语句 (假设 short int型数据占 2字节 ) short int*pi, *pj; pi=pj=(short, *)malloc(2); 则以下叙述正确的是 ( )。 ( A) pi和 pj指向了同一 个 short int型存储单元 ( B) pi和 pj指向了 2个连续的 short int型存储单元的首地址 ( C) pi和 pj分别指向了一个 short int型存储单元 ( D) pi和 pj分别指向了 2个 short int型存储单元 二、程序填空
22、题 41 下列给定程序中,函数 fun的功能是:将 s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如, s所指的字符串为 “def35adh3kjsdf7”,执行后结果为 “defadhajsdf3537”。 请在程序的下划 线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! #include stdio h void fun(char*s) int i, j=0, k=0; char t180, t280; for(i=0; si!= 0; i+)
23、 if(si =0&si =9) *found* t2j=si; 1; else t1k+=si; t2i=0; t 1k=0; *found* for(i=0; i k; i+)2; *found* for(i=0; i 31; i+)sk+i=t2i; main() char s80=“ba3a54j7sd567sdffs“; printf(“ nThe original string is: s n“, s); fun(s); printf(“ nThe result is: s n“, s); 三、程序修改题 42 给定程序 modil c的主函数中,将 a、 b、 c三个结点链成一个
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 102 答案 解析 DOC
