国家二级C++机试(选择题)模拟试卷477
选择题
1.按照“后进先出”原则组织数据的数据结构是( )。(B)
A. 队列
B. 栈
C. 双向链表
D. 二叉树
解析:栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,也是最先被删除的元素:栈底元素总是最先被插入的元素,也是最后才能被删除的元素。即栈是按照“后进先出”(LastIn First Out,简称LIFO)或“先进后出”(First In Last Out,简称FILO)的原则组织数据的。因此,栈也称为“后进先出表”或“先进后出”表。
2.下列叙述中正确的是( )。(B)
A. 循环队列是队列的一种链式存储结构
B. 循环队列是队列的一种顺序存储结构
C. 循环队列是非线性结构
D. 循环队列是一种逻辑结构
解析:本题主要考查循环队列的概念,循环队列作为队列的种也应该是线性结构。队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。
3.某系统总体结构图如下图所示:
(C)
A. 7
B. 6
C. 3
D. 2
解析:这个系统总体结构图是一棵树结构,在树结构中,根结点在第1层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共3层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为3。
4.对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。(C)
A. log2n
B. n/2
C. n
D. n+1
解析:在进行顺序查找过程中,如果被查的元素是线性表中的最后一个元素,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中的所有元素进行比较,这是顺序查找的最坏情况,需要比较的次数为n次。
5.T列数据结构中,能用二分法进行查找的是(A)
A. 顺序存储的有序线性表
B. 线性链表
C. 二叉链表
D. 有序线性链表
解析:二分法查找只适应于顺序存储的有序表。有序表是指线性表中的元素按值非递减排序(即从小到大,但允许相邻元素值相等)的表。
6.度为3的一棵树共有30个结点,其中度为3、l的结点个数分别为3、4。则该树中的叶子结点数为(B)
A. 14
B. 15
C. 16
D. 不可能有这样的树
解析:根据题目可知本树中还有度为2的结点。树的总结点=(度1*个数+度2*个数…)+1,这里我们设度为2的结点数为x,那么30=3*3+2*x+1*4+1=2*x+14,由此可计算出x=8。树的叶子结点数等于总结点减去所有度不为0的结点,也就是30-3-8-4=15。
7.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(C)
A. 编译程序
B. 操作系统
C. 教务管理系统
D. 汇编程序
解析:编译软件、操作系统、汇编程序都属于系统软件,只有c教务管理系统才是应用软件。
8.下列有关函数重载的叙述中,错误的是( )。(C)
A. 函数重载就是用相同的函数名定义多个函数
B. 重载函数的参数列表必须不同
C. 重载函数的返回值类型必须不同
D. 重载函数的参数可以带有默认值
解析:所谓函数重载是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数体,这些函数的名字相同,但是函数参数的类型不同,还允许参数的个数不同,但不能只有函数的返回值类型不同而参数的个数和类型相同的重载。所以本题答案为C。
9.下面属于白盒测试方法的是( )。(B)
A. 等价类划分法
B. 逻辑覆盖
C. 边界值分析法
D. 错误推测法
解析:白盒测试的主要方法有逻辑覆盖、基本路径测试等。
10.有如下程序:
#include
using namespace std;
class CD{
public:
-CD0{cout<<一C;)
private:
char name[80];
);
int main(){CD a,*b,d[2];retum 0;}
运行时的输出结果是( )。(B)
A. CCCC
B. CCC
C. CC
D. C
解析:在这个程序的主函数中定义了3个CD类的实例对象a,d[0],d[1】和一个指向CD类对象的指针变量b,所以当程序结束时,执行cD的析构函数输出字符C三次。
11.有如下程序:
#inclulde
using namespace std;
class Base
{
private:
void funl() const{tout<<\\(B)
A. ①②⑧④
B. ①②③
C. ②③④
D. ①④
解析:此题考查的是保护继承。因为Derived以protected方式继承了Base类,所以父类Base中的公有成员和保护成员均成了Derived类的保护成员,而Base类的私有成员Derived类不可访问。所以,主函数中通过Derived类的对象只能够访问到Derived类的公有成员。
12.按照标识符的要求,下列选项中,( )符号不能组成标识符。(A)
A. 连接符
B. 下划线
C. 大小写字母
D. 数字字符
解析:此题考查的是标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格:标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。
13.在下列关系运算中,不改变关系表.中的属性个数但能减少元组个数的是( )。(B)
A. 并
B. 交
C. 投影
D. 除
解析:关系R与S经交运算后所得到的关系是由那些既在R内又在S内的有序组所组成,记为R∩S,交运算不改变关系表中的属性个数但能减少元组个数。
14.下列枚举类型的定义中,包含枚举值3的是( )。
A
解析:声明枚举类型的语法格式为:enum<类型名>{<枚举值表>};<枚举值表>包含多个枚举值,它们用逗号隔开,每个枚举值就是一个枚举常量。枚举值有两种定义形式:一是<值名>;二是<值名>=<整型常量>。关于枚举类型有以下4点说明:
①一个enum类型实际上是int类型的一个子集,其每一个枚举值代表一个整数。
②n个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…n-1对应。
③若第i个枚举值赋常量值为m,则其未赋常量值的
本文档预览:3600字符,共6834字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载