二级C++笔试357
(总分100, 做题时间90分钟)
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 
以下不能作为输出流对象的是
A 文件
B 内存
C 键盘
D 显示器
    分值: 2
答案:C
[解析] 输出流对象包括基本的输出设备,如显示器,内存和文件,而输入流对象则包括键盘,文件以及其他输入设备。
2. 
以下的for循环    for(x=0,y=0,(y!  =123)&&(x<4);x++);
A 是无限循环
B 循环次数不定
C 最多执行4次
D 最多执行3次
    分值: 2
答案:C
[解析] 本题考察for循环的三个表达式的用法及其执行顺序,本题中for循环的第三个表达式完成变量自增,以控制for循环的执行次数。
3. 
以下不能够读入空格字符的语句是
A char line; line=ciget()
B char line; ci get(lin;
C char line; cin>>line;
D char line[2];  ci getline(line,2);
    分值: 2
答案:C
[解析] 本题考察cin流对象的几种成员函数get,getline的使用规则。流提取符>>在提取字符时,遇到C++规定的分隔符如空格,回车和Tab键时自动分割,故本题正确答案为C。
4. 
在结构化分析方法中,数据字典的作用是
A 存放所有需要处理的原始数据
B 存放所有处理的结果
C 存放所有的程序文件
D 描述系统中所用到的全部数据和文件的有关信息
    分值: 2
答案:D
[解析] 在结构化分析方法中,数据字典的作用是描述系统中所用到的全部数据和文件的有关信息。
5. 
对于常数据成员,下面描述正确的是
A 常数据成员可以不初始化,并且不能更新
B 常数据成员必须被初始化,并且不能更新
C 常数据成员可以不初始化,并且可以被更新
D 常数据成员必须被初始化,并且可以被更新
    分值: 2
答案:B
[解析] 常数据成员不能背更新,因此可以排除选项C和D。常数据成员所包含的值不能被更新,所以必须被初始化,如果初始化则常数据成员里的随机值是没有实际意义的.
6. 
下述说法错误的是
A 对象之间不可以相互赋值
B 对象可以用作函数参数
C 对象可以用作数组的元素
D 对象可以用作另一对象的成员
    分值: 2
答案:A
[解析] 如果重载了赋值运算符后,对象之间是可以赋值的,对象如C++中其他内置的数据类型一样,可以作为函数参数、数组元素,其他对象的成员存在。
7. 
关于const修饰符的说法中,错误的是
A const既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象
B 若const修饰了一个对象,则该对象中的所有数据成员都无法被更新
C 常对象无法调用一般成员函数
D 常成员函数只能被常对象调用,不能被一般对象调用
    分值: 2
答案:D
[解析] 本题考察const修饰符的含义及其修饰不同对象的规则。常对象既能被常对象调用,也能被一般对象调用,一旦const修饰了一个对象,则对象的所有数据成员都无法更新。
8. 
当使用fstram流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A ios::in
B ios::out
C ios::int | ios::out
D 没有
    分值: 2
答案:D
[解析] C++中没在规定文件打开时的隐含打开方式,因此考生在写程序是必须指定打开方式,否则将出现错误。
9. 
以下有关类与结构体关系的叙述不正确的是
A 结构体中只包含数据;类中封装了数据和操作
B 结构体的成员对外界通常是开放的;类的成员可以被隐蔽
析构方法C 用struct不能声明一个类型名;而class可以声明一个类名
D 结构体成员默认为Public;类成员默认为private
    分值: 2
答案:C
[解析] 可以说类来源于结构体,两者有相似之处。但类的功能更强大一些,不仅增加了操作,还能够隐藏和包含其成员变量或成员函数。
10. 
假定a为一个整型数组名,则元素a[4]的字节地址为
A a+4
B a+8
C a+16
D a+32
    分值: 2
答案:C
[解析] 注意:VC编译器分配给整数的内存是4字节。
11. 
在多继承中,公用派生和私有派生对于基类成员在派生类中的可访问性与单继承规则
A 完全相同
B 完全不同
C 部分相同,部分不同
D 以上都不对
    分值: 2
答案:A
[解析] C++语言中为了简化继承关系,规定多重继承中可访问性规则同单继承规则。
12. 
以下不属于构造函数特征的是。
A 构造函数名与类名相同
B 构造函数可以重载
C 构造函数可以设置默认参数
D 构造函数必须指定函数类型
    分值: 2
答案:D
[解析] 构造函数和析构函数一样,是类的特殊的成员函数。其特殊之处在于,构造函数可以有多个版本以实现不同的初始化方式,不能指定形参和函数类型,这些都是系统默认完成。
13. 
设有定义char str[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是
A ciget(str, strlen(st);
B cigetline(str,strlen(st);
C cin>>str;
D ciread(str, strlen(st);
    分值: 2
答案:D
[解析] 本题考察cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。
14. 
以下叙述正确的是
A 派生类中不可以定义与基类中同名的成员变量
B 派生类中不可以重载成员函数
C 派生类中不能调用基类中的同名函数
D 以上三项均不正确
    分值: 2
答案:D
[解析] 派生类和基类之间的关系比较重要,派生类不仅可以定义同名的成员变量,还可以调用或重载基类的同名函数,这是类的多态性的基础。
15. 
设A为test类的对象且赋有初值,赋值符号已经重载,则语句test B=A;表示
A 语法错
B 为对象A定义一个别名
C 将对象A复制给对象B
D 仅说明B和A属于同一个类
    分值: 2
答案:C
[解析] 同上题。
16. 
对下列二叉树进行后序遍历的结果是     
A ZBTYCPXA
B ATBZXCYP
C ZBTACYXP
D ATBZXCPY
    分值: 2
答案:A
[解析] 按照二叉树后序遍历的方法:在访问根结点;遍历左子树与遍历右于树这三者中,首先遍历左子树,然后遍历右于树,最后访问根结点;并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点.对本题中的二叉树进行后序遍历的结果应是ZBTYCPXA。
17. 
已知语句int m=10;则下列引用的表示中正确的是
A int &x=m;
B int &y=10;
C int &z;
D float &t=&m;
    分值: 2
答案:A
[解析] 本题考察引用的定义既使用。引用是C++中新引入的概念,其使用方法同变量,而其本质同指针,具有指针的灵活性。引用必须用变量进行赋值,不能用常量或常数。
18. 
如果一个类含有一个以上的纯虚函数,则称该类为
A 虚基类
B 抽象类
C 派生类
D 以上都不对
    分值: 2
答案:B
[解析] 纯虚函数一般提供派生类进行继承的参考,是多态性的重要保证,一个具有纯虚函数的类称为抽象类,抽象类可以具有其他类的特点,但不能实例化,其主要目的是作为派生类的基类存在,处于类层次的高层。
19. 
设有如下关系表:            则下列操作中正确的是
A T=R∩S
B T=R∪S
C T=R×S
D t=R/S
    分值: 2
答案:B
[解析] 显然,关系表T是关系表R与S的并,即T=R∪S。
20. 
下列数据结构中具有记忆作用的是
A 栈
B 队列
C 有序表
D 二又树
    分值: 2
答案:A
[解析] 栈是按照“先进后出”(FILO-First In Last Out)或“后进先出”(LIFO-Last In First Out)的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。因此,栈具有记忆作用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。