1、国家二级( C+)笔试模拟试卷 100(无答案)1 以下哪个特征不是面向对象思想中的主要特征( )。(A)多态(B)继承(C)封装(D)垃圾回收2 下面关于虚函数的描述中,正确的是( )。(A)虚函数是一个静态成员函数(B)虚函数是一个非成员函数(C)虚函数既可以在函数说明时定义,也可以函数实现时定义(D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型3 有关构造函数的说法不正确的是( )。(A)构造函数名字和类的名字一样(B)构造函数在说明类变量时自动执行(C)构造函数无任何函数类型(D)构造函数有且只有一个4 对于常数据成员,下面描述正确的是( )。(A)常数据成员可以不初始化
2、,并且不能更新(B)常数据成员必须被初始化,并且不能更新(C)常数据成员可以不初始化,并且可以被更新(D)常数据成员必须被初始化,并且可以被更新5 下列描述中错误的是( )。(A)派生类可以作为基类派生其他的子类(B)派生类继承基类的所有数据成员(C)派生类可以有多个基类(D)派生类不能继承一些函数成员6 实现输出为八进制的符号是( )。(A)dec(B) hex(C) oct(D)setw(8)7 派生类的对象对它的基类成员中( ),是可以访问的。(A)公有继承的公有成员(B)公有继承的私有成员(C)公有继承的保护成员(D)私有继承的公有成员8 下列说法中错误的是( )。(A)公有继承时基类
3、中的 public 成员在派生类中仍是 public 的(B)公有继承时基类中的 private 成员在派生类中仍是 private 的(C)私有继承时基类中的 public 成员在派生类中是 private 的(D)保护继承时基类中的 public 成员在派生类中是 protected 的9 有如下程序段 ,则对语句 int * p=a;正确的描述是( )。(A)语句 int * p=a;定义不正确(B)语句 int * p=a;初始化变量 p,使其指向数组对象 a 的第一个元素(C)语句 int * p=a;是把 a0的值赋给变量 p(D)语句 int * p=a;是把 a1的值赋给变量
4、p23 在 int a=10,* p= void main() int i,j=0; for(i=1 ;i3;i+):j+=f(i); coutj; 程序运行后的输出结果是( )。(A)4(B) 3(C) 2(D)128 关于 getline()函数的下列描述中,( )是错误的。(A)该函数是用来从键盘上读取字符串的(B)该函数读取的字符串长度是受限制的(C)该函数读取字符串时,遇到终止符时便停止(D)该函数中所使用的终止符只能是换行符29 C+中,由类 istream 和类 ostream 而派出的一个类( ),它提供双向 I/O 操作,(A)iostream(B) fstream(C) s
5、trstream(D)istream30 下面的描述中,正确的是( );(A)virtual 可以用来声明虚函数(B)含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类(C)即使基类的构造函数没有参数,派生类也必须建立构造函数(D)静态数据成员可以通过成员初始化列表来初始化31 关于二义性的描述错误的是( )。(A)一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性(B)解决二义性可以用对成员名的限定法(C)父类和子类中同时出现同名函数,也可能存在二义性(D)一个子类是从两个父类派生出来的,而这两个父类只有一个共同的父类,对该父类成员进行访问时,可能出现二义性32 下
6、列关于运算符重载的描述中,( )是正确的。(A)运算符重载可以改变操作数的个数(B)运算符重载可以改变化先级(C)运算符重载可以改变结合性(D)运算符重载不可以改变语法结构33 当输入“Thank you”时下列程序的输出结果为( )。 #includeiostream.h #includeiomanip.h void main() char line80; cin.getline(line,sizeof(80),k) ; coutline; (A)Tha(B) Thank you(C) Thank (D)以上结果都不对34 下列关于动态联编的描述中,错误的是( )。(A)动态联编是以虚函数为
7、基础的(B)动态联编是在运行时确定所调用的函数代码的(C)动态联编调用函数操作是指向对象的指针或对象引用(D)动态联编是在编译时确定操作函数的35 下列关于虚基类的描述,错误的是( )。(A)设置虚基类的目的是为了消除二义性(B)虚基类的构造函数在非虚基类之后调用(C)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用(D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数36 算法的工作量大小和实现算法所需的存储单元多少分别称为算法的【 】。37 数据结构包括数据的逻辑结构、数据的【 】以及对数据的操作运算。38 可以把具有相同属性的一些不同对象归类
8、,称为【 】。39 软件工程包括 3 个要素,分别为方法、工具和【 】。40 由关系数据库系统支持的完整性约束是指【 】和参照完整性。41 内联函数是通过【 】来实现的,因此内联函数是真正的函数。42 以下程序的输出结果是【 】。#includeiostreamhvoid main( )int a=0;a+=(a=8);cout a ;43 以下程序的执行结果为【 】。#includeiostreamusing namespace std;class basepublic:virtual void who( )cout “base class“ end1; ;class derivel:public basepublic:void who( )cout “derivel clas44 如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的【 】函数。45 为解决在多重继承环境中因公共基类带来的【 】问题,C+语言提供了虚基类机制。46 operator 是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为【 】的。47 我们通常用到的 cin ,是属于【 】输入。48 【 】是一系列相关函数的模型或样板,这些函数的【 】形式相同,只是所针对的【 】不同。