重庆师范大学
  1. C++基本数据之间的运算符的含义不能通过重载改变。( )

  2. A:错 B:对
    答案:对
  3. 在C++语言中,一个函数若直接或间接地调用了自己,被称为递归。( )

  4. A:错 B:对
    答案:对
  5. protected和private区别在于:protected成员可以被派生类访问,而private成员则不能被派生类访问。 ( )

  6. A:对 B:错
    答案:对
  7. 派生类的构造函数初始化派生类对象,而要初始化基类成员则要再调用基类构造函数。( )

  8. A:错 B:对
    答案:B:对
  9. 重载之后的运算符不能改变其优先级和结合性,但可以改变其操作数的个数及语法结构。( )

  10. A:错 B:对
    答案:错
  11. 派生类是从基类派生出来,它不能再生成新的派生类。( )

  12. A:错 B:对
    答案:错
  13. 若一个运算符的操作需要修改对象的状态,选择重载为友元函数较好。( )

  14. A:对 B:错
    答案:错
  15. 当调用函数时,实参是一个数组名,则向函数传递的是数组中第一个元素值。( )

  16. A:错 B:对
    答案:错
  17. 公有静态成员都可以使用类名加作用域运算符的方法来引用。( )

  18. A:对 B:错
    答案:对
  19. 多继承派生类的构造函数,需要调用所有的基类构造函数来完成各基类数据成员的初始化。( )

  20. A:对 B:错
  21. 若有以下定义,则下面说法错误的是( )。int a=10,*p=&a;

  22. A:声明变量p只可以指向一个整型变量 B:变量p经初始化,获取变量a的地址 C:变量p的值为10 D:声明变量p,其中“*”表示p是一个指针变量
  23. 以下叙述不正确的是( )。

  24. A:函数是构成C++程序的基本元素 B:在函数调用之前,必须要进行函数的定义或声明 C:主函数是C++程序中不可缺少的函数 D:程序总是从第一个定义的函数开始执行
  25. 下列程序的运行结果是( )。#include #include using namespace std;int main( ){char s1[10]= "abcde" ,s2[10]= "123",s3[ ]= "ABC";cout<
    A:123ABC B:123abc C:123ABCde D:ABC
  26. 下列关于默认参数值函数说法错误的是( )。

  27. A:函数调用时,带默认值的参数无实参输入时,使用默认值 B:必须从参数表最右边的参数开始设置参数的默认值 C:在函数声明和函数定义中,默认参数的值必须相同 D:在C++中,允许设置参数的默认值
  28. 派生类的构造函数的成员初始化列表中,不能包含( )。

  29. A:基类的构造函数 B:派生类中子对象的初始化 C:派生类中一般数据成员的初始化 D:基类对象的初始化
  30. 下列关于友元函数的描述,错误的是( )。

  31. A:友元类中的所有成员函数都是友元函数 B:友元函数是成员函数,它被说明在类体内 C:友元函数可直接访问类中的私有成员 D:友元函数破坏封装性,使用时尽量少用
  32. 以下关于共用体的叙述错误的是( )。

  33. A:在定义共用体变量时可以进行初始化 B:共用体和结构体变量的初始化方法相同 C:共用体变量的地址和它各成员的地址都是同一地址 D:共用体可以作为结构体的成员
  34. 在C++语言中,以下说法正确的是( )。

  35. A:在switch语句中,遇到continue语句,则结束本分支,接着执行下一个case分支。 B:在switch语句中,必须有一个default分支。 C:在switch语句中,遇到break语句就会结束该switch语句。 D:在switch语句中,关键字case之后可以是常量也可以是关系表达式。
  36. 类模板的模板参数( )。

  37. A:只可作为数据成员的类型 B:三个选项都可以 C:可作为成员函数的参数类型 D:可作为成员函数的返回类型
  38. 若有以下定义,则对a数组元素正确的引用是( )。float a[2][3]={1,2,3,4,5,6};

  39. A:a[0][3] B:a[2][2] C:a[1][1] D:a[1]
  40. 有函数声明void fun2(int);,下面选项中,不正确的调用是( )。

  41. A:int x=21; fun2(x); B:fun2(256); C:int b=100; fun2(&b); D:int a=15; fun2(a*3);
  42. 在C++中引用数组元素时,其数组下标的数据类型允许是( )。

  43. A:整型表达式 B:整型常量 C:任何类型的表达式 D:整型常量或整型表达式
  44. 下面程序的运行结果是( )。int main(){struct cmplx{ int x;int y;}num[2]={1,3,2,7};cout<
    A:1 B:0 C:3 D:6
  45. 下列关于多继承二义性的描述中,错误的是( )。

  46. A:一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性 B:基类和派生类中同时出现的同名函数,也存在二义性问题 C:一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性 D:解决二义性的最常见的方法是对成员名的限定
  47. 若有以下定义,则对数组元素的正确引用是( )。char a[], *p=a;

  48. A:*&a[5] B:*(p+5) C:a+2 D:*(a+2)
  49. 下列关于函数重载的说法正确的是( )。

  50. A:函数重载形参个数必须不同 B:函数重载名可以不同 C:函数重载必须具有不同的返回值类型 D:函数重载必须具有不同的形参列表
  51. 下列程序的输出结果为()。#includeusing namespace std;int fun(int a,int b,int c){a=5;b=a+2;c=a*b;return ( );}int main(){int a=10,b=20,c=30;c=fun(a,b,c);cout<
    A:35,7,5 B:10,20,30 C:35,20,10 D:10,20,35
  52. C++程序中,定义符号常量使用的关键字是( )。

  53. A:struct B:include C:define D:typedef
  54. 下列数组说明和初始化正确的是( )。

  55. A:int b[3]={1,2,3,4}; B:float d={5.3,6.0}; C:int a[5]=0; D:float c[ ]={1,2,3};
  56. C++源程序的扩展名是( )。

  57. A:.exe B:.cpp C:.pch D:.c
  58. 已知类A是类B的友元,类B是类C的友元,则( )。

  59. A:类A的成员函数可以访问类B的对象的任何成员 B:类C一定是类A的友元 C:类C的成员函数可以访问类B的对象的任何成员 D:类A一定是类C的友元
  60. 下列关于构造函数的描述中,错误的是( )。

  61. A:构造函数可以是内联函数 B:构造函数可以设置默认参数 C:构造函数在定义类对象时自动执行 D:构造函数不可重载
  62. 表达式sizeof('d'+1.0)的值类型为( )。

  63. A:double B:char C:float D:int
  64. 一个函数为void f(int,float='a'),另一个函数为void f(int),则它们( )。

  65. A:不能在同一个程序中定义 B:可以在同一个程序中定义,但不可重载 C:可以在同一个程序中定义并可重载 D:所有说法均不正确
  66. C++语言中提供的( )不是类的成员,但具有类成员的特权。

  67. A:重载函数 B:构造函数 C:虚函数 D:友元函数
  68. 下列关于拷贝构造函数的描述,错误的是( )。

  69. A:拷贝构造函数的名字与类名相同 B:类中只有一个拷贝构造函数 C:拷贝构造函数没有返回值 D:拷贝构造函数可以有多个参数
  70. 关于函数模版,描述错误的是( )。

  71. A:类模版的成员函数都是函数模版,类模版实例化后,成员函数也随之实例化 B:函数模版的实例化由编译器实现 C:函数模版必须由程序员实例化为可执行的函数模版 D:一个类定义中,只要有一个函数模版,则这个类是类模版
  72. 设有语句int a=3;则执行语句a* =a+a;后,变量a的值是( )。

  73. A:18 B:3 C:9 D:12
  74. 在表达式:x+y*z中, +是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。

  75. A:operator+有一个参数,operator*有一个参数 B:operator+有两个参数,operator*有一个参数 C:operator+有两个参数,operator*有两个参数 D:operator+有一个参数,operator*有两个参数
  76. 使用重载函数编程序的目的是( )。

  77. A:共享程序代码 B:提高程序的运行速度 C:使用相同的函数名调用功能相似的函数 D:节省存储空间
  78. C++语言结构体类型变量在程序执行期间( )。

  79. A:只有一个成员驻留在内存中 B:所有成员一直驻留在内存中 C:部分成员驻留在内存中 D:没有成员驻留在内存中
  80. 以下类中的成员函数,表示纯虚函数的是( )。

  81. A:void vf(int)=0; B:virtual void vf(int) {} C:virtual void vf(int)=0; D:virtual void vf(int);
  82. 下列关于类的成员的描述中,正确的是( )。

  83. A:类中的函数成员可以在类体中定义,也可以在类体之外定义 B:在类体之外定义的函数成员不能操作该类的私有数据成员 C:类中的函数成员在类体外定义时也必须与类声明在同一文件中 D:类定义中只能说明函数成员的函数头,不能定义函数体
  84. 下列关于虚基类的说法中,错误的是( )。

  85. A:建立派生类对象时,首先调用虚基类的构造函数 B:声明class B: virtual public A说明类B为虚基类 C:构造派生类对象时,虚基类的构造函数只被调用一次 D:使用虚基类可以消除由多继承产生的二义性
  86. 下列选项中,哪一项是析构函数的特征( )。

  87. A:析构函数可以有一个或多个参数 B:析构函数的定义只能在类体内 C:一个类只能定义一个析构函数 D:析构函数在对象创建时调用
  88. 若有以下定义char s[10]= "program",t[ ]= "test ";,则对字符串的操作错误的是( )。

  89. A:cin>>t; B:strcat(s,t) C:cout<<strlen(s); D:strcpy(s,t)
  90. 用来说明类的友元的是( )。

  91. A:private B:friend C:public D:protected
  92. 下列哪些情况适合使用内联函数( )。

  93. A:函数代码少、频繁调用 B:函数代码多、不常调用 C:函数体含有循环语句 D:函数体含有递归语句
  94. 下列关于虚析构函数 描述中错误的是( )。

  95. A:虚析构函数的声明形式是在析构函数名前使用virtual关键字 B:如果基类析构函数为虚析构函数,则释放基类指针指向的对象时会调用基类及派生类析构函数,派生类对象中的所有资源被回收 C:如果基类析构函数不是虚析构函数,则只会调用基类的析构函数,派生类的析构函数不被调用,此时派生类中申请的资源不被回收 D:虚析构函数的声明方式为~virtual 类名( );
  96. 类模板的实例化( )。

  97. A:属于动态联编 B:在运行时进行 C:在链接时进行 D:在编译时进行

温馨提示支付 ¥5.00 元后可查看付费内容,请先翻页预览!
点赞(3) dxwkbang
返回
顶部