中南大学C++题库之选择题

更新时间:2024-01-02 03:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 下列常量中不能作为C++常量的是:0328

2. 下列哪个是C++语言的合法字符常量:’\\x89’ 3. 表达式(1,2,3,4)的结果是:4

4. 关于C++和C语言的描述中,错误的是:C语音和C++都是面向对象的 5. 结构化程序由三种基本结构组成,不包括:控制结构

6. 在位运算中,操作数每右移一位,其结果相当于:操作数除以2 7. 用C++于洋便血的代码程序:是一个源程序

8. 在函数中如果不说明变量的存储类型,则默认的存储类型是:auto 9. 不属于C++源程序的翻译过程的是:解释分析

10. 二进制文件与字符文件不同的是:二进制文件中每字节数据都没有用ASCII码表示 11. 变量生成期是指:变量在内存中分配存储但愿到被释放期间

12. C++源程序中,以下说法不正确的是:变量定义语句一定会给变量赋初值 13. 不属于C++源程序的独立部分是:存储区分配部分

14. 函数的返回值的类型由:定义函数时所指定的返回值类型 15. 有关变量的正确说法是:存储单元及内容

16. 设有int a[10],*p=a;则下面哪种表示与a[5]不等价:p+5 17. 若有:int a,*p=&a;则下面哪个表达式为假:*p==&a

18. 下面哪一C++语言表达式不能正确表示数学关系a

20. 编译程序的功能是:将高级语言程序转换为目标程序

21. 设a和b为整型变量,执行语句b=(a=2+3,a*4),a+5;后a和b的值为:5,10 22. 有关符号常量不正确的说法:增加了程序执行速度 23. 以下属于C++语言的基本数据类型是:整数型 24. VC++中常用数020表示十进制数:16 25. 不是VC++6.0的开发过程:使用exe程序 26. VC++中常熟0x11表示十进制书:17

27. 有关变量的正确说法是:存储但愿及内容

28. 源程序中包含文件编译命令的作用是:把某个头文件中已写好的源代码加入源程序 29. struct sd{int a;double b;}s;语句定义了变量s,s存储单元的长度至少为:12 30. 将圆的周长计算式定义为一个宏L,正确的写法为:#define L(R) (2*PI*(R))

31. 已知char a[][20]={“Beijing”,”shanghai”,”changsha”};语句cout<

到的输出是:输出结果不确定

32. 如有定义:int a[20];则下面可以正确引用数组元素的表达式是:a[10-10] 33. 已知类MyClass声明如下:

class MyClass{ int n; public;

MyClass(int k):n(k){}

Int getValue()const {return n;} };

在下列数组定义中正确的是:MyClass *x5[2]

34. 已知有数组定义char a[3][4];下列表达式中错误的是:a[2][3]=’W’

35. 设有数组定义:char array[]=”China”,则数组array所占的空间为:6个字节 36. 下面关于一维数组的说法错误的是:一维数组的定义中,表示数组长度的可以是直接常

量、符号常量和变量

37. 有如下类定义:ciass A {char *a;public;A():a(0){}A(char *aa){//把aa所指字符

串拷贝到a所指向的存储空间a= ;strcpy(a,aa);}~A()(delete []a; }};横线处应填写的表达式是:new char[strlen(aa)+1]

38. C++语言的跳转语句中,对于break和continue说法正确的是:continue语句只应用

于循环体中

39. C++源程序分为 区:2个

40. 与switch同时出现的关键字是:case 41. 关键字break不会直接影响的是:if 42. 下列关于循环的描述,错误的是:do-while、while和for循环均是先执行循环体语句,

后判断表达式

43. 若有定义int i=1;则执行完循环while(i++<5);以后i的值为:6 44. 若已有int e;则while(e){?},中的循环控制条件等价于:e!=0 45. 下列关于for训话的描述中,正确的是:for循环的循环体语句中,可以包含多条语句,

但必须用花括号{}括起来

46. 下列关于break语句的描述中,不正确的是:break语句可用在if语句中,它将使执

行流程跳出当前的if语句

47. 下列关于do-while语句的描述中,正确的是:do-while语句所构成的循环只有在while

后面的表达式为零时才结束

48. 下列关于switch语句的描述中,正确的是:switch语句中default子句可以没有,也

可以有一个

49. 下列说法不正确的是:for和do-while循环都是先执行循环体语句,后判断循环条件

表达式

50. 下列叙述中正确的是:栈是“先进先出”的线性表

51. 已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则:若FB定义在FA之

后,则FB的原型必须出现在FA的定义之前

52. 其中关系T由关系R和S通过某种操作得到,该操作为:并 53. 数据库管理系统是:在操作系统支持下的系统软件 54. 在E-R图中,用来表示实体联系的图形是:菱形 55. 下列选项中不属于结构化程序设计原则的是:可封装 56. 软件设计中划分模块的一个准则是:低内聚低耦合

57. 算法的空间复杂度是指:算法在执行过程中所需要的计算机存储空间 58. 对于基类型相同的指针变量,进行下面哪种运算是没有意义的:+

59. int *p1,*p2;p1=b;由此可推知,变量a和b的类型分别是:int和int* 60. 若有:int a,*p=&a;则下面哪个表达式为假:*p==&a 61. 设有int a[20],*p=x;则下面中哪个与x[1]不等价:p[1] 62. sizeof关键字的作用是:求类型变量的字节数

63. 下面哪个定义或语句序列能使p指向a:int a,*p=&a; 64. 与delete关系最密的关键字是:new

65. char *s=”Hello world!”;:char *p=s;

66. 要使指针变量p指向一维数组a的第1个元素,正确的赋值表达式是:p=a或p=&a[0] 67. 有关指针变量说法不正确的是:指针变量是一个不变的地址数 68. 若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;则对a数组元素不正确的引用是:

a[10]

69. 已知char c;char *const pc=”asdf”.*pc=’b’是正确的

70. 有二维字符数组char s[4][6]={“zhang”,”gao”,”tang”,”wang”},执行程序

cout<<*s[2]屏幕上显示:tang

71. 定义语句int(*p)();的含义是:p是一个指向函数的指针,该函数返回值是整数 72. 下列关于指针的运算中,两个指针在一定条件下可以相加是非法的 73. 1、2、3、4变成1、2、2、1。1:a[i-a];2:a[3-i]

74. 假设用一个长度为50的数组作为栈的存储空间,栈底指针bottom指向栈底元素,:19 75. union关键字的含义是:共用体类型定义

76. 关键字typedef的作用是:给已有的类型名取别名 77. 一个类的友元函数能够访问该类的:所有成员

78. 在面向对象程序设计中,实现信息隐蔽是靠:对象的封装 79. 有关类的多态性不正确的说法是:同类对象的定义

80. 以下不是构造函数特征的是:狗仔函数必须指定类型说明

81. 下面对静态数据成员的描述中,正确的是:静态数据成员是类的所有对象共享的数据 82. 如果没有显示定义构造函数(包括复制构造函数),C++编译器就:隐式定义默认的构造

函数

83. 关于成员函数特征的下列描述中,错误的是:成员函数一定是内联函数

84. 对类的构造函数和析构函数描述正确的是:构造函数可以重载,析构函数不能重载 85. 下列各类函数中,不是类的成员函数的是:友元函数 86. 类的概念:对象的抽象

87. 下面有关类与对象的说法中,错误的是:一个类只能有一个对象

88. 一直枚举类型定义语句为:enum Token{NAME,NUMBER,PLUS=5,MINUS,PRINT=10}则下列

叙述中错误的是:枚举常量NAME的值为1

89. 以下有关析构函数的叙述,不正确的是:在一个类只能定义一个析构函数 90. 下列关于构造函数的说法不正确的是:构造函数必须有返回值

91. 下列关于C++语言类的描述中错误的是:类与类之间必须是平等的关系,而不能组成层 92. 通过派生类的对象可直接访问其:公有继承基类的公有成员 93. 以下对派生类叙述不正确的是:具有继承关系时,积累成员在派生类中的访问权限不变 94. 下列关于C++函数的叙述中,正确的是:函数在被自己调用之前必须先声明 95. 派生类的成员函数不能访问基类的私有成员 96. 下列描述中哪个是正确的:类A的私有派生子类的派生类C无法初始化其祖先类A对象

的属性,因为类A的成员对类C是不可访问的

97. 以下关于私有和保护成员的叙述中,不正确的是:私有成员不能被外界引用,保护成员

可以

98. 以下关于派生机制的描述中,不正确的是:采用私有继承,派生类只能得到基类的公有

成员

99. 若要用派生类的对象访问基类的保护成员,以下的观点正确的是:不可能实现 100. 下面有关派生类的说法中,错误的是:具有继承关系时,? 101. 下面有关基类和派生类的说法中,错误的是:派生类可以有选择性地继承? 102. 当派生类从基类公有继承时,以下哪种说法是错误的:可以用基类对象为派生类对

象赋值 103. 下列叙述中,错误的是:派生类可以使用private派生 104. 派生类的构造函数的成员初始化列表中,不能包含:派生类中一般数据成员的初始

105. 下面关于多重继承的叙述,正确的是:多重继承中可以通过虚基类防止二义性问题 106. 下列描述中错误的是:在外面看不到对象的内部特征是基于对象的“模块独立性好”

这个特征 107. 派生类由public方式继承基类成员,则:积累中的公有成员可以被派生类的成员

函数访问 108. 派生类由protected方式继承基类成员,则:基类中的公有成员为派生类中的保护

成员 109. 下列说法错误的是:私有继承时基类中的protected成员在派生类中仍是

protected成员 110. 下面那些对象属于继承与派生的关系::交通工具与汽车、动物与老虎 111. class A:public B,正确的是:A类中的成员函数可以访问B类中的public数据

成员 112. 继承与派生可以给软件开发带来很多好处,下述中不正确的是:软件的执行效率大

大提高 113. 如果类之间具有继承和派生关系,那么他们之间应具有以下几个特征:类之间应具

有共享的特征;类之间应具有差别或新增特征;类之间是一种层次结构 114. 派生类采用何种继承方式可以使成员变量b成为自己的私有成员:私有继承 115. 下面叙述不正确的是:赋值兼容规则不是用于多重继承的组合 116. 下面叙述不正确的是:基类的保护成员在派生类中仍然是保护的 117. 派生类的构造函数的初始化列表中,不能含:基类的子对象初始化 118. 在多重继承中,公有派生和私有派生对于基类成员在派生中的访问性与单一继承的

规则:相同 119. 能被派生类继承的函数是:静态成员函数 120. 不论派生类以何种方式继承,都不能使用基类的私有成员 121. 下面关于继承的描述中,错误的是:静态成员不可以被继承 122. 在C++中,类与类之间的继承关系有:传递性 123. 以下叙述错误的是:基类的保护成员在派生类中仍然是保护成员 124. 下面叙述不正确的是:基类的公有成员在派生类中仍然是公有的 125. 下列关于运算符重载的描述中,错误的是:将运算符作为非成员韩式重载时必须定

义为友元 126. 将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是:一元运算符 127. 已知表达式++a中的“++”是作为成员函数重载的运算符,则与++a等效的运算符

函数调用形式为:a.operator++() 128. 运算符重载时不需要保持的性质是:操作数类型 129. 一个函数为void f(int,char ch=’a’),另一个函数void f(int),则他们:可

以在同一程序中定义并可重载 130. 下面有关重载的说法中,错误的是:所有的运算符都可以重载 131. void BC(int a;int b)的重载函数:cloar BC(int a,int b,int c=0) ; 132. 关于运算符重载,下列表述中正确的是:在类型转换符函数的定义中不需要声明返

回类型 133. 下面有关重载函数的描述中,正确的是:重载函数必须具有不同的形参列表 134. 下列对重载函数的描述中,错误的是:重载函数中不允许使用默认参数 135. 有如下的运算符重载函数定义:double operator +(int i,int k)但定义有错误,

对这个错误最准确的描述是:C++已经提供了求两个int型数据之和的运算符+,不能再

定义同样的运算符 136. 下列函数中,能重载运算符的函数是:友元函数 137. 下列关于运算符重载的描述中,正确的是:运算符重载不可以改变算法结构 138. 在下列运算符中,不能重载的是::: 139. 下列运算符中全部可以被友元函数重载的是:<<,>>,+,* 140. 假定要对类AB定义加号操作运算符重载成员函数,实现两个AB类对象的加法,并

返回相加结果,则该成员函数的声明语句为:AB operator+(AB &) 141. 下列是重载惩罚运算符的函数原型声明,其中错误的是:MyClass

operator*(double,double) ; 142. *即可重载为一元运算符,又可重载为二元运算符 143. 下列关于函数模版的描述中,错误的是:从模板实参表和从模板函数实参表获得的

信息矛盾时,以模板实参的信息为准 144. 有如下的函数模板声明,下列对函数模板Max()的调用中错误的是:Max(3.5,4) 145. 模板是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对

象的类型 146. 关于在调用模板函数时模板实参的使用,下列表述中正确的是:对于常规参数所对

应的模板实参,任何情况下都不能省略 147. 类模板的使用实际上是将类模板实例化成一个具体的:类 148. 类模板的模板参数可用作:以上均可 149. 下面关于类模板的派生与继承,描述错误的是:模板类的基类和派生类不可以是非

模板类 150. 下列说法中,不正确的是:可以从构造函数参数列表推断出模板实例化参数类型 151. 下面关于模板叙述不正确的是:可以有多个析构函数 152. 需要一种逻辑功能一样的函数,而编制这些函数的程序文本完全一样,区别只是数

据类型不同。对于这种函数,下面不能用来实现这一功能的选项的是:友元函数 153. 下面关于模板叙述不正确的选项是:不可以通过一个类来派生类模板 154. 关于关键字class和typename,下列描述中正确的是:程序中所有的typename都

可以替换为class 155. 下列关于C++流的描述中错误的是:cout>>’A’表达式可输出字符A 156. cin是I/O流库预定义的:对象 157. 当要用I/O流操作文件时,需要包含:fstream.h 158.

本文来源:https://www.bwwdw.com/article/y9fx.html

Top