2015年计算机二级《C++》考前预测试题

2015-12-02 00:00:00碧玉 计算机学历

  参考解析:本题考查整型变量的类型和浮点变量的类型,42默认为int型数据,42后面加上L后,表示long型数据,4.2默认为double型数据。

  13下列叙述中正确的是(  )。

  A.栈是“先进先出”的线性表

  B.队列是“先进后出”的线性表

  C.循环队列是非线性结构

  D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

  参考答案:D

  参考解析:栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。

  14不能作为重载函数的调用的依据是(  )。

  A.参数个数B.参数类型C.函数类型D.函数名称

  参考答案:D

  参考解析:所谓重载函数是指同一个函数名可以对应多个函数的实现,编译器会根据参数个数、参数类型和函数返回值类型不同而自动调用相应的函数。

  15下列语句中,错误的是(  )。

  A.const int buffer=256;

  B.const double*point;

  C.int const buffer=256;

  D.double*eonst point:

  参考答案:D

  参考解析:const是一个C++关键字,用于限定不允许改变的变量。选项B是指向常量的指针,定义时可以不初始化;选项D是指针常量,定义时必须初始化。故答案为D。

  16下列运算符中,在c++语言中不能重载的是( )。

  A.*B.>=C.::D./

  参考答案:C

  参考解析:不能被重载的运算符还包括:“.”、“.*”、“->*”和“?:”。

  17有如下说明:

  int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。

  A.*P+9B.木(P+8)C.*P+=9D.P+8

  参考答案:B

  参考解析:本题考查指向数组的指针,本题中指针变量P指向数组a,那么*P的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址,即P+8指向的是数组元素值为9,所以数值为9的表达式是*(P+8)。

  18执行下列语句段后,输出字符“*”的个数是( )。

  for(int i=50;i>1;i-=2)Cout<<'*':

  A.24B.25C.26D.50

  参考答案:B

  参考解析:本题考查for循环语句,题目中每执行完循环体后,i都会减2.那么只有50到2之间的偶数才能输出“*”,所以总共输出25次。

  19算法的有穷性是指( )。

  A.算法程序的运行时间是有限的

  B.算法程序所处理的数据量是有限的

  C.算法程序的长度是有限的

  D.算法只能被有限的用户使用

  参考答案:A

  参考解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

  20下面关于break语句的描述中,不正确的是( )。

  A.break可以用于循环体内

  B.break语句可以在for循环语句中出现多次

  C.break语句可以在switch语句中出现多次

  D.break语句可用于if条件判断语句内

  参考答案:D

  参考解析:本题考查的是break语句的使用,break可以结束switch语句和for循环语句,但是不能使用在条件判断语句内。

  21有如下类定义:

  class Point

  {

  int xx.yy;

  public:

  Point():xx(0),yy(0){}

  Point(int x,int Y=0):xx(X),YY(Y){}

  };

  若执行语句

  Point a(2),b[3],幸c[4];

  则Point类的构造函数被调用的次数是(  )。

  A.2次B.3次C.4次D.5次

  参考答案:C

  参考解析:本题考查默认构造函数和带参数的构造函数,题目中定义一个对象a(2)以及对象数组b[3],共执行4次构造函数,对象指针不调用构造函数。所以本题答案为c。

  22有如下程序:

  #include

  using namespace std;

  class Basel

  {

  public:

  BaseI(int D.{cout<

  一Basel(){}

  };

  class Base2

  {

  public:

  Base2(int D.{tout<

  ~Base2(){}

  };

  class Derived:public Basel,Base2

  {

  public:

  Derived(int a,int b,int c,int D.:Basel(B.,Base2(A.,bl(D.,b2(C.{}

  private:

  int bl:

  int b2:

  };

  int main()

  {

  Derived d(1,2,3,4);

  return 0;

  }

  执行这个程序的输出结果是(  )。

  A.1234B.2134C.12D.21

  参考答案:D

  参考解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数,对象释放时,先执行派生类的析构函数,再执行基类的析构函数。本题中定义一个派生类对象时,分别调用基类的构造函数,所以分别输出21。

  23以下叙述正确的是( )。

  A.函数可以嵌套定义但不能嵌套调用

  B.函数既可以嵌套调用也可以嵌套定义

  C.函数既不可以嵌套定义也不可以嵌套调用

  D.函数可以嵌套调用但不可以嵌套定义

  参考答案:D

  参考解析:在c++语言中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义,但可以互相调用。但是不能调用main()函数。

[计算机学历]相关栏目推荐
查看更多
上一篇:江西省2016年3月全国计算机等级考试报名时间 下一篇:2016年计算机一级考试WPS试题及答案