[cpp] view plain copy
1. int main(void) 2. {
3. int x = 3 , y = 4 , z = 5; 4. !(x + y) + z-1 && y + z/2; 5. return 0; 6. }
A、6 B、2 C、0 D、1
19、下列运算符函数中,肯定不属于类Value的成员函数是() A、Value operator/(Value);
B、Value operator-(Value,Value); C、Value operator+(Value); D、Value operator*(int);
20、以下关于函数模板和模板函数的描述中,错误的是() A、函数模板是定义重载函数的一种工具 B、模板函数在编译时不生成可执行代码 C、函数模板是一组函数的样板 D、模板函数是函数模板的一个实例
21、以下关于文件操作的描述中,不正确的是() A、关闭文件的目的之一是释放内存中的文件对象
B、关闭文件的目的之一是保证将输出的数据写入硬盘文件 C、文件读写过程中,程序将直接与磁盘文件进行数据交换 D、打开文件的目的是使文件对象与磁盘文件建立联系
22、在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是() A、该运算符函数是类的友元函数
B、该运算符函数有一个隐含的参数this C、该运算符函数是类的成员函数 D、该运算符是一个单目运算符
23、下列哪一个是析构函数的特征() A、析构函数定义只能在类体内
B、一个类中只能定义一个析构函数 C、析构函数名与类名不同
D、析构函数可以有一个或多个参数 24、数据流程图(DFD图)是() A、软件概要设计的工具 B、软件详细设计的工具
C、结构化方法的需求分析工具 D、面向对象方法的需求分析工具
25、执行 int a = ( 1 , 3 , 11); int b = a; 后,b的值是多少? A、11 B、1 C、3 D、15
E、{ 1 , 3 , 11}
26、设a=1,b=2,则(a++)+b 和 a+++b 这两个表达式的值分别是() A、4 , 4 B、3 , 4 C、4 , 3 D、3 , 3
27、如果A类型是B类型的子类型,则A类型必然适应于B类型 A、错 B、对
28、条件语句不能作为多路分支语句。 A、对 B、错
29、下列while循环的次数是()
[cpp] view plain copy
1. void main() 2. {
3. while(int i = 0) 4. i--; 5. }
A、无限 B、0 C、1 D、5
30、关于纯虚函数,下列表述正确的是() A、派生类必须实现基类的纯虚函数 B、纯虚函数的声明总是以”=0“结束
C、纯虚函数是给出实现版本(即无函数体定义)的虚函数 D、含有纯虚函数的类一定是派生类
31、下列静态数据成员的特性中,()是错误的
A、引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符 B、说明静态数据成员时前边要加关键字static来修饰 C、静态数据成员在类体外进行初始化 D、静态数据成员不是所有对象所共有的 32、关键词explicit的作用是什么?
A、它使一个默认构造函数的声明变为强制性的
B、它可以使一个变量存在主内存中而不是处理器的缓存中 C、它可以防止单参数的构造函数被用于隐式转换 33、下列输出字符?A?的方法中,()是错误的 A、char A = 'A'; cout<
C、cout< 34、对于int *pa[5]; 的描述,()是正确的。 A、pa是一个具有5个元素的指针数组,每个元素是一个int类型的指针; B、pa[5]表示某个数组的第5个元素的值; C、pa是一个指向数组的指针,所指向的数组是5个int类型的元素; D、pa是一个指向某个数组中第5个元素的指针,该元素是int类型的变量; 35、C++中关于函数不正确的是() A、函数调用语句必须写在函数定义的前面 B、函数可以没有返回值 C、函数声明就是原型声明 D、不允许嵌套定义 A应该修改为:函数调用语句必须写在函数声明的前面 36、若二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为() A、n-1 B、n+1 C、2n D、n/2 37、在多文件结构的程序中,通常把含有main()函数的文件称为() A、主文件 B、头文件 C、实现文件 D、程序文件 38、在以下一组运算符中,优先级最高的运算符是() A、&& B、 = C、<= D、 % 39、关于read()函数的下列描述中,()是对的。 A、该函数只能从键盘输入中获取字符串 B、该函数只能按规定读取所指定的字符数 C、该函数只能用于文本文件的操作中 D、该函数所获取的字符多少是不受限制的 40、有如下程序: [cpp] view plain copy 1. #include 4. class MyClass 5. { 6. public: 7. MyClass(int i = 0) 8. { 9. cout< 11. MyClass(const MyClass &x) 12. { 13. cout<<2; 14. } 15. MyClass& operator=(const MyClass &x) 16. { 17. cout<<3; 18. return *this; 19. } 20. ~MyClass() 21. { 22. cout<<4; 23. } 24. }; 25. 26. int main() 27. { 28. MyClass obj1(1) , obj2(2) , obj3(obj1); 29. return 0; 30. } 运行时的输出结果是() A、11214444 B、11114444 C、122444 D、11214445 E、121444 41、以下程序段的输出结果是() [cpp] view plain copy 1. #include 9. cout<<\; 10. } 11. ~A() { } 12. }; 13. class B 14. { 15. public: 16. B(int j ) 17. { 18. cout<<\; 19. } 20. ~B() { } 21. }; 22. class C 23. { 24. public: 25. C(int k ) 26. { 27. cout<<\; 28. } 29. ~C() { cout<<\; } 30. }; 31. 32. class D : public C 33. { 34. public: 35. D(int i , int j , int k ) : a(i) , b(j) , C(k) 36. { 37. cout<<\; 38. } 39. ~D() { cout<<\; } 40. private: 41. B b; 42. A a; 43. }; 44. 45. int main() 46. { 47. C *pc = new D(1 , 2 , 3); 48. delete pc; 49. return 0; 50. } A、A B C D ~D B、A B C D ~C C、C B A D ~D D、C B A D ~C 42、关于运算符重载,下列说法正确的是() A、重载时,运算符的结合性可以改变 B、重载时,运算符的优先级可以改变 C、重载时,运算符的功能可以改变 D、重载时,运算符的操作数个数可以改变