[计算机类试卷]国家二级(C语言)笔试模拟试卷231及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷231及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷231及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 231 及答案与解析 1 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 2 对长度为 n的线性表进行顺序查找,在最坏的情况下需要比较的次数为 ( )。 ( A) 125 ( B) n/2 ( C) n ( D) n+1 3 结构化分析方法是面向 ( )的自顶向下、逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 4 有 下列二叉树,对此二叉树前序遍历的结果为 ( )。 ( A) ACBEDGFH ( B) A
2、BDGCEHF ( C) HGFEDCBA ( D) ABCDEFGH 5 相对于数据库系统 ,文件系统的主要缺陷有数据关联差、数据不一致性和 ( A)可重用性差 ( B)安全性差 ( C)非持久性 ( D)冗余性 6 数据处理的最小单位是 ( )。 ( A)数据 ( B)数据元素 ( C)数据项 ( D)数据结构 7 下列叙述中,不属于软件需求规格说明书的作用的是 ( )。 ( A)便于用户、开发人员相互理 解和交流 ( B)反映用户问题的结构,可以作为软件开发工作的基础和依据 ( C)作为确认测试和验收的依据 ( D)便于开发人员进行需求分析 8 为了提高测试的效率,应该 ( A)随机选取
3、测试数据 ( B)取一切可能的输入数据作为测试数据 ( C)在完成编码以后制定软件的测试计划 ( D)集中对付那些错误群集的程序 9 设栈 S的初始状态为空。元素 a、 b、 c、 d、 e、 f依次通过栈 S,若出栈的顺序为b、 d、 c、 f、 e、 a,则栈 S的容量至少应该为 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 10 在软件开发中,需求分析阶段产生的主要文档是 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 11 下列能正确定义一维数组的选项是 ( )。 ( A) 4,3,7 ( B) 3,4,7 ( C
4、) 5,2,7 ( D) 2,5,7 12 在数据流图中,带有箭头的线段表示的是 ( )。 ( A)控制流 ( B)数据流 ( C)模块调用 ( D)事件驱动 13 以下程序的输出结果是 _。 main() int i, j, x=0; for (i=0; i 2; i+) x+; for(j=0; j 3; j+) if(j%2) continue; x+; x+; printf(“x=%dn“, x); ( A) x=4 ( B) x=8 ( C) x=6 ( D) x=12 14 现在有以下定义, int a; double b; float c; char k;则下面的表达式 a/b+
5、c-k值的类型为: ( A) int ( B) double ( C) float ( D) char 15 下列叙述中正确的是 ( )。 ( A) C语言中既有逻辑类型也有集合类型 ( B) C语言中没有逻辑类型但有集合类型 ( C) C语言中有逻辑类型但没有集合类型 ( D) C语言中既没有逻辑类型也没有集合类型 16 字符串 “abcd123xABt“的长度是 ( )。 ( A) 8 ( B) 17 ( C) 9 ( D) 10 17 设 x、 y、 t均为 int 型变量,则执行语句: x=y=3; t=+x|+y;后, y的值为( )。 ( A)不定值 ( B) 4 ( C) 3 (
6、 D) 1 18 静态测试是一种重要的测试方式,可以发现 30到 70的逻辑设计和编码错误。下面 ( )不属于静态测试 ? ( A)白盒测试 ( B)代码检查 ( C)代码质量度量 ( D)静态分析 19 假定 w、 x、 y、 m均为 int型变量,则执行下列的语句后, m的值是 ( )。 w=6,x=4,y=3; m=(w x)?w:x; m=(m y)?m:y; ( A) 3 ( B) 4 ( C) 5 ( D) 6 20 若整型变量 a、 b、 c、 d中的值依次为: 1、 4、 3、 2。则条件表达式 a b?a:cd?c:d的值是 ( )。 ( A) 1 ( B) 2 ( C) 3
7、 ( D) 4 21 下列不是合法的 C语言语句是 ( )。 ( A) a=5 ( B) int i; i+; ( C); ( D) ; 22 当用户要求输入的字符串中含有空格时,应使用的输入函数是 ( A) scanf() ( B) getchar() ( C) gets() ( D) Setc() 23 设变量 x和 y均已正确定义并赋值,以下 if语句中,在编译时 将产生错误信息的是 ( )。 ( A) if(x+); ( B) if(x y ( C) if(x y)x-else y+; ( D) if(y 0) ; else x+; 24 有以下程序: #include stdio.h
8、 main() int i,j; for(i=3;i =1;i-) for(j=1;j =2;j+)printf(“%d“,i+j); printf(“n“); 程序运行 的结果是( )。 ( A) 2 3 4 ( B) 4 3 2 ( C) 2 3 ( D) 4 5 3 4 5 5 4 3 3 4 3 4 4 5 2 3 25 若有定义和语句: int*pp,*p,a 20,b 10; pp p p printf(“%d,%dn“,*p,*pp); 则输出结果是 ( )。 ( A) 20,10 ( B) 20,20 ( C) 10,20 ( D) 10,10 26 以下程序的输出结 果是 _
9、。 main() union int i2; long j; char m4; r, *s=float f2 ( float n) return 2 * n;main( ) float ( * p1)(float),( * p2)(float),(*t)(float) ,y1,y2; p1 = f1;p2 = f2; y1 = p2(p1(2.0) ); t =p1;p1 = p2;p2 =t; y2=p2(p1(2.0); prinff(“% 3.0f, %3.Ofn“ ,y1,y2);程序运行后的输出结果是 ( )。 ( A) 8,16 ( B) 8,8 ( C) 16,16 ( D) 4
10、,8 28 设变量 x为 float型且已赋值,则以 下语句中能将 x中的数值保留到小数点后两位,并将第三位四舍五入的是 ( )。 ( A) x=x*100+0.5/100.0; ( B) x=(x*100+0.5)/100.0 ( C) x=(int)(x*100+0.5)/100.0; ( D) x=(x/100+0.5)/100.0; 29 若以下定义 :struct link int data; struck link *next; a, b, c, *p, *q; 且变量a和 b之间已有如下图所示的链表结构: 指针p指向变量 a, q指向变量 c。则能够把 c插入到 a和 b之间并形
11、成新的链表的语句组是 ( A) a.next=c; c.next=b; ( B) p.next=q; q.next=p.next; ( C) p- next=(*q).next= while(*(str+num)!=0) num+; return(num);p main() char str10,*p=str; gets(p);printf(“%dn“,func(P); ( A) 8 ( B) 7 ( C) 6 ( D) 5 31 下列程序执行后输出的结果是 _。 int d=1; fun(int p) int d=5; d+=p+; printh(“%d,“,d); main() int a
12、=3; fuin(a); d+=a+; printf(:%dn“,d); ( A) 8, 12 ( B) 9, 13 ( C) 8, 4 ( D) 9, 5 32 下述函数功能是 _。 int fun(char *x) char *y=x; while(*y+); retum y-x-1; ( A)求 字符串的长度 ( B)求字符串存放的位置 ( C)比较两个字符串的大小 ( D)将字符串 x连接到字符串 y后面 33 阅读以下程序及对程序功能的描述,其中正确的描述是 #include stdio.h main() FILE*in, *out; char ch, infile10, outfi
13、le10; printf(“Enter the infile name:n“); scanf(“%s“, infile); printf(“Enter the outfile name:n“); scanf(“%s“, outfile); if(in=fopen(infile, “r“)=NULL) printf(“cannot open infilen“); exit(0); if(out=fopen(outfile, “w“)=NULL) printf(“cannot open outfilen“); exit(0); while(!feof(in)fputc(fgetc(in),out)
14、; fclose(in); fclose(out); ( A)程序完成将磁盘文件的信息在屏幕上显示的功能 ( B)程序完成将两个磁盘文件合二为一的功能 ( C)程序完成将一个磁盘文件复制到另一个磁盘文件中 ( D)程序完成将两个磁盘文件合并并在屏幕上输出 34 有以下程序: main() int x=0, y=0, i; for(i=1; +i) if(i%2=0)x+; continue; if(i%5=0)y+; break; printf(“%d, %d“, x, y); 程序的输出结果是 ( )。 ( A) 2, 1 ( B) 2, 2 ( C) 2, 5 ( D) 5, 2 35 下
15、面程序的输出结果是 _。 main() int x=0x48; printf(“%dn“,-x); ( A) 48 ( B) 47 ( C) 71 ( D) 72 36 下列程序的输出结果是 ( )。 #include stdio.h #include string.hmain() char a=“n123“; printf(“%d, %dn“, strlen(A) , sizeof(A) ); ( A) 5,6 ( B) 5,5 ( C) 6,6 ( D) 6,5 37 若有定义 int a10, *p=a,则 p+6表示 ( )。 ( A)数组元素 a5的值 ( B)数组元素 a5的地址
16、( C)数组元素 a6的地址 ( D)数组元素 a0的值加上 5 38 有一函数: 以下程序段中不能根据 x值正确计算 出 y值的是 ( A) if(x0)y=1; else if(x= =0)y=0; else y=-1; ( B) y=0; if(x0)y=1; else if(x = 0) if (x0) y = 1; else y = -1; ( D) if ( x = 0) if ( x0)y = 1; else y = 0; else y = -1; 39 以下叙述中错误的是 ( A)二进制文件打开后可以先读 文件的末尾,而顺序文件不可以 ( B)在程序结束时,应当用函数 fclo
17、se( )关闭已打开的文件 ( C)在利用函数 fread( )从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 ( D)不可以用 FILE定义指向二进制文件的文件指针 40 若有定义: char *x=“abcdefghi“;,以下选项中正确运用了 strcpy函数的是_。 ( A) char y10; strcpy(y,x4); ( B) char y10; strcpy( y, ( C) char y10,*s; strcpy(s=y 5,x); ( D) char y10,*s; strcpy(s=y 1,x 1); 41 下列叙述中错误的是 ( )。 ( A) gets函
18、数用于从终端读入字符串 ( B) getchar函数用于从磁盘文件读入字符 ( C) fputs函数用于把字符串输出到文件 ( D) fwrite函数用于以二进制形式输出数据到文件 42 设一棵完全二叉树共有 500个结点,则在该二叉树中有 _个叶子结点。 43 关系模型的完整性规则是对关系的某种约束条件 ,包括实体完整性、 _和自定义完整性。 44 对于长度为 n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【 】。 45 设一棵完全二叉树共有 700个结点,则在该二叉树中有【 】个叶子结点。 46 数据流图的类型有【 】和事务型。 47 两种基本测试方法中, ( )
19、测试的原因之一是保证所测试模块中每一个独立路径至少要执行一次。 48 下列程序的运行结果是 _。 #define P(A) printf(“%d“,A) main() int j,a=1,2,3,4,5,6,7,i=5; for(j=3;j 1;j-) switch(j) case 1: case2: P(ai+);break; case 3: P(a-i); 49 #define命令出现在程序中函数的外面,宏名的有效范围为 _。 50 以下程序的运行结果是 ( )。 int k=0; void fun(int m) m+=k;k+=m;printf(“m=%dn k=%d“,m,k+); m
20、ain() int i=4; fun(i+);printf(“i=%d k=%dn“,i,k); 51 以下程序运行时从键盘输入: 1 0 2 0,输出结果是: 1 000000 2 000000,请填空。 #include main() double a; float b; scanf(“_“, 成员变量 link是指向自身结构体的指针 ,请将定义补充完整。 struct node int info; 【 】 link; ; 54 设二进制数 A是 00101101,若想通过异或运算 ab使 A的高 4位取反,低 4位不变,则二进制数 B应是【 】。 55 在计算机中,字符 的比较是对它们的
21、【 】进行比较。 56 语句: x+;、 +x;、 x x+1;、 x=1+x;,执行后都使变量 x中的值增 1,请写出一条同一功能的赋值语句 (不得与列举的相同 )【 】。 57 函数 fun的功能是计算 xn double fun(double x, int n) int i; double y=1; for(i=1; i =n; i+) y=y*x; return y; 主函数中已正确定义 m、 a、 b变量并赋值,而且调用 fun函数计算: m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【 】。 国家二级( C语言)笔试模拟试卷 231 答案与解析 1 【正确答案】 D 【
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 231 答案 解析 DOC
