C++练习题(附答案)
5.9
(11)下列关于C++函数的叙述中,正确的是
A)每个函数至少要具有一个参数B)每个函数都必须返回一个值
C)函数在被调用之前必须先声明D)函数不能自己调用自己
(12)下列关于类和对象的叙述中,错误的是
A)一个类只能有一个对象
B)对象是类的具体实例
C)类是对某一类对象的抽象
D)类和对象的关系是一种数据类型与变量的关系
(13)在C++中,用于实现运行时多态性的是
指针函数的作用A)内联函数B)重载函数
C)模板函数D)虚函数
(14)下列关于运算符重载的叙述中,正确的是
A)通过运算符重载,可以定义新的运算符
B)有的运算符只能作为成员函数重载
C)若重载运算符+,则相应的运算符函数名是+
D)重载一个二元运算符时,必须声明两个形参
(15)下列关于模板的叙述中,错误的是
A)模板声明中的第一个符号总是关键字template
B)在模板声明中用<和>括起来的部分是模板的形参表
C)类模板不能有数据成员
D)在一定条件下函数模板的实参可以省略
(16)对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是a)"cout"是一个输出流对象< bdsfid="85" p=""></endl<<x;中的各个组成部分,下列叙述中错误的是a)"cout"是一个输出流对象<>
B)"endl"的作用是输出回车换行
C)"x"是一个变量
D)"<<"称作提取运算符
(17)下列字符串中,正确的C++标识符是
A)foo-1 B)2b
C)new D)_256
(18)已知枚举类型定义语句为:
enum Token{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是
A)枚举常量NAME 的值为1 B)枚举常量NUMBER 的值为1
C)枚举常量MINUS 的值为6 D)枚举常量PRINT 的值为10
(19)执行语句序列
int i=0;while(i<25)i+=3;cout<<i;< bdsfid="99" p=""></i;<>
输出结果是
A)24 B)25
C)27 D)28
(20)要定义一个具有 5 个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0 和0,则下列定义语句
中错误的是
A)int vect[]={30,50,-88}; B)int vect[]={30,50,-88,0,0};
C)int vect[5]={30,50,-88}; D)int vect[5]={30,50,-88,0,0};
(21)有如下程序:
#include
void fun(int& x,int y){int t=x;x=y;y=t;}
int main()
{
int a[2]={23,42};
fun(a[1],a[0]);
std::cout<<a[0]<<","<<a[1]<<std::endl;< bdsfid="116" p=""></a[0]<<","<<a[1]<<std::endl;<>
return 0;
}
执行后的输出结果是
A)42,42 B)23,23
C)23,42 D)42,23
(22)有如下类声明:
class Foo { int bar; };
则Foo 类的成员bar 是
A)公有数据成员B)公有成员函数
C)私有数据成员D)私有成员函数
(23)有如下类声明:
class MyBASE
{
int k;
public:
void set(int n){k=n;}
int get()const{return k;}
};
class MyDERIVED:protected MyBASE
{
protected:
int j;
public:
void set(int m,int n){MyBASE::set(m);j=n;}
int get()const{return MyBASE::get()+j;}
};
则类MyDERIVED 中保护的数据成员和成员函数的个数是
A)4 B)3
C)2 D)1
(24)已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误
的是
A)这是运算符-的重载运算符函数
B)这个函数所重载的运算符是一个一元运算符
C)这是一个成员函数
D)这个函数不改变类的任何数据成员的值
(25)有如下函数模板定义:
template
T func(T x,T y){ return x*x+y*y;}
在下列对func 的调用中,错误的是
A)func(3,5); B)func(3.0,5.5);
C)func(3,5.5); D)func(3,5.5);
(27)在下列函数原型中,可以作为类AA 构造函数的是A)void AA(int);
B)int AA();
C)AA(int)const;
D)AA(int);
(28)下列关于this 指针的叙述中,正确的是
A)任何与类相关的函数都有this 指针
B)类的成员函数都有this 指针
C)类的友元函数都有this 指针
D)类的非静态成员函数才有this 指针
(29)有如下程序:
#include
using namespace std;
class Test
{
public:
Test() {n+=2; }
~Test() {n-=3; }
static int getNum() {return n; }
private:
static int n;
};
int Test::n=1;
int main()
{
Test* p=new Test;
delete p;
cout<<"n="<<test::getnum()<<endl;< bdsfid="188" p=""></test::getnum()<<endl;<>
return 0;
}
执行后的输出结果是
A)n=0 B)n=l
C)n=2 D)n=3
(30)有如下程序:
#include
using namespace std;
class A {
public:
A(){cout<<"A";}
};
classB{public:B(){cout<<"B";}}
classC:public A{
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论