2017年计算机二级考试C++模拟试题3
-
若有以下程序:
#include <iostream>
using namespace std;
class Base
{
public:
void who(){cout<<" Base"<<end1:}
};
class Derived1: public Base
{
public:
void who(){ cout<<"Derived"<<end1;}
};
int main()
{
Base *p;
Derived1 obj1;
p=&obj1;
p->who();
return 0;
}
则该程序运行后的输出结果是【 】。
-
下列程序的输出结果是______。
#include<iostream>
using namespace std;
void fun(int &rf)
{
rf*=2;
}
int main()
{
int num=500;
fun(num);
cout<<num<<endl;
return 0;
}
-
有以下程序:
#include <iostream>
using namespace std;
class CFactorial
{
private:
int value;
int fact;
public:
CFactorial ( int val );
void CalculateFactorial();
void Display();
};
CFactorial :: CFactorial( int val )
{
value = val;
fact = 1;
}
void CFactorial :: CalculateFactorial()
{
int i = value;
while ( i > 1 )
fact *= i--;
}
void CFactorial :: Display()
{
cout<<value<<"!="<<fact<<end1;
}
int main()
{
CFactorial A( 5 );
A.CalculateFactorial();
A.Display();
return 0;
}
程序中,类CPactorial的功能是【 】,该程序运行的结果是【 】。
-
以下程序输出的结果是【 】。
#include<iostream.h>
void main( )
{
int a=5,b=4,c=3,d;
d=(a>b>C) ;
cout<<d;
}
-
若已定义: int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是
- A.a[p-a]
- B.*(&a[i])
- C.p[i]
- D.a[10]
-
有以下程序段: int k=0; while(k=1)k++; while循环执行的次数是( )。
- A.无限次
- B.有语法错,不能执行
- C.一次也不执行
- D.执行1次
-
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
- A.流
- B.类
- C.结构
- D.对象
-
关于类和对象描述错误的是
- A.对象(Object)是现实世界中的客观事物,对象具有确定的属性
- B.类是具有相同属性和行为的一组对象的集合
- C.对象是类的抽象,类是对象的实例
- D.类是对象的抽象,对象是类的实例
-
下列字符串中可以用作C++标识符的是( )。
- A.2009var
- B.goto
- C.test-2009
- D.123
-
有如下类声明:
class Base{
protected:
int amount;
public:
Base(int n=0):amount(n){}
int getAmountconst{retum amount;}
};
class Derived:public Base{
protected:
int value;
public:
Derived(int m,int n):value(m),Base(n){}
int getDataconst{return value+amount;}
}:
已知x是一个Derived对象,则下列表达式中正确的是( )。
- A.x.value+X.getAmount
- B.x.getData一x.getAmount
- C.x.getData一x.amount
- D.x.value+X.amount
-
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
- A.快速排序
- B.冒泡排序
- C.直接插入排序
- D.堆排序
-
在深度为5的满二叉树中,叶子节点的个数为
- A.32
- B.31
- C.16
- D.15
-
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
- A.函数调用可以作为独立的语句存在
- B.函数调用可以无返回值
- C.函数调用可以出现在表达式中
- D.函数调用可以作为一个函数的形参
-
能正确表示逻辑关系:“a≥10或a≤0”的C++语言表达式是
- A.a>=10 or a<=0
- B.a>=0|a<=10
- C.a>+10&&a<=0
- D.a>=10||a<=0
-
假定MyCIass为一个类,那么下列的函数说明中,( )为该类的析构函数。
- A.void~MyClass();
- B.~MyClass(int n);
- C.MyClass();
- D.~MyClass();
-
关于内联函数的说法,不正确的是( )。
- A.在说明类的同时定义成员函数,则函数隐含为内联函数
- B.也可在类外用inline关键字对成员函数进行说明,则该函数也为内联函数
- C.当内联函数被调用时,内联函数的代码在调用处被展开
- D.当内联函数被调用时,内联函数将返回结果
-
下面有关重载函数的说法中正确的是
- A.重载函数必须具有不同的返回值类型
- B.重载函数形参个数必须不同
- C.重载函数必须有不同的形参列表
- D.重载函数名可以不同
-
下列叙述中错误的是( )。
- A.软件测试的目的是发现错误并改正错误
- B.对被调试的程序进行“错误定位”是程序调试的必要步骤
- C.程序调试通常也称为Debug
- D.软件测试应严格执行测试计划。排除测试的随意性
-
下列运算符中全都可以被友元函数重载的是( )
- A.=,+,-,\
- B.[],+,(),new
- C.->,+,*,>>
- D.<<,>>,+,*
-
面关于类的静态成员,说法正确的是 ______。
- A.类的静态成员函数只能访问类的静态数据成员
- B.类的静态成员函数可直接访问类的所以数据成员
- C.类的每个对象都有一份自己的静态数据成员
- D.静态数据成员只能通过“类名::”进行访问
-
算法的空间复杂度是指( )。
- A.算法程序的长度
- B.算法程序中的指令条数
- C.算法程序所占的存储空间
- D.执行过程中所需要的存储空间
-
在C++中用来实现运行时多态性的是( )。
- A.重载函数
- B.析构函数
- C.构造函数
- D.虚函数
-
设栈S的初始状态为空。元素a,b,c,d,e,f依次通过栈S,若出栈的顺序为b, d,c,f,e,a,则栈S的容量至少应该为
- A.3
- B.4
- C.5
- D.6
-
以下不使用线性结构表示实体之间联系的模型的是( )。
- A.线性表
- B.栈和队列
- C.二叉树
- D.以上三个都不是
-
以下叙述中正确的是
- A.在类中,不作特别说明的数据成员均为私有类型
- B.在类中,不作特别说明的成员函数均为公有类型
- C.类成员的定义必须是成员变量在前、成员函数在后
- D.类成员的定义必须放在类定义体内部
-
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是( )。
- A.ABCED
- B.DCBEA
- C.DBCEA
- D.CDABE
-
下列4项中,必须进行查询优化的是( )。
- A.关系数据库
- B.网状数据库
- C.层次数据库
- D.非关系模型
-
定义无符号整数为Uint,下面可以作为类Uint实例化值的是( )。
- A.-369
- B.369
- C.0.369
- D.整数集合{1,2,3,4,5}