[计算机类试卷]国家二级(C语言)笔试模拟试卷254及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷254及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷254及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 254 及答案与解析 1 若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是 ( A) bdgcefha ( B) gdbecfha ( C) bdgaechf ( D) gdbehfca 2 开发大型软件时,产生困难的根本原因是 ( )。 ( A)大型系统的复杂性 ( B)人员知识不足 ( C)客观世界千变万化 ( D)时间紧、任务重 3 对长度为 n的线性表进行顺序查找,在最坏的情 况下需要比较的次数为 ( )。 ( A) 125 ( B) n/2 ( C) n ( D) n+1 4 在进行
2、单元测试时,常用的方法是 ( A)采用白盒测试,辅之以黑盒测试 ( B)采用黑盒测试,辅之以白盒测试 ( C)只使用白盒测试 ( D)只使用黑盒测试 5 下列叙述中正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根结点的二叉树是线性结构 6 算法一般都可以用 _控制结构组合而成。 ( A)循环、分支、 递归 ( B)顺序、循环、嵌套 ( C)循环、递归、选择 ( D)顺序、选择、循环 7 设有下列二叉树:对此二叉树前序遍历的结果为 ( A) ZBTYCPXA ( B) ATBZXCYP ( C) ZBTACYX
3、P ( D) ATBZXCPY 8 下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 ( )。 ( A)选择 ( B)连接 ( C)投影 ( D)并 9 下列关系运算的叙述中,正确的是 _。 ( A)投影、选择、连接是从二维表行的方向进行的运算 ( B)并、交、 差是从二维表的列的方向来进行运算 ( C)投影、选择、连接是从二维表列的方向进行的运算 ( D)以上 3种说法都不对 10 结构化程序设计主要强调的是 _。 ( A)程序的规模 ( B)程序的易读性 ( C)程序的执行效率 ( D)程疗的可移植性 11 有下列程序段: struct st intx;int*
4、y;*pt; int a=1,2,b=3,4; struct st c2=10,a,20,b; pt=c; 下列选项中表达式的 值为 11的是 ( )。 ( A) *pt- y ( B) pt- x ( C) +pt- x ( D) (pt+)- x 12 已有定义: char c;,程序前面已在命令行中包含 ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是 ( A) isupper(C) ( B) A =c =Z ( C) A =c char c=a;scanf(“%d%c%d“,printf(“%d,%c,%dn“,m,c,n);若从键盘上输入:10A10,则输出结果是:
5、 ( A) 10,A,10 ( B) 10,a,10 ( C) 10,a,0 ( D) 10,A,0 21 若 a是数值类型,则逻辑表达式( a I)( a! 1)的值是 ( A) 1 ( B) 0 ( C) 2 ( D)不知道 a的值,不能确定 22 已有定义: char a=“xyz“b=x, y, z);,以下叙述中正确的是 _。 ( A)数组 a和 b的长度相同 ( B) a数组长度小于 b数组长度 ( C) a数 组长度大于 b数组长度 ( D)上述说法都不对 23 若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是 ( )。 ( A)实参与其对应的形参共占存储单元 ( B)
6、只有当实参与其对应的形参同名时才共占存储单元 ( C)实参与其对应的形参分别占用不同的存储单元 ( D)实参将数据传递给形参后,立即释放原先占用的存储单元 24 下列 4个关于 C语言的结论中错误的是 ( )。 ( A)可以用 dowhile 语句实现的循环一定可以用 while语句实现 ( B)可以用 for语句实现的循环一定可以用 while语句实现 ( C)可以用 while语句实现的循环一定可以用 for语句实现 ( D) dowhile 语句与 while语句的区别仅是关键字 “while”出现的位置不同 25 下列能正确进行字符串赋值的是 ( )。 ( A) chars5 “ABC
7、DE“; ( B) char s5+A,B,C,D,E), ( C) char*s;s “ABCDE“; ( D) char*s;printf(“%SS); 26 若有定义: int a23;,以下选项中对 a数组 元素正确引用的是 ( )。 ( A) a2!1 ( B) a23 ( C) a03 ( D) a1 2!1 27 若有以下说明和定义 fun(int*c). main() int(*a)()=fun, (*b)(),w10, c; 在必要的赋值之后,对 fun()函数的正确调用语句是 _。 ( A) a=a(w); ( B) (*a)( int i,j,s=0; for(i=0;i
8、0;j+=2) s=10*s+pij-0; printf(“%dn“,s); 该程序的输出结果是 ( A) 69825 ( B) 63825 ( C) 6385 ( D) 693825 29 有以下程序 :#include stdio, h main( ) char c1=1, c2=2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 当运行时输入: a回车后,以下叙述正确的是 ( )。 ( A)变量 c1被赋予字符 a, c2被赋予回车符 ( B)程序将等待用户输入第二个字符 ( C)变量 c1被赋予字符 a, c2中仍是原有字符
9、 2 ( D)变量 c1被赋予字符 a, c2中将无确定值 30 若已定义: int a=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *p=a, i;其中 0i9,则对 a数组元素不正确的引用是 ( )。 ( A) ap-a ( B) *( for(i=0; i n/2; i+) t=ai; ai=an-1 -i; an-1-i =t; main() int b10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; int i, s=0; reverse(b, 8); for(i=6; i 10; i+)s+=bi; printf(“%dn“, s); ( A) 2
10、2 ( B) 10 ( C) 34 ( D) 30 32 以下四个选项中,不能看作一条语句的是 ( )。 ( A); ( B) a=5, b=2.5, c=3.6; ( C) if(a 5); ( D) if(b! =5)x=2; y=6; 33 以下不能正确计算代数式 sm2()值的 C语言表达式是 ( A) 1/3*sin(1/2)*sin(1/2) ( B) sin(0.5)*sin(0.5)/3 ( C) pow(sin(0.5), 2)/3 ( D) 1/3.0*pow(sin(1.0/2), 2) 34 有以下程序 #define P 3 void F(int x) return(
11、pxx); main() pritnf(“%dn“,F(3+5); 程序运行后的输出结果是 ( A) 192 ( B) 29 ( C) 25 ( D)编译出错 35 以下程序的输出结果是 _。 int d=1; fun(int p) static int d=5; d+=p; printf(“%d “,d); return(d); main() int a=3; printf(“%dn“,fun(a+fun(d); ( A) 699 ( B) 669 ( C) 6 15 15 ( D) 6615 36 下列描述说明正确的是 ( ) ( A)定义结构体时,它的每个成员的数据类型可以不同 ( B)
12、不同结构体的成员名不能相同 ( C)结构体定义时,其成员的数据类型不能是结构体本身 ( D)结构体定义时各成员项之间可用分号也可用逗号隔开 37 有以下程序 main() char a,b,c,d; scanf(“%c,%c,%d,%d“, printf(%c,%c,%c,%cn“,a,b,c,d); 若运行时从键 盘上输入 6,5,65,66回车。则输出结果是 ( )。 ( A) 6,5,A,B ( B) 6,5,65,66 ( C) 6,5,6,5 ( D) 6,5,6,6 38 有以下程序: void f(int a,int i,int j) int t; if(i j) t=ai;ai
13、=aj;aj=t; f(a,i+1,j-1); main() int i, aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i 5;i+) printf(“%d,“,aai); printf(“n“); 执行后输出结果是( )。 ( A) 5,4,3,2,1, ( B) 5,2,3,4,1, ( C) 1,2,3,4,5, ( D) 1,5,4,3,2, 39 若有如下程序: main() int x=14,32,65,69,78,59,*t; t= x +5; printf(“%dn“,*-t); 则程序执行 后的输出结果是 ( )。 ( A) 78 ( B) 65 (
14、C) 32 ( D) 14 40 以下程序运行后的输出结果是 ( ) main( ) int a, b; a 50; b90; printf(“%dn“, (a, b) ( A) 90 ( B) 50 90 ( C) 50 ( D) 450 41 若 x=10010111,则表达式 (3+(int)(x) ( 3)的运算结果是 ( )。 ( A) 10011000 ( B) 10001100 ( C) 10101000 ( D) 10110000 42 当所有结点的权值都相等时,用这些结点构造的二叉排序树是【 】。 43 【 】是数据库设计的核心。 44 在关系模型中,把数据看成一个二维表,每
15、一个二维表称为一个【 】。 45 如果两个 8位二进制数 00010101与 01000111相加,其结果用十进制表示为【 】。 46 数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 _。 47 若 x和 a均是 int型变量,则计算完 x=(a=4,6*2)后的 x值为 _。 48 定义 int a=5,b;,则执行表达式 b=+a*-a之后,变量 b的值为 ( )。 49 符合结构化原则的三种基本控制结构是顺序结构、 ( )和循环结构。 50 以下程序运行后的输出结果是 _。 #include string.
16、h main() char ch=“abc“,x34; int i; for(i=0; i 3; i+) strcpy(xi, ch); for(i=0; i 3; i+) printf(“%s“, ”(k为 int型变量 )后, k的值是 _。 52 有以下程序: #include stdio.h main() char c; while(c=getchar()!=?) putchar(-c); 程序运行时,如查从键盘输入: Y?N?回车,则输出的结果为 _。 53 以下程序运行后的输出结果是 _。 int f(int a,int n) if(n =l) return f(a,n-1)+an
17、-1; else return 0; main ) int aa5=1, 2, 3, 4, 5, s; s=f(aa,5); printf%dn“,s); 54 下面程序的运行结果是【 】。 #include stdio.h #define SIZE 12 main() char sSIZE; int i; for(i=0; i SIZE; i+) si=A+i+321; sub(s, 7, SIZE-1); for(i=0; i SIZE; i+) printf(“%c“, si); printf(“n“); sub(char*a, int tl, int t2) char ch; whil
18、e(t1 t2) ch=*(a+t1); *(a+t1)=*(a+t2); *(a+t2)=ch; t1+; t2-; 55 以下程序的输出结果是 【 】 。 double sub(double x, double y, double z) y- 1.0; z z+x; return z; main() double a=2.5, b 9.0; printf(“function running result is: %6.1fn“, sub(b-a, a, A) ); 56 设有以下定义和语句,则 *(*(P+2)+1)的值为 【 】 。 int32=10,20,30,40,50,60,(*p
19、)2; p=a; 57 以下函数的功能是删除字符串 s中的所有数字字符。请填空。 void dele (char *s) int n=0,i; for(i=0, si; i+) if (【 】 ) sn+=si; sn=【 】 ; 国家二级( C语言)笔试模拟试卷 254 答案与解析 1 【正确答案】 D 【试题解析】 前序遍历的第一个结点 a为树的根节点;中序遍历中 a的左边的结点为 a的左子树, a的右边的结点为 a的右子树;再分别对 a的左右子树进行上述两步处理,直到每个结点都找到正确的位置。 2 【正确答案】 C 【试 题解析】 线性表是一种线性结构,由 n(n0)个元素组成,所以线性
20、表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C是错误的。 3 【正确答案】 C 【试题解析】 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏的情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。 4 【正确答 案】 A 【试题解析】 白盒测试是测试程序内部逻辑结构,黑盒测试只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。从程序内部的逻辑结构对系统进行测试
21、才是测试的根本,更容易发现和解决程序中的问题,因此单元测试时应该以白盒测试为主,而黑盒测试为辅。 5 【正确答案】 A 【试题解析】 线性链表是线性表的链式存储结构,选项 A的说法是正确的。栈与队列是特殊的线性表,它们也是线性结构,选项 B的说法足错误的;双向链表是线性表的链式存储结构,其对应的逻辑结构也是线性结构,而不是非线性结构,选 项 c的说法是错误的;二叉树是非线性结构,而不是线性结构,选项 D的说法是错误的。 6 【正确答案】 D 【试题解析】 算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一个算法一般都可以用顺序、选
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 254 答案 解析 DOC
