C++语言程序设计形成性考核册_第1页
C++语言程序设计形成性考核册_第2页
C++语言程序设计形成性考核册_第3页
C++语言程序设计形成性考核册_第4页
C++语言程序设计形成性考核册_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

C+语言程序设计形成性考核册姓名: 学籍: 学号: C+语言程序设计作业(1)一、 填空题1、C+预言中的每条基本语句以_作为结束符,每条复合语句以_作为结束符。2、用于输出表达式值的标准输出流对象是_,用于从键盘上为变量输入值的标准输入流对象_。3、当不需要函数返回值时,则应把该函数类型定义为_。4、执”cout143+18=143+18endl;”语句后得到的输出结果为 。5、执行”coun”ning”chen”38endl;”语句后得到的输出结果为 。6、在每个C+程序中都必须包含有这样一个函数,该函数的函数名为 。7、C+源程序文件的缺省扩展名为_,由C+源程序文件编译而成的目标文件的缺省扩展名为_由C+目标文件连接而成的可执行文件的缺省扩展名为_。8、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用 或 符号作为分隔符。9、十进制数25表示成符合C+八进制和十六进制数分别为 和 。10、在C+语言中,用转义字符序列 或操纵符 表示输出一个换行符。11、执行”coutchar(b+2)endl;”语句后得到的输出结果为 。12、执行”coutchar(K-3)endl;”语句后得到的输出结果为 。13、已知AZ的ASCII码为6590,当执行”int x=H+5;”语句后x的值为 。14、已知AZ的ASCII码为6590,当执行”char ch=16*5+2;coutchendl;”语句序列后,得到的输出结果为 。15、假定一个枚举型的定义为”enum RAxa,xb,xc,xd;”,则执行”cout”xc=”xcendl;”语句得到的输出结果为 。16、假定一个枚举型的定义为”enum RBab,ac=3,ad,aex=ad;”,则x的值为 。17、char、short和int类型的大小分别为 、 和 。18、float和double类型的大小分别为 和 。19、十进制数128和-3.26的类型分别为 和 。20、若需要定义一个标识符常量,并且使C+能够进行类型检查,则应在定义语句的开始使用保留字 。21、使用const语句定义一个标识符常量时,则必须对它同时进行 。22、执行”int x=45,y=16;contx/y x%yz的相反表达式为 。33、逻辑表达式x5 & xb | b= =5的相反表达式为 。35、若x=15,y=40,则xy和x=y的逻辑值分别为 和 。36、假定x=5,则执行”a=(x? 10:4*2);”语句后a的值为 。37、假定a=5,则条件表达式”a= =0?10:20”的值为 。38、执行”typedef DataType;”语句后,在使用int定义整型变量的地方都可以使用 来定义整型变量。39、设x和y均为bool量,则x & y 为真的条件是 。40、 设x和y均为bool量,则x | y 为假的条件是 。二、写出下列程序运后的输出结果 1#includevoid SB(char ch)switch(ch)case A:case a:coutwell!;break;case B:case b:coutgood!;break;case C:case c:coutpass!;break;default:coutbad!;break;void main()char a1=b,a2=C,a3=f;SB(a1);SB(a2);SB(A);coutendl;2.#include#includedouble SD(int a,int b,char op)double x;switch(op)case +:x=double(a)+b;break;case -:x=double(a)-b;break;case *:x=double(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=1;i6;i+)s+=i*i;couts=sendl;4. #include void main()int s=0;for( int i=1;i+)if(s50)break;if(i%3=0)s+=i;couti,s=i,sendl;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;6.#include void main()int n=10,y=1;while(n-)y+;+y;couty*y=y*yendl;三、写出下列每个函数的功能1#include int SA(int a,int b)if(ab)return 1;else if(a=b) return 0;else return -1;2#include int SC(int a,int b,int c)if(a=b & a=c) return a;if(b=a & b=c) return b;if(c=a & c=b) return c;3int SE(int n)int x;cinx;if(n=1) return x;int m=x;while(-n)cinx;m+=x;return m;4double SF(double x,int n)double p=1,s=1;for(int i=1;i=n;i+)p*=x;s+=p/(i+1);return s;5#include bool SG(int x)int a=int(sqrt(x);int i=2;while(i=a)if(x%i=0) break;i+;if (ix;while(x!=-100)n+;y+=x;cinx;if(n=0) return y;else return y/n;C+语言程序设计作业(2)一、填空题1 1.一个一维数组的定义为“char * a5;”,则该数组所含元素的个数为_,所占存储空间的字节数为_。2 假定一个二维数组的定义为“int a46;”,则该数组所含元素的个数为_,所占存储空间的字节数为_。3 假定一个二维数组的定义为“char a88;”,则该数组所含元素的个数为_,所占存储空间的字节数为_。4 执行“type float ABC10;”语句把ABC定义为具有10个单精度元素的_。5 在函数外定义的变量称为_变量,若没有被初始化则系统隐含对它赋初值_。6 函数中的形参变量的初值由_该函数时获得。7 函数调用时,实参向形参的传送分为_和_两种传送方式。8 变量分为全局和局部两种,_变量没有赋初值时,其值是不确定的。二、给出下列程序运行后的输出结果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+;couti0 i1 i2endl;2#include #includevoid main()char * a5=student,worker,cadre,apple,peasant;char *p1,*p2;p1=p2=a0;for(int i=0;i0) p1=ai;if(strcmp(ai,p2)0) p2=ai;coutp1 p2endl;3#include void main()int a8=36,73,48,14,55,40,32,66;int b1,b2;b1=b2=a0;for(int i=1;ib1)if(b1b2)b2=b1;b1=ai;coutb1 b2endl;4#include void main()char a=aabcdaabacabfgacd;int i1=0,i2=0,i=0;while(ai)if(ai=a)i1+;if(ai=b)i2+;i+;couti1 i2endl;5#include void main()char a=aabcdaabacabfgacd;int i1=0,i2=0,i=0;while(ai)if(ai=a)i1+;if(ai=b)i2+;i+;couti1 i2endl;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;ibj)j+;cj+;for(i=0;i4;i+) coutci ;coutendl;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;8#include void main()int a=10,b=20;couta bendl;a*=4;int b=a+35;couta bendl;couta bendl;三、写出下列每个函数的功能1int WC(int a,int n,int k)int c=0;for(int i=0;i=k) c+;return c;2void WA(int a,int n)for(int i=0;in-1;i+)int k=i;for(int j=i+1;jn;j+)if(ajak) k=j;int x=ai;ai=ak;ak=x;3#include templateint WG(TT a,TT b)if(ab) return 1;else if(a=b) return 0;else return -1;4#include templateType WD(Type a,int n)Type m=a0;for(int i=0;im) m=ai;return m;5templatevoid WE(Type a,Type b,int n)for(int i=0;in;i+)bi=ai*2;C+语言程序设计作业(3)一、填空题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+);”语句后,p所指对象的值为 。5、假定a是一个指针数组,则a+I所指对象的地址比a地址大 字节。6、假定a是一个一维数组,则a i的指针访问方式为 。7、假定a是一个二维数组,则aij的指针访问方式为 。8、假定a是一个一维数组,则ai对应的存储地址(以字节为单位)为 。9、假定一个二维数组为aMN,则aij对应的存储地址(以字节为单位)为 。10、假定一个二维数组为aMN,则ai的地址值(以字节为单位)为 。11、假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大 字节。12、假定a为一个字符数组名,则元素a8的字节地址为 。13、假定a为一个整型数组名,则元素a4的字节地址为 。14、假定一个结构类型的定义为”struct Aint a, b;short c;A * d;”,则该类型的大小为 字节。15、假定一个结构类型的定义为”struct Bint a8;char*b;”,则该类型的大小为 字节。16、假定一个结构类型的定义为”struct Dint a;unionint b;double c;D*d3;”,则该类型的大小为 字节。17、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r 指向这个动态数组,则使用的语句为 。18、假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为 。19、假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 。二、写出下列程序运行后的输出结果1.# include void main()int a8=7,9,11,13,3,8,15,17;int *p=a;for(int i=0;i8;i+)coutsetw(5)*p+;if (i+1)%4=0) coutendl;2.# include 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# include void main()int a8=4,8,12,16,20,24,28,32;int *p=a;docout*p ;p+=3;while(pa+8);coutendl;4.# include void main()int x=20,y=40,*p;p=&x;cout*p ;*p=x+10;p=&y;cout*pendl;*p=y+20;coutx yendl;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 c b+2*cendl;6# include void LC(int a,int b)int x=a;a=b;b=x;couta bendl;void main()int x=15,y=36;LC(x,y);coutx y endl;7# include void LF(int &x,int y)x=x+y;y=x+y;coutx=x,y=yendl;void main()int x=5,y=8;coutx=x,y=yendl;LF(x,y);coutx=x,y=yendl;8;8.# include void LG(int * &a,int &m)a=new intm;int *p=a;for(int i=0;im;i+)*p+=2*i+1;void main()int *p,n=5;LG(p,n);for(int i=0;in;i+)coutpi ;coutendl;delete p;9# include void LH(int * a,int n)int *p=a+n-1;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 ;coutendl;LH(d,5);for(i=0;i5;i+)coutsetw(5)di ;coutendl;delete d;10# include void LH(int * a,int n)int *p=a+n-1;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 ;coutendl;LH(d,5);for(i=0;i5;i+)coutsetw(5)di ;coutendl;delete d;11.# include # include struct Workerchar name15;/姓名int age;/年龄float pay;/工资;void main()Worker x;char *t=liouting;int d=46;float f=725;strcpy(,t);x.age=d;x.pay=f; x.age x.payendl;三、写出下列每个函数的功能1# include void LI(int n)int *a=new intn,*p=a+n;for(int i=0;iai;for(i=n-1;i=0;i-) cout*(-p) ;coutn;delete a;2# include void LK(int a,int n,int *&b,int &m)float s=0;int i;for(i=0;in;i+)s+=ai;s/=n;m=0;for(i=0;i=s) m+;b=new intm;int *p=b;for(i=0;i=s) *p+=ai;void main()int x=1,2,3,4,5,6,7,8,9,0,*y,z;LK(x,10,y,z);for(int i=0;i10;i+) coutxi ;coutendl;coutz endl;for(i=0;iz;i+) coutyi ;coutendl;3# include /struct Worker/char name15;/姓名/int age;/年龄/float pay;/工资/;istream &operator(istream &istr,Worker &x)cout请输入一个职工记录:姓名、年龄、工资x.agex.pay;return istr;void main()Worker a;cina;a.agea.payendl;4/# include /struct StrNode/char name15;/字符串/StrNode *next;/指针域/;void QB(StrNode *& f,int n)if (n=0)f=NULL;return;f=new StrNode;cinf-name;StrNode * p=f;while(-n)p=p-next=new StrNode;cinp-name;p-next=NULL;void main()StrNode *x;QB(x,5);/for(int i=0;i5;i+)while (x)coutnamenext;5/struct StrNodechar name15;StrNode *next;void QC(StrNode * f)while (f)coutnamenext;void main()StrNode * f;int n=5;f=new StrNode;cinf-name;StrNode * p=f;while(-n)p=p-next=new StrNode;cinp-name;p-next=NULL;QC(f);C语言程序设计作业(4)一、填空题1、在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的 使其初始化。2、当一个类对象被撤消时将自动调用该类的 。3、对基类数据成员的初始化是通过执行派生类构造函数中的 来实现的。4、对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先 ,后 ,最后为 。6、当撤消一个含有基类和类对象成员的派生类对象时,将首先完成 的析构函数定义体的执行,接着完成 的析构函数定义体的执行,最后完成 的析构函数定义体的执行。7、设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的 。8、当一个类对象离开它的作用域时,系统将自动调用该类的 。9、假定一个类对象数组为AN,当离开它的作用域时,系统自动调用该类析构函数的次数为 。10、假定AB为一个类,则执行”AB a10;”语句时,系统自动调用该类构造函数的次数为 。11、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为 。12、假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为 。13、若需要把一个函数”void F();”定义为一个类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、若要在程序文件中进行标准输入输出操作,则必须在开始的include命令中使用 头文件。26、若要在程序文件中进行文件输入输出操作,则必须在开始的include命令中使用 头文件。27、当从字符文件中读取回车和换行两个字符时,被系统看作为一个 。28、当使用ifsream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ,当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 。29、当需要使用istrstream流类定义一个流对象并联系一个字符串时,应在文件开始使用include命令,使之包含 文件。二、写出下列程序运行后的输出结果1#includeclass Aint a,b;public:A() a=b=0;A(int aa, int bb)a=aa;b=bb;coutabendl;void main()A x, y(6,3), z(8,10);2#includeclass Aint a,b;public:A(int aa=0, int bb=0):a(aa),b(bb)coutConstructor!a+bendl;void main()A x, y(2,5), z(y);3#includeclass Aint *a;public:A(int aa=0)a=new int(aa);coutConstructor!*aendl;void main()A x2;A *p=new A(5);delete p;4#includeclass Aint a;public:A(int aa=0):a(aa)A()coutDestructor!aendl;void main()A x(5);A *p=new A(10);delete p;5#includeclass Aint *a;public:A(int x)a=new int(x);coutConstructor!*aendl;A()delete a;coutDestructor!endl;void main()A x(9),*p;p=new A(12);delete p;6#includeclass Aint a;public:A(int aa=0):a(aa)coutConstructor A!aendl;class B:public Aint b;public:B(int aa,int bb):A(aa),b(bb)coutConstructor B!bendl;void main()B x(2,3),y(4,5);7#includeclass Aint a;public:A(int aa=0)a=aa;A()coutDestructor A!aendl;class B:public Aint b;public:B(int aa=0,int bb=0):A(aa)b=bb;B()coutDestructor B!bendl;void main()B x(5),y(6,7);8 #include#includeclass Aint 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(1);case%:if(b!=0)return a%b;else exit(1); default:exit(1);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.Set

温馨提示

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

评论

0/150

提交评论