长沙理工大学C++题库附答案 下载本文

72、实现运行时的多态性用 。

A、重载函数 B、构造函数 C、析构函数 D、虚函数 73.下列变量名中,( )是合法的。

A. CHINA B. byte-size C. double D. A+a

74. 在int b[][3]={{1},{3,2},{4,5,6},{0}};b[2][2]的值是( )。 A. 0 B. 2 C. 5 D. 6 75. 下列各运算符中,()优先级最高。

A. +(双目) B. *(单目) C. <= D. *= 76. 下列for循环的次数为( )。 for(int i(0),x=0;!x&&i<=5;i++)

A. 5 B. 6 C . 1 D. 无限 77. 下述关于break语句的描述中,( )是不正确的。 A. break语句可用于循环体内,它将退出该重循环。 B. break语句可用于开关语句中,它将退出开关语句。 C. break语句可用于if体内,它将退出if语句。 D. break语句在一个循环体内可以出现多次。

78. 在一个被调用函数中,关于return语句使用的描述,( )是错误的。 A. 被调用函数中可以不用 return语句。 B. 被调用函数中可以使用多个return语句。

C. 被调用函数中,如果有返回值,就一定要有return语句。 D. 被调用函数中,一个return语句可返回多个值给调用函数。 79. 在C++中,关于下列设置参数默认的描述中,( )是正确的。 A. 不允许设置参数的默认值。

B. 设置参数默认值只能在定义函数时设置。

C. 设置参数默认值时,应该是先设置右边的再设置左边的。 D. 设置参数默认值时,应该全部参数都设置。

80. 下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(合适。

A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 81. 下列的各类函数中,( )不是类的成员函数。

A. 构造函数 B. 析构函数 C . 友元函数 D. 拷贝初始化构造函数

33

)82. ( )不是构造函数的特征

A. 构造函数的函数名与类名相同 B. 构造函数可以重载

C. 构造函数可以设置缺省参数 D. 构造函数必须指定类型说明

83. f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用( )是正确的。 A. p=f1 B. p=A::f1 C. p=A::f1() D. p=f1() 84. 下列定义中,( )是定义指向数组的指针p。

A. int *p[5] B. int (*p)[5] C. (int *)p[5] D. int *p[ ] 85.循环while(int i=0) i--;执行次数是( )。 A. 0 B. 1 C . 5 D . 无限 86. 设int x;,则经过( )后,语句*px=0;可将x值置为0。 A. int * px; B . int const * px=&x; C. int * const px=&x; D. const int * px=&x;

87. 设void f1(int * m,long & n);int a;long b;则以下调用合法的是( )。 A. f1(a,b); B. f1(&a,b); C. f1(a,&b); D. f1(&a,&b) 88. 关于对象概念的描述中,( )是错误的。 A. 对象就是C语言中的结构变量;

B. 对象代表着正在创建的系统中的一个实体; C. 对象是一个状态和操作(或方法)的封装体; D. 对象之间的信息传递是通过消息进行的;

89. 在下列double型常量表示中,( )是错误的。 A. E15; B. .35; C. 3E5; D. 3E-5 90. 下列给字符数组进行初始化中,( )是正确的。

A. char s1[ ]=\ C. char s3[][3]={‘a’,’x’,’y’}; D. char s4[2[3]={\ 91. 对于int *pa[5];的描述,( )是正确的。

A. pa是一个指向数组的指针,所指向的数组是5个int型元素; B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量; C. pa[5]表示某个数组的第5个元素的值;

D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针;

34

92. 下列各运算符中,( )优先级最低。

A.?: B. | C. || D. != 93. 下列for循环的循环体执行次数为( )。 for(int i(0),j(10);i=j=4;i++,j- -)

A. 0; B. 1; C. 4; D. 无限; 94. 下述关于开关语句的描述中,( )是正确的。 A. 开关语句中default子句可以没有,也可以有一个; B. 开关语句中每个语句序列中必须有break语句; C. 开关语句中default子句只能放在最后;

D. 开关语句中case子句后面的表达式可以是整形表达式。 95. 下列存储类标识符中,( )的可见性与存在性不一值。 A. 外部类; B. 自动类; C. 内部静态类; D. 寄存器类。 96. 下述静态数据成员的特征中,( )是错误的。 A. 说明静态数据成员时前边要加修饰符static; B. 静态数据成员要在类体外进行初始化;

C. 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符; D. 静态数据成员不是所有对象所共用的。 97. ( )是析构函数的特征。

A. 一个类中只能定义一个析构函数; B. 析构函数与类名不同;

C. 析构函数的定义只能在类体内; D. 析构函数可以有各个或多个参数。;

98. 已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,(是正确的。

A. A1.p=5; B. A1->p=5; C. A.*p=5; D. *A1.p=5; 99. 关于new运算符的下列描述中,( )是错的。 A. 它可以用来动态创建对象和对象数组;

B. 使用它创建的对象或对象数组可以使用运算符delete删除; C. 使用它创建对象时要调用构造函数; D. 使用它创建对象数组时必须指定初始值。

100. 派生类的构造函数的成员初始化列中,不能包含( )。 A. 基类的构造函数;

35

)B. 派生类中子对象的初始化; C. 基类的子对象初始化;

D. 派生类中一般数据成员的初始化

101. 派生类的对象对它的基类成员中( )是可以访问的。 A. 公有继承的公有成员; B. 公有继承的私有成员; C. 公有继承的保护成员; D. 私有继承的公有成员。

102.C++类体系中,不能被派生类继承的有( )。

A.构造函数 B.虚函数 C.静态成员函数 D.赋值操作函数 103.下面标识符中正确的是( )。 A._abc B.3ab C. int D.+ab

104.下列哪项( )不是面向对象程序设计的主要特征? a.封装 b.继承 c.多态 d.结构

105.已知i=5,j=0,下列各式中运算结果为j=6的表达式是( )。 A.j=i+(++j) B.j=j+i++ C.j=++i+j D.j=j+++i

106.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

A.语句for(i=0;;i++)表示无限循环 B.for(;;)表示无限循环 C.for()也表示无限循环 D.while(1)表示无限循环 108.有如下程序: int x=3; do{ X-=2; cout<

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

A. 1 B.30 C.1-2 D.死循环 109.若有以下定义,则说法错误的是( )。

36