重点c++形考册答案.docx
- 文档编号:28164277
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:33
- 大小:25.71KB
重点c++形考册答案.docx
《重点c++形考册答案.docx》由会员分享,可在线阅读,更多相关《重点c++形考册答案.docx(33页珍藏版)》请在冰豆网上搜索。
重点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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重点 c+ 形考册 答案