1、计算机二级(C+)2 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.类的析构函数的作用是( )。(分数:70.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数D.借助于指向对象的基类指针或引用调用一个纯虚函数2.下面程序段的运行结果是( )。 voidmain( ) ihtt,a,b,C; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:70.00)A.1,2,0B
2、.2,1,0C.1,2,1D.2,1,13.对于类定义 class A public: virtual void func1( ) void func2( ) ; class B:public A public: void func1( )cout“class B func 1“endl; virtual void func2( )cout“class B func2“endl; ; 下面正确的叙述是( )。 (分数:70.00)A.public A a=new A( );B.public A a=A();C.A a=new class();D.a A;4.下列描述中哪个是正确的?(分数:70
3、.00)A.2310B.2016C.1500D.16585.下面程序的运行结果是( )。 # include iostreamh void fun(int * a,int * b) int x= * a; * a= * b; * b=X; cout * a * b“ “ ; void main( ) int x=1, y=2; fun ( x, y); cout b)|c) cout“true“endl; else cout“false“endl; (分数:3.00)填空项 1:_39.以下程序的输出结果是 1。 #includeiostreamh unsignedfun(unsignednu
4、m) unsignedk=1; do k * =num%10;num/=10;while(num); returnk; voidmain( ) unsignedn=26; coutfun(n)endl; (分数:3.00)填空项 1:_40.以下程序的输出结果是 1。 #includeiostreamh void main2 int a=0; a+ =(a=8); cout a; (分数:3.00)填空项 1:_41.要采用“cin,tout”进行输入输出时,必须包含的头文件是 1。(分数:3.00)填空项 1:_42.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构造
5、函数,最后执行 2 的构造函数。 (分数:3.00)填空项 1:_43.重载的运算符保持其原有的 1、优先级和结合性不变。(分数:3.00)填空项 1:_44.类模板不同于函数模板,类模板只可用 1 型参数。(分数:3.00)填空项 1:_45.在 C+语言中,访问一个对象的成员所用的运算符是 1,访问一个指针所指向的对象的成员所用的运算符是 2。(分数:3.00)填空项 1:_46.关系操作的特点是 1 操作。(分数:-1.00)填空项 1:_47.在面向对象的程序设计中,类描述的是具有相似性质的一组 1。(分数:-1.00)填空项 1:_48.关系数据库的关系演算语言是以 1 为基础的 D
6、ML语言。(分数:-1.00)填空项 1:_49.用树型结构表示实体类型及实体间联系的数据模型称为 1(分数:-1.00)填空项 1:_50.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 1。(分数:-1.00)填空项 1:_计算机二级(C+)2 答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.类的析构函数的作用是( )。(分数:70.00)A.以任何方式调用一个虚函数B.以任何方式调用一个纯虚函数C.借助于指向对象的基类指针或引用调用一个虚函数 D.借助于指向对象的基类指针或引用调用一
7、个纯虚函数解析:本题考查 C+语言中 运算符的意义。C+语言中 和 运算符都是友元函数重载,分别用于输出和输入。2.下面程序段的运行结果是( )。 voidmain( ) ihtt,a,b,C; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:70.00)A.1,2,0 B.2,1,0C.1,2,1D.2,1,1解析:本题中(abc)的运算次序是先算 ab,返回 1,再运算 1c,返回 1,所以表达式 abc 的值为 1。 3.对于类定义 class A public: virtual void func1( ) void
8、func2( ) ; class B:public A public: void func1( )cout“class B func 1“endl; virtual void func2( )cout“class B func2“endl; ; 下面正确的叙述是( )。 (分数:70.00)A.public A a=new A( ); B.public A a=A();C.A a=new class();D.a A;解析:本题考查简单的 ifelse语句。先执行条件 if(aB) ,显然不成立,则执行 else语句。4.下列描述中哪个是正确的?(分数:70.00)A.2310B.2016 C.
9、1500D.1658解析:题目中 Sub过程的形式参数都没有特别指明是传址方式还是传值方式,隐含的是传址。实际调用时,还要根据实参的形式,才能确定是传值还是传址的数据传送方式。若实参为常量或表达式,则为传值的传递方式;若实参是变量名或数组名,则为传值的传递方式。5.下面程序的运行结果是( )。 # include iostreamh void fun(int * a,int * b) int x= * a; * a= * b; * b=X; cout * a * b“ “ ; void main( ) int x=1, y=2; fun ( x, y); cout b)|c) cout“tru
10、e“endl; else cout“false“endl; (分数:3.00)填空项 1:_ (正确答案:True)解析:本题考查的是对于逻辑运算符号的理解,“|”运算符的任何一边取值为真, 则整个运算结果为真。 39.以下程序的输出结果是 1。 #includeiostreamh unsignedfun(unsignednum) unsignedk=1; do k * =num%10;num/=10;while(num); returnk; voidmain( ) unsignedn=26; coutfun(n)endl; (分数:3.00)填空项 1:_ (正确答案:12)解析:函数有一个
11、形参 num,循环前变量 k置 1,循环中,表达式 num%10是取 num 的个位,将 num的个位值累乘于 k中,然后 num除以 10。循环直至 num为。结束,这是 逐一求出 num十进制表示的各位数字,并累乘于变量 k的循环。函数最后返回 k。函数 fun 的功能是求整数的各位十进数字积。 40.以下程序的输出结果是 1。 #includeiostreamh void main2 int a=0; a+ =(a=8); cout a; (分数:3.00)填空项 1:_ (正确答案:16)解析:解答本题的关键是要分析清楚表达式 a+=(a=8)中,a 的值已经被赋为 8,而不是 0。4
12、1.要采用“cin,tout”进行输入输出时,必须包含的头文件是 1。(分数:3.00)填空项 1:_ (正确答案:iostreamh)解析:iostreamh 是与输入输出有关的类文件。 42.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构造 函数,最后执行 2 的构造函数。 (分数:3.00)填空项 1:_ (正确答案:基类)解析:本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序是先基类后派生类,而析构函数的执行顺序正好相反,是先调用派生类后调用基类。 43.重载的运算符保持其原有的 1、优先级和结合性不变。(分数:3.00)填空项 1:_
13、 (正确答案:操作符个数)解析:本题考查的是运算符重载的概念,用户重新定义的运算符不改变原运算符的优 先性和结合性,也不改变运算符的语法结构,也就是说重载运算符不会产生新的运算符。 44.类模板不同于函数模板,类模板只可用 1 型参数。(分数:3.00)填空项 1:_ (正确答案:类)解析:本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板, 类模板只能用于类型参数,函数模板可以重载。 45.在 C+语言中,访问一个对象的成员所用的运算符是 1,访问一个指针所指向的对象的成员所用的运算符是 2。(分数:3.00)填空项 1:_ (正确答案:成员选择运算符(或“))解析:本题考查
14、的是使用对象和对象指针访问成员所使用的符号的不同,请注意它们的区别。 46.关系操作的特点是 1 操作。(分数:-1.00)填空项 1:_ (正确答案:集合)解析:在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元素数相同的元组的集合。因此,关系操作的特点是集合操作。 47.在面向对象的程序设计中,类描述的是具有相似性质的一组 1。(分数:-1.00)填空项 1:_ (正确答案:对象)解析:将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。48.关系数据库的关系演算语言是以 1 为基础的 DML语言。(分数:-1.00)填空项 1:_ (正确答案:谓词演
15、算)解析:关系数据库中的关系演算包括元组关系演算和域关系演算。二者都是由原子公式组成的公式。而这些关系演算都是以数理逻辑中的谓词演算为基础的。49.用树型结构表示实体类型及实体间联系的数据模型称为 1(分数:-1.00)填空项 1:_ (正确答案:层次模型)解析:用树型结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体间联系的数据模型称为网状 模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。50.算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 1。(分数:-1.00)填空项 1:_ (正确答案:时间复杂度和空间复杂度)解析:算法的复杂性是指对一个在有限步骤内终止算法和所需存储空间大小 的估计。算法的计算量是算法的时间复杂性,算法所需存储空间大小是算法的空间复 杂性。