C++语言程序设计复习题.docx

上传人:b****3 文档编号:2146933 上传时间:2022-10-27 格式:DOCX 页数:26 大小:36.73KB
下载 相关 举报
C++语言程序设计复习题.docx_第1页
第1页 / 共26页
C++语言程序设计复习题.docx_第2页
第2页 / 共26页
C++语言程序设计复习题.docx_第3页
第3页 / 共26页
C++语言程序设计复习题.docx_第4页
第4页 / 共26页
C++语言程序设计复习题.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C++语言程序设计复习题.docx

《C++语言程序设计复习题.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计复习题.docx(26页珍藏版)》请在冰豆网上搜索。

C++语言程序设计复习题.docx

C++语言程序设计复习题

C++语言程序设计复习题

一、单项选择题

1.下列表达式中不正确的是()。

A、pxB、p=q=9

C、k/(p+3)D、23i+5

2.若w是一个bool型变量,则w&&!

w的值是()。

A、trueB、false

C、与w的值相同D、与!

w的值相同

3.要定义一个int型数组A,并使其各元素具有初值9,0,3,0,0,不正确的定义语句是()。

A、intA[]={9,0,3};B、intA[]={9,0,3,0,0};

B、intA[5]={9,0,3};D、intA[5]={9,0,3,0};

4.如果一个函数无返回值,则只能作为()被调用。

A、表达式B、语句

C、有参函数D、无参函数

5.有关析构函数的说法中不正确的是()。

A、析构函数有且只能有一个

B、析构函数无任何函数类型

C、析构函数和构造函数一样可以有参数

D、析构函数的作用是在对象被撤销时收回先前分配的内存空间

6.()的功能是对对象进行初始化

A、析构函数B、数据成员

C、构造函数D、静态成员函数

7.下列for语句的循环次数为()。

for(inti=0,x=0;!

x&&i<=5;i++)

A、5B、6

C、1D、无限

8.X>Y&&X<=Y的值为()。

A、trueB、false

C、与X>Y的值相同D、与X<=Y的值相同

9.若对函数类型未加显式说明,则该函数的隐含类型是()。

A、voidB、double

C、intD、char

10.有关类和对象的说法,下列不正确的是()。

A、对象是类的一个实例B、任何一个对象只能属于一个具体的类

C、一个类只能有一个对象D、类与对象的关系和数据类型和变量的关系相似

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

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

C、构造函数可以设置默认参数D、构造函数必须指定类型说明

12.()是析构函数的特征。

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

C、析构函数的定义只能在类体内D、析构函数可以有一个或多个参数

13.类型修饰符unsigned修饰()类型是错误的。

A、charB、intC、longintD、float

14.下列十六进制的整型常数表示中,()是错误的

A、0xafB、0X1bC、2fxD、0XAE

15.下列运算符中,()的结合性从左到右。

A、三目B、赋值C、比较D、单目

16.预处理命令在程序中都是以()开头的。

A、*B、#C、:

D、/

17.将两个字符串连接成一个字符串时,选用()函数。

A、strlenB、strcpyC、strcatD、strcmp

18.下述静态数据成员的特征中,()是错误的。

A、说明静态数据成员时,前面要加修饰府static

B、静态数据成员要在类体外进行初始化

C、引用静态数据成员时,要在静态数据成员名加类名和作用域运算符

D、静态数据成员不是所有对象所公有的

19.类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么:

()

A.类C的继承方式只能采用public继承。

B.可改用单继承的方式实现类C的同样功能。

C.类A和类B至少有一个是抽象类。

D.类A和类B至少有一个是虚基类。

20.下列哪种用法不能体现类A和类B之间的组合关系:

()

A.类A中声明数据成员Bb;

B.类A中声明数据成员B*b;

C.类A中声明数据成员constB&b;

D.类A中声明成员函数Bfunc(B&obj);

21.执行boolOK=2!

=3;cout<

A、trueB、false

C、1D、0

22.若w是一个bool型变量,则w||5的值是()。

A、trueB、false

C、与w的值相同D、与!

w的值相同

23.已知一正常运行的程序中有这样两个语句:

int*p2=&x,*p1=d1;

*p2=*d2;

由此可知,变量d1和d2的数据类型分别是()。

A、int和intB、int*和int

C、int*和int*D、int和int*

24.要使指针变量P指向一维数组A的第五个元素(下标为4的那个元素),正确的赋值表达式是()。

A、P=&A或P=&A[4]B、P=A+4或A=&A[4]

C、P=A+4或P=A[4]D、P=&A+4或P=A[4]

25.()是给对象取一个别名。

A、指针B、引用

C、枚举D、结构

26.sizeof(double)是一个()表达式。

A、整型B、双精度

C、不合法D、函数调用

27.要定义一个int型数组A,并使其各元素具有初值9,0,3,0,0,不正确的定义语句是()。

A、intA[]={9,0,3};B、intA[]={9,0,3,0,0};

B、intA[5]={9,0,3};D、intA[5]={9,0,3,0};

28.下列while循环的次数是()。

While(inti=0)i――;

A、0B、1

C、5D、无限

29.有关构造函数的说法不正确的是()。

A、构造函数的名字和类的名字一样B、构造函数在声明对象时自动执行

C、构造函数无任何数据类型D、构造函数有且只有一个

30.以下类的说明中,指出有错误的地方()。

classA

{

inta=1;//A

doubleb;//B

public:

A();//C

~A();//D

}

31.下列各函数中,()不是类的成员函数。

A、构造函数B、析构函数

C、友员函数D、拷贝初始化构造函数

32.下列定义中,()是定义指向数组的指针p。

A、int*p[5]B、int(*p)[5]

C、(int*)p[5]D、int*p[]

33.下列double型常量表示中,()是错误的。

A、E15B、.35C、3E5D、3E-5

34.对字符数组初始化时,()是正确的。

A、chars1[]=“abcd“;B、chars2[3]=“xyz”;

C、chars3[][3]={“abc”};D、chars4[2][3]={“xyz”,”mnp”};

35.下述关于break语句的描述中,()是不正确的。

A、break语句可以用在循环体内,它将退出该重循环

B、开关语句中每个语句序列中必须有break语句

C、开关语句中default子句只能放在最后

D、开关语句中case子句后面的表达式可以是整型表达式

36.下面关于条件语句的描述中,()是错误的。

A、if语句中只有一个else子句B、if语句中可以有多个elseif子句

C、if语句中if体不能是开关语句D、if语句的if体可以是循环语句

37.派生类的对象对它的基类中()是可以访问的。

A、公有继承的公有成员B、公有继承的私有成员

C、公有继承的保护成员D、私有继承的公有成员

38.关于虚函数的描述中,()是正确的。

A、虚函数是一个static类型的成员函数

B、虚函数是一个非成员函数

C、基类中说明了虚函数后,派生类中将其对应的函数不必说明为虚函数

D、派生类的虚函数和基类的虚函数具有不同的参数个数和类型

39.类A有一个实例化的常量对象a,那么下面的说法中不正确的是:

()

A.类A中的非静态数据成员一定都是常量成员。

B.通过a可以直接调用类A的常量成员函数。

C.a不能直接作为左值表达式使用。

D.a可以是静态常量对象。

40.在不考虑强制类型转换的情况下,关于类中常量成员函数的下列说法不正确的是:

()

A.常量成员函数中不能修改本类中的非静态数据成员。

B.常量成员函数中可以调用本类中的任何静态成员函数。

C.常量成员函数的返回值只能是void或常量。

D.若常量成员函数中调用虚函数f,那么函数f在本类中也一定是一个常量成员函数。

41.n>=0的等价条件是()。

A、n<0B、!

(n>=0)

C、!

(n<0)D、!

(n>0)

42.与if(x>0)if(y<0)x+=y;elsex-=y;等效的语句有()。

A、if(x>0||y<0)x+=y;elsex-=y;B、if(x<=0||y>=0)x+=y;elsex-=y;

C、if(x>0)x=(y>=0?

x-y:

x+y);D、if(y>=0)if(x<=0)x-=y;elsex+=y;

43.要使语句p=newlong*;能够正确执行,p应定义为()。

A、long***p;B、long**p;

C、longp;D、long*p;

44.有关构造函数的说法中不正确的是()。

A、构造函数的名字和类的名字一样B、构造函数在说明类变量时自动执行

C、构造函数无任何函数类型D、构造函数有且只能有一个

45.以下语句不正确的是()。

(设有intp,q)

A、p*=3B、p/=q

C、p+=3D、p&&=q

46.以下程序段()。

intx=-1;

do{x=x*x;}while(!

x);

A、是死循环B、循环执行二次

C、循环执行一次D、有语法错误

47.当一个函数无返回值时,函数的类型应定义为()类型。

A、voidB、任意

C、intD、无

48.C++语言中规定,函数的返回值的类型是由()。

A、return语句中的表达式的类型决定B、调用该函数时的主调函数类型决定

C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型决定

49.()的功能是对对象进行初始化。

A、构造函数B、数据成员

C、虚函数D、析构函数

50.如果一个函数无返回值,则只能作为()被调用。

A、表达式B、语句

C、有参函数D、无参函数

51.下列说明中:

constchar*ptr;ptr应该是()。

A、指向字符常量的指针B、指向字符的常量指针

C、指向字符串常量的指针D、指向字符串的常量指针

52.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A、缩排位置相同的ifB、在其之前未配对的if

C、在其之前未配对的最近的ifD、同一行上的if

53.inta=3,*p=&a;其中p的值是()。

A、变量a的地址值B、无意义

C、变量p的地址值D、3

54.下列运算符中,()可以用于浮点数。

A、++B、%C、>>D、&

55.下列的()是引用调用

A、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1