国家二级C++机试(选择题)模拟试卷484
选择题
1.下列描述中正确的是(D)
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
解析:数据的逻辑结构是指数据集合中各数据元素之间所固有的逻辑关系:数据的存储结构是在对数据进行处理时,各数据元素在计算机中的存储关系。数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。
2.下列数据结构中,属于非线性结构的是(C)
A. 循环队列
B. 带链队列
C. 二叉树
D. 带链栈
解析:根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类:线性结构和非线性结构。循环队列、带链队列和带链栈都是线性结构,而二叉树是非线性结构。
3.字面常量42、4.2、42L的数据类型分别是( )。(C)
A. long,double,int
B. long,float,int
C. int,double,long
D. int,float,long
解析:此题考查的知识点是字面常量。对于整型字面常量,要没有超过C++中整数所能表示的范围,C+十将自动按整数来存储此数,也可以通过在整型字面常量后添加u或1来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字而常量后添加f来指定按单精度数存储。
4.已知枚举类型定义语句为:
enum Token{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。(A)
A. 枚举常量NAME的值为1
B. 枚举常量NUMBER的值为1
C. 枚举常量MINUS的值为6
D. 枚举常量PRINT的值为10
解析:此题考查的是C++语言的数据类型。第一个枚举常量的值为0:允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时,在前一枚举常量值的基础上以此增l。
5.对于循环队列,下列叙述中正确的是(D)
A. 队头指针是固定不变的
B. 队头指针一定大于队尾指针
C. 队头指针一定小于队尾指针
D. 队头指针可以大于队尾指针,也可以小于队尾指针
解析:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置。循环队列的主要操作是:入队运算和退队运算。每进行一次入队运算,队尾指针就进一。每进行一次退队运算,队头指针就进一。当rear或front等于队列的长度加1时,就把rear或front值置为1。所以在循环队列中,队头指针可以大于队尾指针,也可以小于队尾指针。
6.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。(D)
A. 3
B. 4
C. 6
D. 7
解析:根据二叉树的性质,度为O的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,故该二叉树为7层,每层只有一个结点。
7.若字符指针P所指向的字符串为”abcdefg”,在执行语句( )。
Char*ap=new char[strlen(p)+1];
之后,ap指向的字符数组的元素个数为(B)
A. 9
B. 8
C. 7
D. 6
解析:字符指针p所指向的字符半为“abcdefg”,所以函数strlen(p)的值等于7,再加l,等于8。
8.下列叙述中正确的是(D)
A. 算法的复杂度是指算法所处理的数据量
B. 算法的复杂度是指算法程序中指令的数量
C. 算法的复杂度是指算法控制结构的复杂程度
D. 算法的复杂度包括时间复杂度与空间复杂度
解析:算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
9.存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?( )(A)
A. x*pa;
B. x=*(a+1);
C. x=*(pa+1);
D. x=a[1];
解析:选项B)、C)、D)都是获取a(1)元素,而选项A)是获取a(0)的元素。
10.有如下程序:
#include
using namespace std;
class Sample{
friend long fun(Sample S);
public:
Sample(long a){x=a;}
private:
long x;
};
long fun(Sample s){
if(s.x<2)retum 1;
retum s.x*=fun(Sample(s.x一1));
}
int main()
{
int sum=0;
for(int i=0;i<6;i++)
{sum+=fun(Sample(i));}
cout<<sum;
return 0;
}
执行这个程序的输出结果是( )。(C)
A. 120
B. 16
C. 154
D. 34
解析:本题考查默认构造函数,当i=0、1时,fun(sample(i))为1;当i=2时,fun(sample(i))为2;当i=3时,fun(Sample(i))为6;当i-4时,fun(Sample(i))为24;当i-5时,fun(Sample(i))为120。所以总和为154。
11.下面描述中不属于数据库系统特点的是( )。(C)
A. 数据共享
B. 数据完整性
C. 数据冗余度高
D. 数据独立性高
解析:数据系统的基本特点有数据的集成性、数据的高共享性与低冗余性、数据的独立性、数据统一管理与控制。
12.两个或两个以上模块之间关联的紧密程度称为(A)
A. 耦合度
B. 内聚度
C. 复杂度
D. 数据传输特性
解析:模块的独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系较少且接口简单。衡量软件的模块独立性使用:内聚性和耦合性两个定性度量标准。内聚性是对一个模块内部各个元素彼此结合的紧密程度的度量;耦合性是对模块间互相连接的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
13.有如下类定义:
class XX{
int xx;
public:
本文档预览:3600字符,共8498字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载