电大_c++形考答案.doc

上传人:爱问知识人 文档编号:5065162 上传时间:2020-01-31 格式:DOC 页数:19 大小:169KB
返回 下载 相关 举报
电大_c++形考答案.doc_第1页
第1页 / 共19页
电大_c++形考答案.doc_第2页
第2页 / 共19页
电大_c++形考答案.doc_第3页
第3页 / 共19页
电大_c++形考答案.doc_第4页
第4页 / 共19页
电大_c++形考答案.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《电大_c++形考答案.doc》由会员分享,可在线阅读,更多相关《电大_c++形考答案.doc(19页珍藏版)》请在三一文库上搜索。

1、专业好文档一、填空题1C+语言中的每条基本语句以_;_作为结束符,每条复合语句以_作为结束符。2用于输出表达式值的标准输出流对象是_cout_,用于从键盘上为变量输入值的标准输入流对象是_cin_。3当不需要函数返回任何值时,则应把该函数类型定义为_void_。4执行”cout143+18=143+18endl;”语句后得到的输出结果为_143+18=161_。5执行”cout“nign”“chen”38endl;”语句后得到的输出结果为_nignchen38_。6在每个C+程序中都必须包含有这样一个函数,该函数的函数名为_main_。7C+源程序文件的缺省扩展名为_.cpp_, 由C+源程序

2、文件编译而成的目标文件的缺省扩展名为_.obj_,由C+目标文件连接而成的可执行文件的缺省扩展名为_.exe_。8程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用_空格_或_,_符号作为分隔符。 9十进制数25表示成符合C+语言规则的八进制和十六进制数分别为_031_ 和ox19_。10在C+语言中,用转义字符序列_n_或操纵符_endl_表示输出一个换行符。11执行”Coutchar(b+2)endl;”语句后得到的输出结果为_d_。12执行”coutchar(K-3)endl; “语句后得到的输出结果为_H_。13 已知AZ的Ascll码为6590,当执行”int x=H+5;”

3、语句后x的值为_77_。14已知AZ的Ascll码为6590,当执行”char ch=16*5+2; coutchendl;”语句序列后,得到的输出结果为_R_。15假定一个枚举类型的定义为”enum RAxa,xb,xc,xd;”,则执行”cout“xc=”xcendl;”语句得到的输出结果为_xc=2_。16假定一个枚举类型的定义为”enum RBab,ac=3,ad,ae x=ad;”,则x的值为_4_。17char、short和int类型的大小分别为_1B_、_2B_和_4B_。18float和double类型的大小分别为_4B_和_8B_。19十进制数128和-3.26的类型分别为_

4、int_和_flaot_。20若需要定义一个标识符常量,并且使C+能够进行类型检查,则应在定义语句的开始使用保留字_#define_。21使用const语句定义一个标识符常量时,则必须对它同时进行_初始化_。22执行”int x=45,y=16;coutx/y x%yz的相反表达式为_x+y!Z或_x+y5&x10的相反表达式为_x=10_。34逻辑表达式ab| b=5的相反表达式为_a=b &b!=5_。35若x=15,y=40,则 xy 和 x=y的逻辑值分别为_0_和_1_。36假定x=5,则执行”a=(x? 10: 4*2);”语句后a的值为_10_。37假定a=5,则条件表达式”a=

5、0 ? 10:20”的值为_20_。38;执行”typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用 DataType 来定义整型变量。39设x和y均为bool量,则x&y为真的条件是_x=ture,y=ture_。40设x和y均为bool量,则x| y为假的条件是_x=false,y=false_。 1假定一个一维数组的定义为”char *a5;”,则该数组所含元素的个数为_5_ 所占存储空间的字节数为_6_.2假定一个二维数组的定义为”int a46;”,则该数组所含元素的个数为_24_, 所占存储空间的字节数为_96_ 。3假定一个二维数组的定义为

6、”char a88;”,则该数组所含元素的个数为_ 64_,所占存储空间的字节数为_64_。4. 执行”typdef float ABC10;”语句把ABC定义为具有10个单精度元素的_数组_。5. 在函数外定义的变量称为_全局_变量,若没有被初始化则系统隐含对它赋初值0_。6函数中的形参变量的初值由 调用函数调用 该函数时获得。7函数调用时,实参向形参的传送分为_传值_ 和_传址_两种传送方式。8. 变量分为全局和局部两种, 局部 _变量没有赋初值时,其值是不确定的。1假定P所指对象的值为28,p+1所指对象的值为62,则*p+的值为_28_。2假定p所指对象的值为28,P+l所指对象的值为

7、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(a0)_ 字节。6假定a是一个一维数组,则ai的指针访问方式为_*(a+i)_ _。7假定a是一个二维数组,则aij的指针访问方式为_*(ai+j)_。8假定a是一个一维数组,则ai对应的存储地址(以字节为单位)为 &a0+i*sizeof(a00)_。9假定一个二维数组为

8、aMN,则aij对应的存储地址(以字节为单位)为_&a+(i*4j)*sizeof(a00)。10假定一个二维数组为aMN,则ai的地址值(以字节为单位)为&a00+(i*aj)*sizeof(a00)。11假定p是一个指向float型数据的指针,则p+l所指数据的地址比p所指数据的地址大4_字节。12假定a为一个字符数组名,则元素a8的字节地址为_&a+8_。13假定a为一个整型数组名,则元素a4的字节地址为_&a+16_。14假定一个结构类型的定义为”struct A int a,b;short c; A * d;”,则该类型的大小为10_字节。15假定一个结构类型的定义为”struct

9、B int a8;char *b;”,则该类型的大小为33字节。16假定一个结构类型的定义为”struct D int a ; union int b;double c; D*d3;” 则该类型的大小为_12 _字节。17假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为_worker*r=new(workern_。18假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_&a对象。19假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 p b 对象。1在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类

10、的_构造函数_使其初始化。2当个类对象被撤消时将自动调用该类的_析构函数_。3对基类数据成员的初始化是通过执行派生类构造函数中的_构造函数_来实现的。4对一个类中的数据成员的初始化可以通过构造函数中的_赋值_实现,也可以通过构造函数中的_初始化表_实现。5. 在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先_基类对象_, 后 数对象成员_,最后为_非类成员_。6当撤消一个含有基类和类对象成员的派生类对象时,将首先完成_派生类对象_的析构函数定义体的执行,接着完成_类对象_的析构函数定义体的执行,最后完成_基类_的析构函数定义体的执行。7设px是指向一个类动态对象的指针变量,

11、则执行” delete px;”语句时,将自动调用该类的_析构函数_。8当一个类对象离开它的作用域时,系统将自动调用该类的_析构函数_。9假定一个类对象数组为AN,当离开它的作用域时,系统自动调用该类析构函数的次数为_ N_。10假定AB为一个类,则执行” AB a10;”语句时,系统自动调用该类构造函数的次数为10_。11假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为 无参构造函数_。12假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为_空析构函数_。13若需要把一个函数” void F();” 定义为一个类AB的友元函数,则应在类AB的

12、定义中加入一条语句:_friend classF( )_。14若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:_ friend classAB。15假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为_AB:bb=0_。16假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为_this bb_。17当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为_n-1_。18假定AB为一个类;则该类的拷贝构造函数的声明语句为_AB(AB&对象)_。19对类对象成员的初始化是通过

13、执行构造函数中的_赋值语句_完成的。20对于类中定义的成员;其隐含访问权限为_私有_,对于结构中定义的成员,其隐含访问权限为_共有_。21一个类的友元函数或友元类能够通过成员操作符访问该类的_所有成员(数据成员+函数成员)_。22假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:_AB operator+(AB&AB&)_ _。23在C+流类库中,根基类为_ios_。24在C+流类库中,输入流类和输出流类的名称分别为istream_和_ostream_。25若要在程序文件中进行标准输入输出操作,则必须在开始的# inlude命令中使用

14、_头文件。26若要在程序文件中进行文件输入输出操作,则必须在开始的# include命令中使用_头文件。27当从字符文件中读取回车和换行两个字符时,被系统看作为一个 换行符_。28当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为读取ios:in_,当使用ofstrean流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_ios:out_29当需要使用istrsteam流类定义一个流对象并联系一个字符串时,应在文件开始使用 # include命令,使之包含_。二、写出下列程序运行后的输出结果 1# include void SB(char ch) sw

15、itch(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! void main() char a1=b,a2=C,a3=f; SB(a1);SB(a2);SB(a3);SB(A); coutendl; 2#include #include double SD (int a,int b,char op) double x; switch(

16、op) case +: x=double(a)+b; break; case -: x=double(a)-b; break; 8.0 240.0 3.2 case *: x=doubel(a)*b; break; case /: if(b) x=double(a)/b; else exit(1); break; default:exit(1); return x; void main( ) int x=20,y=12; coutSD(x,y,-) ; coutSD(x,y,*) ; coutSD(x+y,y-2,/)endl; 3#include void main() int s=0; f

17、or(int i=l; i6;i+) S+=i*i; cout“s=”sendl; s=55 4# include void main() int s=0; for(int i=1;i+) if(s50)breeak; if(i%3=0)s+=i; cout“i,s=”i“,”sendl; i,s=19,63 5# include void main() int s1=0,s2=0; for(int i=0; i10;i+) if(i%2) s1+=i; else s2+=i; couts1 s2endl; 25 20 6# include void main() int n=10,y=1;

18、while(n-) y+; +y; cout“y*y=”y*yendl; y*y=441二、给出下列程序运行后的输出结果 1# include void main() int a10=12,39,26,41,55,63, 72,40,83,95; int i0=0,i1=0,i2=0; for(int i=0;i10; i+) switch (ai%3) case 0:i0+; break; case 1: i1+; break; case 2:i2+; coutiO il i2endl; 4 2 4 2 . # include # include void main( ) char a5=

19、“student”,”worker”,”cadre”,”apple”,”peasant” ; char *pl,*p2; pl=p2=a0; for(int i=0;i0) pl=ai; if(strcmp(ai,p2)0) p2=ai; coutpl p2endl; work apple 3 . # include void main( ) int a8=36,73,48,14,55,40,32,66; int bl,b2; bl=b2=a0; for(int i=l; ibl ) if(blb2) b2=bl ; bl=ai ; coutbl b2endl; 73 36 4 . # inc

20、lude void main( ) char a=“aabcdaabacabfgacd”; int il=0,i2=0,i=0; while (ai) if(ai=a) il+ ; if(ai=b) i2+ ; i+; 7 3 couti1 i2endl; 5 . # include void nain( ) char a=“abcdabcabdaeaf”; int b5=0 , i=0; while(ai) switch(ai) case a: b0+; break; case b: bl+; break; case c: b2+; break; case d: b3+; break; de

21、fault: b4+; i+; for(i=0;i5;i+) coutbi coutendl ; 5 3 2 2 2 6. # include void main() int a10=76,83,54,62,40,75,80,92,77,84; int b4=60,70,90,101; int c4=0; for(int i=0;i=bj) j+; cj+; for(i=0; i4; i+) coutci ; coutendl; 2 2 0 1 7. # include void main( ) int a34=1,2,7,8,5,6,11,12,24,10,3,4; int m=a00; i

22、nt ii=0,jj=0; for(int i=0;i3;i+ ) for(int j=0;jm) m=aij; ii=i; jj=j; coutii jj aiijjendl; 2 0 248 . # includevoid main() int a=10,b=20; coutabendl; a*=43 int b=a+35; coutabendl; 10 20 40 75coutabendl; 40 75二、给出下列程序运行后的输出结果 1# include void main() int a8=7,9,ll,13,3,8,15,17; int *p=a ; for(int i=0; i8

23、;i+) coutsetw(5)*p+; if(i+1)4=0)coutendl; 7 9 11 13 3 8 15 17 2# inelude void main() int a5=3,6,15,7,20; int *p=a; for(int i=0;i5;i+) coutsetw(5)*p+; coutendl; for(i=0;i5;i+) coutsetw(5)*-p;coutendl; 3 6 15 7 20 20 7 15 6 3 3# include void main() int a8=4,8,12,16,20,24;28,32; int *p=a ; do cout*p; p

24、+=3; while(pa+8);coutendl; 4 28 4# include void main() int x=20,y=40,*p ; p=&x; cout*p; *p=x+10; p=y; cout*pendl;*p=y+20; coutxyendl; 20 40 30 60 5、# include int LA(int * a,int n) int s=0; for(int i=0; in ;i+) s+=ai; return s; void main() int a=5,10,15,20,25,30; int b=LA(a,5); int c=LA(a+3,2); coutb

25、cb+2*cendl ; 75 45 165 6# include void LC(int a,int b) int x=a; a=b;b=X;coutabendl; void main() int x=15,y=36;LC(x,y);coutxyendl; 36 15 15 36 7# include void LF(int x,int y) X=X+y ; y=X+y;cout“x=“x“,y=“yendl; void main() int x=5,y=8; cout “x= “ x“,y= “y endl; x=5 y=8 LF(x,y) ; x=13 y=21 cout “x=“x“,

26、y=“yendl; x=13 y=21 8 . # include void LG(int * & a,int & m) a= new intm ; int * p=a; for(int i=0; im; i+) *p+=2*i+l; void main( ) int *p,h=5; LG(p, n) ; for(int i=0; in; i+) cout pi ; coutendl; “ delete P ; 1 3 5 7 9 9 . # include void LH(int *a,int n) int * p=a+n-l; while(ap) int x= *a; *a=*p; *p=

27、x; a+;p-; void main() int * d=new int5 ; int i; for(i=0; i5; i+) di=2*i+3; coutsetw(5)di ; cout endl ; LH(d,5); for(i=0; i5; i+) coutsetw(5)di ; coutendl; 3 5 7 9 11 delete d; 11 9 7 5 3 1O . # include struct Worker char name15 ; int age; float pay; ; void main( ) Worker x= “weirong, 55 , 640 ; weir

28、ong 55 640 Worker y, *p; weirong 60 630 y=x; p=&x; couty.name y.age y.payendl; coutname age+5 pay-10endl; 11 . # include # include struct Worker char name 15 ; int age; float pay; ; void main( ) Worker x; char *t=“liouting”; int d=46; float f=725; strcpy(x.name, t) ; liouting 46 725 x.age=d; x.pay=f

29、; coutx.name x.age“ x. payendl; 1、# include class A int a,b; public : A( ) a=b=0; A(int aa, int bb) a=aa; b=bb; couta b endl; ; void main( ) A x,y(6,3) ,z(8,10); 6 3 8 102、# include class A int a,b; public : A(int aa=0,int bb=0):a(aa), b(bb) cout“Constructor! “ a+bendl; ; void main( ) A x,y(2,5) ,z(

30、y) ; Constructor!0 Constructor!7 3、 # include class A int *a; public: A(int aa=0) a= new int(aa) ; cout“Constructor! “*aendl ; ; void maln( ) A x2 ; A *p=new A(5); Constructor!0 delete p ; Constructor!0 Constructor!5 4、# include class A int a ; public : A(int aa=0) :a(aa) A() cout“Destructor!”aendl; ;

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

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1