2014年电大2011秋_c++形考答案.doc_第1页
2014年电大2011秋_c++形考答案.doc_第2页
2014年电大2011秋_c++形考答案.doc_第3页
2014年电大2011秋_c++形考答案.doc_第4页
2014年电大2011秋_c++形考答案.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专业好文档一、填空题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+源程序文件编译而成的目标文件的缺省扩展名为_.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;”语句后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的类型分别为_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=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假定一个二维数组的定义为”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所指对象的值为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假定一个二维数组为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 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在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的_构造函数_使其初始化。2当个类对象被撤消时将自动调用该类的_析构函数_。3对基类数据成员的初始化是通过执行派生类构造函数中的_构造函数_来实现的。4对一个类中的数据成员的初始化可以通过构造函数中的_赋值_实现,也可以通过构造函数中的_初始化表_实现。5. 在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先_基类对象_, 后 数对象成员_,最后为_非类成员_。6当撤消一个含有基类和类对象成员的派生类对象时,将首先完成_派生类对象_的析构函数定义体的执行,接着完成_类对象_的析构函数定义体的执行,最后完成_基类_的析构函数定义体的执行。7设px是指向一个类动态对象的指针变量,则执行” delete px;”语句时,将自动调用该类的_析构函数_。8当一个类对象离开它的作用域时,系统将自动调用该类的_析构函数_。9假定一个类对象数组为an,当离开它的作用域时,系统自动调用该类析构函数的次数为_ n_。10假定ab为一个类,则执行” ab a10;”语句时,系统自动调用该类构造函数的次数为10_。11假定用户没有给一个名为ab的类定义构造函数,则系统为其隐含定义的构造函数为 无参构造函数_。12假定用户没有给一个名为ab的类定义析构函数,则系统为其隐含定义的析构函数为_空析构函数_。13若需要把一个函数” void f();” 定义为一个类ab的友元函数,则应在类ab的定义中加入一条语句:_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对类对象成员的初始化是通过执行构造函数中的_赋值语句_完成的。20对于类中定义的成员;其隐含访问权限为_私有_,对于结构中定义的成员,其隐含访问权限为_共有_。21一个类的友元函数或友元类能够通过成员操作符访问该类的_所有成员(数据成员+函数成员)_。22假定要对类ab定义加号操作符重载成员函数,实现两个ab类对象的加法,并返回相加结果,则该成员函数的声明语句为:_ab operator+(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 void sb(char ch) 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! 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(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; for(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; 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= “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 . # include 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; default: 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; int 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;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+=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); coutbcb+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“,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=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 ; weirong 55 640 worker y, *p; weirong 60 630 y=x; p=&x; 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(, t) ; liouting 46 725 x.age=d; x.pay=f; 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(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; ; void main( ) a x(5); a *p=new a(10); delete p ; destructor!10 destructor!5 5 . # include class a int * a; public : a(int x) a= new int(x) ; cout “constructor!”*aendl; a( ) delete a; cout“destructor!”endl; ; void main( ) constructor!9 ax(9), *p; constructor!12 destructor! p= new a(12) ; destructor! delete p ; 6 . # include class a int a; public : a(int aa=0): a(aa) cout“constructor a ! “aendl ; ; class b: public a int b; public ; b(int aa,int bb) :a(aa) ,b(bb) cout“constructor b! “ bendl ; constructor a!2 ; constructor b!3 void main( ) constructor c !4 b x(2,3) ,y(4,5) ; constructor d !5 7 . # include class a int a; public : a(int aa=0) a=aa; a() cout“destructor a!”a endl; ; class b: public a int b; public : b(int aa=0, int bb=0): a(aa) b=bb; b() cout“dntructor b!”bendl; ; dntructor b!7 void main( ) dntructor a!6 b x(5),y(6,7) ; dntructor b!0 dntructor a!58 . # include # include class a int a,b; char op; public : a(int aa, int bb, char ch) a=aa; b=bb; op=ch; int comp() switch(op) case +: return a+b; case -: return a-b; case *: return a*b; case /: if(b!=0) return a/b; else exit(l) ; case %: if(b!=0) returm a%b; else exit(l) ; default, exit(l) ; void seta(int aa, int bb, char ch) a=aa; b=bb; op=ch; ; void main(void) a x(3,5,*); int a=x.comp() ; x.seta(4,9, +); a+=x.comp(); x.seta(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论