重点c++形考册答案.docx

上传人:b****8 文档编号:28164277 上传时间:2023-07-08 格式:DOCX 页数:33 大小:25.71KB
下载 相关 举报
重点c++形考册答案.docx_第1页
第1页 / 共33页
重点c++形考册答案.docx_第2页
第2页 / 共33页
重点c++形考册答案.docx_第3页
第3页 / 共33页
重点c++形考册答案.docx_第4页
第4页 / 共33页
重点c++形考册答案.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

重点c++形考册答案.docx

《重点c++形考册答案.docx》由会员分享,可在线阅读,更多相关《重点c++形考册答案.docx(33页珍藏版)》请在冰豆网上搜索。

重点c++形考册答案.docx

重点c++形考册答案

一、填空题

1.C++语言中的每条基本语句以__;___作为结束符,每条复合语句以__}_____作为结束符。

2.用于输出表达式值的标准输出流对象是____cout____,用于从键盘上为变量输入值的标准输入流对象是___cin___。

3.当不需要函数返回任何值时,则应把该函数类型定义为__void___。

4.执行”cout<<143<<‘+’<<18<<‘=‘<<143+18<

为____143+18=161___。

5.执行”cout<<“nign”<<“chen”<<38<

6.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为____main__。

7.C++源程序文件的缺省扩展名为__.cpp__,由C++源程序文件编译而成的目标文件的缺省扩展名为_.obj__,由C++目标文件连接而成的可执行文件的缺省扩展名为_.exe__。

8.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用_空格_或____,____符号作为分隔符。

9.十进制数25表示成符合C++语言规则的八进制和十六进制数分别为_031_和ox19___。

10.在C++语言中,用转义字符序列__\n__或操纵符_endl___表示输出一个换行符。

11.执行”Cout<

12.执行”cout<

13.已知’A’~’Z’的Ascll码为65~90,当执行”intx=‘H’+5;”语句后x的值为__77___。

14.已知’A’~’Z’的Ascll码为65~90,当执行”charch=16*5+2;cout<

15假定一个枚举类型的定义为”enumRA{xa,xb,xc,xd};”,则执行”cout<<“xc=”<

16.假定一个枚举类型的定义为”enumRB{ab,ac=3,ad,ae}x=ad;”,则x的值为______4_____。

17.char、short和int类型的大小分别为___1B__、_2B__和__4B___。

18.float和double类型的大小分别为_____4B___和__8B____。

19.十进制数128和-3.26的类型分别为____int_和___flaot___。

20.若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始使用保留字_#define__。

21.使用const语句定义一个标识符常量时,则必须对它同时进行__初始化___。

22.执行”intx=45,y=16;cout<

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

24.算术表达式对应的c++表达式为_(x*x+y*y)/(2-x*y)_。

25.算术表达式对应的c++表达式为__x*y*y/3*a+4*b-1__。

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

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

28.表达式a=a+l表示成增量表达式为__a++或++a_____。

29.增量表达式++y表示成赋值表达式为___y=y+1或y+=1___。

30.关系表达式(x==0)的等价表达式为_____x!

=1____。

31.关系表达式(x!

=0)的等价表达式为__x=1__。

32.关系表达式x+y>z的相反表达式为_____x+y!

>Z或_x+y<=Z____。

33.逻辑表达式x>5&&x<10的相反表达式为____x<=5||x>=10___。

34.逻辑表达式a>b||b==5的相反表达式为____a<=b&&b!

=5______。

35.若x=15,y=40,则x>y和x<=y的逻辑值分别为____0___和__1___。

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

10:

4*2);”语句后a的值为___10__。

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

10:

20”的值为____20___。

38;执行”typedefintDataType;”语句后,在使用int定义整型变量的地方都可以使

用DataType来定义整型变量。

39.设x和y均为bool量,则x&&y为真的条件是_x=ture,y=ture____。

40.设x和y均为bool量,则x||y为假的条件是_x=false,y=false___。

1.假定一个一维数组的定义为”char*a[5];”,则该数组所含元素的个数为____5___所占存储空间的字节数为____6____.

2.假定一个二维数组的定义为”inta[4][6];”,则该数组所含元素的个数为___24_____,所占存储空间的字节数为____96_。

3.假定一个二维数组的定义为”chara[8][8];”,则该数组所含元素的个数为_64___,所占存储空间的字节数为__64__。

4.执行”typdeffloatABC[10];”语句把ABC定义为具有10个单精度元素的__数组_。

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

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

7.函数调用时,实参向形参的传送分为_传值__和_传址___两种传送方式。

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

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

2.假定p所指对象的值为28,P+l所指对象的值为62,则*++p的值为__62__。

3.假定p所指对象值为25,p+l所指对象的值为50,则执行”(*p)++;”语句后,p所指对象的值为_25___。

4.假定p所指对象的值为25,p+1所指对象的值为50,则执行”*(p++);”语句后,p所指对象的值为_50__。

5.假定a是一个指针数组,则a+i所指对象的地址比a地址大_i*sizeof(a[0])_字节。

6.假定a是一个一维数组,则a[i]的指针访问方式为____*(a+i)__。

7.假定a是一个二维数组,则a[i][j]的指针访问方式为___*(a[i]+j)___。

8.假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为&a[0]+i*sizeof(a[0][0])_。

9.假定一个二维数组为a[M][N],则a[i][j]对应的存储地址(以字节为单位)为_&a+(i*4j)*sizeof(a[0][0])。

10.假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为&a[0][0]+(i*aj)*sizeof(a[0][0])。

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

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

13.假定a为一个整型数组名,则元素a[4]的字节地址为__&a+16___。

14.假定一个结构类型的定义为”structA{inta,b;shortc;A*d;};”,则该类型的大小为10_字节。

15.假定一个结构类型的定义为”structB{inta[8];char*b;”,则该类型的大小为33字节。

16.假定一个结构类型的定义为”structD{inta;union{intb;doublec;}

D*d[3];};”则该类型的大小为__12_字节。

17.假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为_worker*r=new(worker[n]_。

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

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

p→b→对象。

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

2.当—个类对象被撤消时将自动调用该类的__析构函数____。

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

4.对一个类中的数据成员的初始化可以通过构造函数中的_赋值__实现,也可以通过构造函数中的_初始化表__实现。

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

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

7.设px是指向一个类动态对象的指针变量,则执行”deletepx;”语句时,将自动调用该类的__析构函数__。

8.当一个类对象离开它的作用域时,系统将自动调用该类的_析构函数__。

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

10.假定AB为一个类,则执行”ABa[10];”语句时,系统自动调用该类构造函数的次数为10__。

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

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

13.若需要把一个函数”voidF();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:

_friendclassF()_。

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

__friendclassAB。

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

:

bb=0_。

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

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

18.假定AB为一个类;则该类的拷贝构造函数的声明语句为__AB(AB&对象)__。

19.对类对象成员的初始化是通过执行构造函数中的_赋值语句__完成的。

20.对于类中定义的成员;其隐含访问权限为__私有____,对于结构中定义的成员,其隐含访问权限为_共有___。

21.一个类的友元函数或友元类能够通过成员操作符访问该类的_所有成员(数据成员+函数成员)_。

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

_ABoperator+(AB&AB&)____。

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

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

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

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

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

28.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为读取ios:

:

in_,当使用ofstrean流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_ios:

:

out_________

29.当需要使用istrsteam流类定义一个流对象并联系一个字符串时,应在文件开始使用

#include命令,使之包含__。

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

1.#include

voidSB(charch){

switch(ch){

case‘A’:

case‘a’:

Cout<<“well!

”;break;

Case‘B’:

case‘b’:

Cout<<“good!

”;break;

Case‘C’:

case‘c’:

cout<<“pass!

”;break;

default:

cout<<“bad!

”;break;good!

Pass!

Bad!

Well!

}

}

voidmain(){

chara1=‘b’,a2=‘C’,a3=‘f’;

SB(a1);SB(a2);SB(a3);SB(‘A’);

cout<

}

2.#include

#include

doubleSD(inta,intb,charop){

doublex;

switch(op){

case‘+’:

x=double(a)+b;break;

case‘-’:

x=double(a)-b;break;8.0240.03.2

case‘*’:

x=doubel(a)*b;break;

case‘/’:

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

elseexit

(1);break;

default:

exit

(1);}

returnx;}

voidmain(){

intx=20,y=12;

cout<

cout<

cout<

}

3.#include

voidmain(){

ints=0;

for(inti=l;i<6;i++)

S+=i*i;

cout<<“s=”<

}

4.#include

voidmain(){

ints=0;

for(inti=1;;i++){

if(s>50)breeak;

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

cout<<“i,s=”<

}i,s=19,63

5.#include

voidmain(){

ints1=0,s2=0;

for(inti=0;i<10;i++)

if(i%2)s1+=i;

elses2+=i;

cout<

}2520

6.#include

voidmain(){

intn=10,y=1;

while(n--){y++;++y;}

cout<<“y*y=”<

}y*y=441

二、给出下列程序运行后的输出结果

1.#include

voidmain(){

inta[10]={12,39,26,41,55,63,72,40,83,95};

inti0=0,i1=0,i2=0;

for(inti=0;i<10;i++)

switch(a[i]%3){

case0:

i0++;break;

case1:

i1++;break;

case2:

i2++;}

cout<

}424

2.#include

#include

voidmain(){

chara[5]={“student”,”worker”,”cadre”,”apple”,”peasant”};

char*pl,*p2;

pl=p2=a[0];

for(inti=0;i<5;i++){

if(strcmp(a[i],pl)>0)pl=a[i];

if(strcmp(a[i],p2)<0)p2=a[i];

}

cout<

}

3.#include

voidmain(){

inta[8]={36,73,48,14,55,40,32,66};

intbl,b2;

bl=b2=a[0];

for(inti=l;i<8;i++)

if(a[i]>bl){

if(bl>b2)b2=bl;

bl=a[i];

}

cout<

}

4.#include

voidmain(){

chara[]=“aabcdaabacabfgacd”;

intil=0,i2=0,i=0;

while(a[i]){

if(a[i]==‘a’)il++;

if(a[i]==‘b’)i2++;

i++;

}73

cout<

}

5.#include

voidnain(){

chara[]=“abcdabcabdaeaf”;

intb[5]={0},i=0;

while(a[i]){

switch(a[i]){

case‘a’:

b[0]++;break;

case‘b’:

b[l]++;break;

case‘c’:

b[2]++;break;

case‘d’:

b[3]++;break;

default:

b[4]++;

}

i++;

}

for(i=0;i<5;i++)cout<

}53222

6.#include

voidmain(){

inta[10]={76,83,54,62,40,75,80,92,77,84};

intb[4]={60,70,90,101};

intc[4]={0};

for(inti=0;i<10;i++){

intj=0;

while(a[i]>=b[j])j++;

c[j]++;

}

for(i=0;i<4;i++)cout<

cout<

}2201

7.#include

voidmain(){

inta[3][4]={{1,2,7,8},{5,6,11,12},{24,10,3,4}};

intm=a[0][0];

intii=0,jj=0;

for(inti=0;i<3;i++)

for(intj=0;j<4;j++)

if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}

cout<

}2024

8.#include

voidmain(){

inta=10,b=20;

cout<

{a*=43

intb=a+35;

cout<

}4075

cout<

}

二、给出下列程序运行后的输出结果

1.#include

voidmain(){

inta[8]={7,9,ll,13,3,8,15,17};

int*p=a;

for(inti=0;i<8;i++){

cout<

if(i+1)%4==0)cout<

}381517

}

2.#inelude

voidmain(){

inta[5]={3,6,15,7,20};

int*p=a;

for(inti=0;i<5;i++)

cout<

cout<

for(i=0;i<5;i++)

cout<

cout<

}2071563

3.#include

voidmain(){

inta[8]={4,8,12,16,20,24;28,32};

int*p=a;

do{

cout<<*p<<‘‘;

p+=3;

}while(p

cout<

}

4.#include

voidmain(){

intx=20,y=40,*p;

p=&x;cout<<*p<<‘‘;

*p=x+10;

p=&y;cout<<*p<

*p=y+20;cout<

}3060

5、#include

intLA(int*a,intn){

ints=0;

for(inti=0;i

s+=a[i];

returns;

}

voidmain(){

inta[]={5,10,15,20,25,30};

intb=LA(a,5);

intc=LA(a+3,2);

cout<

}

6.#include

voidLC(inta,intb){

intx=a;

a=b;b=X;

cout<

}

voidmain(){

intx=15,y=36;

LC(x,y);cout<

}1536

7.#include

vo

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

当前位置:首页 > 农林牧渔 > 水产渔业

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

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