C++语言程序设计练习题Word文件下载.docx

上传人:b****1 文档编号:1452230 上传时间:2023-04-30 格式:DOCX 页数:33 大小:26.82KB
下载 相关 举报
C++语言程序设计练习题Word文件下载.docx_第1页
第1页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第2页
第2页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第3页
第3页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第4页
第4页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第5页
第5页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第6页
第6页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第7页
第7页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第8页
第8页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第9页
第9页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第10页
第10页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第11页
第11页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第12页
第12页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第13页
第13页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第14页
第14页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第15页
第15页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第16页
第16页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第17页
第17页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第18页
第18页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第19页
第19页 / 共33页
C++语言程序设计练习题Word文件下载.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++语言程序设计练习题Word文件下载.docx

《C++语言程序设计练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计练习题Word文件下载.docx(33页珍藏版)》请在冰点文库上搜索。

C++语言程序设计练习题Word文件下载.docx

21、使用const语句定义一个标识符常量时,则必须对它同时进行。

22、执行”intx=45,y=16;

cont<

x/y<

’‘<

x%y<

”语句序列后得到的输出结果为

23、假定x=10,y=6,则表达式2+x++和++y*3的值分别为和。

24、算术表达式

对应的C++表达式为。

25、算术表达式

+4b-1对应的C++表达式为。

26、表达式float(25)/4和int(14.6)%5的值分别为和。

27、表达式a=a+b表示成复合赋值表达式为。

28、表达式a=a+1表示成增量表达式为。

29、增量表达式++y表示成赋值表达式为。

30、关系表达式(x==0)的等价表达式为。

31、关系表达式(x!

=0)的等价表达式为。

32、关系表达式x+y>

z的相反表达式为。

33、逻辑表达式x>

5&

&

x<

10的相反表达式为。

34、逻辑表达式a>

b||b==5的相反表达式为。

35、若x=15,y=40,则x>

y和x<

=y的逻辑值分别为和。

36、假定x=5,则执行”a=(x?

10:

4*2);

”语句后a的值为。

37、假定a=5,则条件表达式”a==0?

10:

20”的值为。

38、执行”typedefDataType;

”语句后,在使用int定义整型变量的地方都可以使用来定义整型变量。

39、设x和y均为bool量,则x&

y为真的条件是。

40、设x和y均为bool量,则x||y为假的条件是。

1.假定一个一维数组的定义为“char*a[5];

”,则该数组所含元素的个数为_____,所占存储空间的字节数为______。

2.假定一个二维数组的定义为“inta[4][6];

3.假定一个二维数组的定义为“chara[8][8];

4.执行“typefloatABC[10];

”语句把ABC定义为具有10个单精度元素的______。

5.在函数外定义的变量称为______变量,若没有被初始化则系统隐含对它赋初值_____。

6.函数中的形参变量的初值由_____该函数时获得。

7.函数调用时,实参向形参的传送分为____和____两种传送方式。

8.变量分为全局和局部两种,_______变量没有赋初值时,其值是不确定的。

1、假定p所指对象的值为28,p+1所指对象的值为62,则*p++的值为。

2、假定p所指对象的值为28,p+1所指对象的值为62,则*++p的值为。

3、假定p所指对象的值为25,p+1所指对象的值为50,则执行”(*p)++;

”语句后,p所指对象的值为。

4、假定p所指对象的值为25,p+1所指对象的值为50,则执行”*(p++);

5、假定a是一个指针数组,则a+I所指对象的地址比a地址大字节。

6、假定a是一个一维数组,则a[i]的指针访问方式为。

7、假定a是一个二维数组,则a[i][j]的指针访问方式为。

8、假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为。

9、假定一个二维数组为a[M][N],则a[i][j]对应的存储地址(以字节为单位)为。

10、假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为。

11、假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大字节。

12、假定a为一个字符数组名,则元素a[8]的字节地址为。

13、假定a为一个整型数组名,则元素a[4]的字节地址为。

14、假定一个结构类型的定义为”structA{inta,b;

shortc;

A*d;

};

”,则该类型的大小为字节。

15、假定一个结构类型的定义为”structB{inta[8];

char*b;

”,则该类型的大小为字节。

16、假定一个结构类型的定义为”structD{inta;

union{intb;

doublec;

D*d[3];

17、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为。

18、假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为。

19、假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为。

1、在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的使其初始化。

2、当一个类对象被撤消时将自动调用该类的。

3、对基类数据成员的初始化是通过执行派生类构造函数中的来实现的。

4、对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现。

5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先,后,最后为。

6、当撤消一个含有基类和类对象成员的派生类对象时,将首先完成的析构函数定义体的执行,接着完成的析构函数定义体的执行,最后完成的析构函数定义体的执行。

7、设px是指向一个类动态对象的指针变量,则执行”deletepx;

”语句时,将自动调用该类的

8、当一个类对象离开它的作用域时,系统将自动调用该类的。

9、假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为。

10、假定AB为一个类,则执行”ABa[10];

”语句时,系统自动调用该类构造函数的次数为

11、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为。

12、假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为。

13、若需要把一个函数”voidF();

”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:

14、若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:

15、假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为。

16、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为。

17、当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为。

18、假定AB为一个类,则该类的拷贝构造函数的声明语句为。

19、对类对象成员的初始化是通过执行构造函数中的完成的。

20、对于类中定义的成员,其隐含访问权限为,对于结构中定义的成员,其隐含访问权限为。

21、一个类的友元函数或友元类能够通过成员操作符访问该类的。

22、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:

23、在C++流类库中,根基类为。

24、在C++流类库中,输入流类和输出流类的名称分别为和。

25、若要在程序文件中进行标准输入输出操作,则必须在开始的#inlude命令中使用头文件。

26、若要在程序文件中进行文件输入输出操作,则必须在开始的#inlude命令中使用头文件。

27、当从字符文件中读取回车和换行两个字符时,被系统看作为一个。

28、当使用ifsream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为,当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为。

29、当需要使用istrstream流类定义一个流对象并联系一个字符串时,应在文件开始使用#include命令,使之包含文件。

二、选择题

(1)已知下列语句中的x和y都是int型变量,其中不正确的语句是[]

A)y+=++x;

B)++x+=y;

C)y=x++;

D)x++=y;

(2)若x是一个bool型变量,y是一个值为100的int型变量,则表达式!

x&

y>

0的值[]。

A)为trueB)为falseC)与x的值相同D)与x的值相反

(3)执行语句序列

intn;

cin>

>

n;

switch(n){

case1:

case2:

cout<

'

X'

;

case3:

case4:

Y'

break;

default:

Z'

}

时,不可能出现的情况是[]。

A)显示:

XB)显示:

YC)显示:

ZD)显示:

XY

(4)执行语句序列

intx;

x;

if(x>

250)cout<

if(x<

elsecout<

A)显示:

XB)显示:

YC)显示:

XYD)显示:

XX

(5)要定义一个具有5个元素的一维数组,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中不正确的是[]。

A)intvect[]={30,50,-88};

B)intvect[]={30,50,-88,0,0};

C)intvect[5]={30,50,-88};

D)intvect[5]={30,50,-88,0,0};

(6)已知某应用系统中已经定义了函数fun,其原形是

intfun(char='

A'

);

则下列函数中,可以在同一系统中加以重载的是[]。

A)intfun();

B)intfun(char);

C)intfun(char,int);

D)intfun(char,double=0.0);

(7)若指针p定义为constchar*p="

Luchy!

"

则[]。

A)p所指向的数据不可改变,p在定义时可以不初始化。

B)p所指向的数据不可改变,p在定义时必须初始化。

C)p本身不可改变,p在定义时可以不初始化。

D)p本身不可改变,p在定义时必须初始化。

(8)已知数组A和指针p定义为:

intA[20][10],*p;

,要使p指向A的首元素,正确的赋值表达式是[]。

A)p=&

A或p=A[0][0]B)p=A或p=&

A[0][0]

C)p=&

A[0]或p=A[0][0]D)p=A[0]或p=&

(9)已知函数func的原形是

doublefunc(double*pd,int&

ri);

变量x和y的定义是

doublex;

inty;

把x和y分别作为第一参数和第二参数来调用函数func,正确的调用语句是[]。

A)func(x,&

y);

B)func(&

x,y);

C)func(&

x,&

D)func(x,y);

(11)要使字符串变量str具有初值"

Lucky"

,正确的定义语句是[]。

A)charstr[]={'

L'

'

u'

c'

k'

y'

};

B)charstr[5]={'

C)charstr[]="

D)charstr[5]="

(12)已知某函数的一个形式参数被说明为MAT[3][10],在下列说明中,与此等效的形参说明是[]。

A)intMAT[][10]B)intMAT[3][]

C)intMAT[10][3]D)intMAT[][]

(13)若指针p定义为char*constp="

(14)在下列表达式中,与下标引用A[i][j]不等效的是[]。

A)*(A+i+j)B)*(A[i]+j)C)*(*(A+i)+j)D)(*(A+i))[j]

(15)要使语句p=newdouble[20];

能够正常执行,变量p应定义为[]。

A)doublep[20];

B)doublep;

C)double(*p)[20];

D)double*p;

(16)执行下列语句序列

structAA{intival;

charcval;

structBB{intival;

AAra;

structCC{intival;

BBrb;

CCrc={66,{rc.ival+1,rc.ra.ival+1},{69,{70,71}}};

rc.ival<

rc.ra.ival<

rc.rb.ra.ival;

后,显示在屏幕上的是[]。

A)66,67,68B)67,68,69C)66,67,70D)67,69,70

(17)类的默认的无参构造函数[]。

A)在任何情况下都存在

B)仅当未定义无参构造函数时存在

C)仅当未定义有参构造函数时存在

D)仅当未定义任何构造函数时存在

(18)语句ofstreamf("

SALARY.DAT"

ios:

:

noreplace|ios:

binary);

的功能是建立流对象f,并试图打开文件SALARY.DAT并与之连接,而且[]。

A)若文件存在,将文件指针定位于文件尾;

若文件不存在,建立一个新文件。

B)若文件存在,将其截为空文件;

若文件不存在,打开失败。

C)若文件存在,将文件指针定位于文件首;

D)若文件存在,打开失败;

(19)执行下列语句序列

AA*ra;

CCrc={66,newAA,{69,{70,71}}};

rc.ra->

ival=rc.ival+1;

cval=rc.ra->

ival+1;

ival<

A)67,69,70B)66,67,70C)67,68,69D)66,67,68

(20)类的默认的拷贝构造函数[]。

B)仅当未定义拷贝构造函数时存在

(21)语句ofstreamf("

nocreate|ios:

trunc);

22.由C++目标文件连接而成的可执行文件的缺省扩展名为_______。

AcppBexeCobjDlik

23.在下面的一维数组定义中,哪一个有语法错误。

________

Ainta[]={1,2,3};

Binta[10]={0};

Cinta[];

Dinta[5];

24.在下面的函数声明中,存在着语法错误的是__D_____。

AvoidBC(inta,int);

BvoidBD(int,int);

CvoidBE(int,int=5);

DintBF(intx;

inty);

25.假定AB为一个类,则该类的拷贝构造函数的声明语句为_______。

AAB&

(ABx);

BAB(ABx)CAB(AB&

DAB(AB*x)

26.对于结构中定义的成员,其隐含访问权限为________。

ApublicBprotectedCprivateDstatic

27.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方

式为_______。

Aios:

inBios:

outCios:

in|ios:

outD没有

28、设a和b均为bool型变量,则a||b为假的条件是()

A)它们均为真B)其中一个为真C)其中一个为假D)它们均为假

29、声明或定义一个内联函数时,必须在函数开始使用保留字()

A)staticB)constC)inlineD)extern

30、当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为()

A)n-2B)n-1C)nD)n+1

31、对于类中定义的成员,其隐含访问权限为()

A)staticB)publicC)protectedD)private

32、当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()

A)ios:

inB)ios:

outC)ios:

in|ios:

outD)ios:

binary

33、下面的函数声明中,哪一个”voidBC(inta,intb);

”是的重载函数?

A)intBC(inta,intb)B)voidBC(inta,charb)

C)floatBC(inta,intb,intc=0)D)voidBC(inta,intb=0)

34、假定a为一个数组名,则下列的哪一种表示有错误()

A)a[i]B)*a++C)*aD)*(a+1)

35、假定AB为一个类,px为指向该类动态对象数组的指针,该数组的长度为n,则执行”delete[]px;

”语句时,自动调用该类的析构函数的次数为()

A)0B)1C)nD)n+1

 

三、写出下列程序运后的输出结果

1.

#include<

iostream.h>

voidSB(charch){

switch(ch){

case'

case'

a'

cout<

well!

break;

B'

b'

good!

C'

pass!

default:

bad!

}

}

voidmain(){

chara1='

a2='

a3='

f'

SB(a1);

SB(a2);

SB('

endl;

2.

stdlib.h>

doubleSD(inta,intb,charop){

doublex;

switch(op){

+'

x=double(a)+b;

-'

x=double(a)-b;

*'

x=double(a)*b;

/'

if(b)x=double(a)/b;

elseexit

(1);

break;

exit

(1);

returnx;

intx=20,y=12;

SD(x,y,'

)<

'

SD(x+y,y-2,'

3.

ints=0;

for(inti=1;

i<

6;

i++)

s+=i*i;

s="

s<

4.

#include<

for(inti=1;

i++){

if(s>

50)break;

if(i%3==0)s+=i;

i,s="

"

5.

ints1=

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2