国家二级C语言机试(选择题)模拟试卷337
选择题
1.在数据管理技术发展的三个阶段中,数据共享最好的是( )。(C)
A. 人工管理阶段
B. 文件系统阶段
C. 数据库系统阶段
D. 三个阶段相同
解析:据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C。
2.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为(A)
A. 1kb
B. 2kb
C. 4kb
D. 8kb
解析:10根地址线,每根地址线有0和1两种情况,地址范围就是2的10次方=1024=1K。
3.下列叙述中正确的是( )。(D)
A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上三种说法都不对
解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构,所以B)和C)错误。
4.设树T的深度为4,其中度为1,2,3,4的节点个数分别为4,2,1,1。则T中的叶子节点数为( )。(B)
A. 8
B. 7
C. 6
D. 5
解析:深度为m,二叉树其总节点数为2m一1=24一1=15。总节点数减去度为1,2,3,4的节点个数就是叶子节点数。15—4一2—1—1=7。
5.有以下程序:
#include<stdio.h>
void main( )
{
unsigned char a=8,c;
c =a>>3:
printf(″%d\n″,c);
}
程序运行后的输出结果是( )。
A.32
B.16
C.1
D.0(C)
A. 32
B. 16
C. 1
D. 0
解析:字符常量与其ASCⅡ码值一一对应,在计算的时候,可以使用该字符的ASCⅡ码参与运算,输出时会根据格式控制符输出对应的字符或者ASCⅡ码。右移运算符“>>”的运算规则是把左边运算数的各二进制位全部右移n位,n取决于“>>”右边的数值。字符a的ASCⅡ码值为8,对应二进制为1000,所以a>>3=1,输出的字符c的ASCⅡ码值为1,答案选C。
6.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(D)
A. 3
B. 4
C. 6
D. 7
解析:根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,故该二叉树为7层,每层只有一个结点。
7.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为(C)
A. 2
B. 3
C. 4
D. 5
解析:该二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,可知A为根结点,结点B、C、D位于根结点的左子树上,结点E、F、G位于根结点的右子树上;并且结点B、C、D在前序序列和中序序列中顺序颠倒,则说明这三个结点依次位于前一个结点的左子树上;结点E、F、G顺序未变,则说明这三个结点依次位于前一个结点的右子树上。所以得到的二叉树为:
8.下列关于数据库设计的叙述中正确的是( )。(A)
A. 在需求分析阶段建立数据字典
B. 在概念设计阶段建立数据字典
C. 在逻辑设计阶段建立数据字典
D. 在物理设计阶段建立数据字典
解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。
9.设某棵树的度为3,其中度为3、2、1的结点个数分别为3、0、4。则该树中的叶子结点数为(A)
A. 7
B. 8
C. 6
D. 不可能有这样的树
解析:树的度是指一棵树中,最大的结点的度称为“树的度”。根据题目可知本树中没有度为2的结点。树的总结点=(度1*个数+度2*个数…)+1,这里我们设总结点数为n,那么n=3*3+2*0+1*4+1=14。树的叶子结点数等于总结点减去所有度不为0的结点,也就是14-3-4=7。
10.设x=061,y=016,则z=x|y的值是( )。(C)
A. 00001111
B. 11111111
C. 00111111
D. 11000000
解析:本题主要考查按位或运算,x=061(二进制为00110001),y=016(二进制为00001110),进行或运算后结果为00111111。
11.数据库管理系统是( )。(B)
A. 操作系统的一部分
B. 在操作系统支持下的系统软件
C. 一种编译系统
D. 一种操作系统
解析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。
12.有以下程序:
#include<stdio.h>
char f(char x)
{
return x * x%10+′0′;
}
main( )
{
char a;int b=0;
for(a=0;a<5;a+ =1)
{
b=f(a);putchar(b);
}
}
则程序的输出结果是( )。(C)
A. 014916
B. 01234
C. 01496
D. 00000
解析:该题目中x*x%10,即x和x相乘后,结果再对10求余操作。主函数中通过for语句使变量a从0到4进行取值,当a=0时,调用函数f后,返回值为0,赋给b,并且进行字符输出;当a=1时,返回值为1赋给b,并且进行字符输出;当a=2时,返回值为4赋给b,并且进行字符输出;当a=3时,返回值为9赋给b,并且进行字符输出;当a=4时,返回值为6赋给b,并且进行字符输出。故C选项正确。
13.下列选项中不符合良好程序设计风格的是(D)
A. 源程序要文档化
B. 数据说明的次序要规范化
C. 避免滥用goto语句
D. 模块设计要保证高耦合、高内聚
解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。可以认为,著名的“清晰第一、效率第二”的论点已成为当今主导的程序设计风格。良好的程序设计风格主要应注重和考虑下列几个因素:①源程序文档化,包括下列三个方面:A)符号的命名应具有一定的含义;B)正确的注释能够帮助读者理解程序;C)视觉组织,可以在程序中利用空格、空行、缩进等技巧使程序层次清
本文档预览:3600字符,共12790字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载