计算机等级 百分网手机站

计算机二级C++考试测试卷及答案(4)

时间:2017-06-08 19:14:39 计算机等级 我要投稿

计算机二级C++考试测试卷及答案

  16.D。【解析】C++的标准数据流对象有三个:cout标注输出流,ein标准输入流,cerr标准错误流。

  17.C。【解析】cpp是C++源文件的扩展名,exe是可执行文件的扩展名,lik是链接文件的的扩展名。

  18.A。【解析】整数相除为整数,所以结果为0。

  19.C:【解析】循环3次,分别每次计算出fl,f2和f的值,该题较简单,只需细心即可。

  20.B。【解析】x的值为100,而r代表x的地址。&r=x等同于r=*X。

  21.B。【解析】voidf(int*X,int&。y);第一个参数需要取值,第二个参数需要取地址,所以为v1为取值,&Lv2为取址。

  22.C。【解析】应为“staticconstintval一5;”,只有静态常量才可以初始化。

  23.D。【解析】简单类之间继承关系的调用,按照通常做法便可以得到答案。center.get()函数调用后,3和4的和被返回接着再调用Circle类的radius成员交量5相加后得到12。

  24.A。【解析】C++不仅可以对运算符进行重载,还可以重载类型转换符,函数声明的形式勾operator类型符()const。

  25.C。【解析】函数返回类型是double型,则T1为double型,T2为int型才符合函数模板的定义。

  26.D。【解析]setw(6)将输出宽度设为6,如果位数不够则在最左边补齐,因此该项输出一定不会与其他三项一致。

  27.A。【解析】析构函数不能被重载,因为它的函数中不带有任何参数,也没有任何返回值,函数只有一个版本,即~类名(){}。

  28.B。【解析】构造函数没有返回值,虽然叫函数但是它没有任何返回值,包括void型都不是,官方叫法为“构造器”。

  29.A。【解析]PAT(*ad){3);该表达式表示一个指向类PAT的数组的指针,只是声明了该指针,而并没有进行实例化对象,因此该语句运行时并不会调用构造函数。

  30.C。【解析]Derived2继承Base的方式为protected,则Base的public成员只能在Base内访问。

  31.D。【解析】多继承构造函数执行的顺序为继承时的顺序。所以答案为D。Derived(inta,intb,intC,intd):Basel(b),Base2(a),bl(d),b2(c)的含义是:构造函数Basel的参数值为b,构造函数Base2的参数值为a。成员变量b1,b2的值分别为d、C。

  32.B。【解析】本题中需要注意的是虚函数的定义:指向基类的指针在操作它的多态类对象时,会根据不同的类对象,调用其相应的函数,这个函数就是虚函数。所以P->functionl();会指向实现类Derived,而P->function2()则会指向Base。

  33.C。【解析】该题考查了C++模板类和+运算符重载的知识,3+b1时,程序不能将b1转化为整型,所以编译会出错。

  34.C。【解析】输入流要打开的文件不存在,则会自动建立该文件,而输出流要打开的文件不存在,则会报错,而不会新建一个文件。

  35.B。【解析】eonst函数只能被eonst对象调用,a.get()函数调用的返回值是3,而b.get()调用的返回值是8。

  36.A。【解析】该题考查了函数参数传递的两种方式:引用传递和值传递。引用传递时X和Y会交换,而传值时二者不交换,因此选10。

  37.C。【解析】每调用一次get函数时,对新的类A对象进行一次实例化,调用一次构造函数,类A的静态成员变量b便加1。

  38.D。【解析】简单类之间继承关系的调用,按照通常做法便可以得到答案。center.get()函数调用后,3和4的和被返回,接着再调用Circle类的radius成员变量5相加后得到12。

  39.A。【解析】C++不仅可以对运算符进行重载,还可以重载类型转换符,函数声明的形式为:operator类型符()const。

  40.C。【解析】函数返回类型是double型,则T1为double型,T2为int型才符合函数模板的定义。