国开电大C++语言程序设计形成性考核册

微信小程序
资源下载
下载价格10

C++语言程序设计

形成性考核册

姓名:

学籍:

学号:

C++语言程序设计作业(1)

  1. 填空题

1、C++预言中的每条基本语句以__________作为结束符,每条复合语句以_________作为结束符。

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

3、当不需要函数返回值时,则应把该函数类型定义为_____。

4、执”cout<<143<<’+’<<18<<’=’<<143+18<<endl;”语句后得到的输出结果为 。

5、执行”coun<<”ning”<<”chen”<<38<<endl;”语句后得到的输出结果为 。

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

7、C++源程序文件的缺省扩展名为______,由C++源程序文件编译而成的目标文件的缺省扩展名为______由C++目标文件连接而成的可执行文件的缺省扩展名为______。

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

9、十进制数25表示成符合C++八进制和十六进制数分别为 和 。

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

11、执行”cout<<char(’b’+2)<<endl;”语句后得到的输出结果为 。

12、执行”cout<<char(’K’-3)<<endl;”语句后得到的输出结果为 。

13、已知’A’~’Z’的ASCII码为65~90,当执行”int x=’H’+5;”语句后x的值为 。

14、已知’A’~’Z’的ASCII码为65~90,当执行”char ch=16*5+2;cout<<ch<<endl;”语句序列后,得到的输出结果为 。

15、假定一个枚举型的定义为”enum RA{xa,xb,xc,xd};”,则执行”cout<<”xc=”<<xc<<endl;”语句得到的输出结果为 。

16、假定一个枚举型的定义为”enum RB{ab,ac=3,ad,ae}x=ad;”,则x的值为 。

17、char、short和int类型的大小分别为 、 和 。

18、float和double类型的大小分别为 和 。

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

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

21、使用const语句定义一个标识符常量时,则必须对它同时进行 。

22、执行”int x=45,y=16;cont<<x/y<<’ ‘<<x%y<<endl;”语句序列后得到的输出结果为

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

24、算术表达式对应的C++表达式为 。

25、算术表达式+4b-1对应的C++表达式为 。

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

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

28、表达式a=a+1表示成增量表达式为 。

29、增量表达式++y表示成赋值表达式为 。

30、关系表达式(x= =0)的等价表达式为 。

31、关系表达式(x!=0)的等价表达式为 。

32、关系表达式x+y>z的相反表达式为 。

33、逻辑表达式x>5 && x<10的相反表达式为 。

34、逻辑表达式a>b || b= =5的相反表达式为 。

35、若x=15,y=40,则x>y和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 为真的条件是 。

  1. 设x和y均为bool量,则x || y 为假的条件是 。

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

1.#include<iostream.h>

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;

}

}

void main(){

char a1=’b’,a2=’C’,a3=’f’;

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

cout<<endl;

}

2.#include<iostream.h>

#include<stdlib.h>

double 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;

cout<<SD(x,y,’-‘)<<‘ ‘;

cout<<SD(x,y,’*’)<<‘ ‘;

cout<<SD(x+y,y-2,’/’)<<endl;

}

3.#include<iostream.h>

void main(){

int s=0;

for(int i=1;i<6;i++)

s+=i*i;

cout<<“s=”<<s<<endl;

}

4. #include <iostream.h>

void main(){

int s=0;

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

if(s>50)break;

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

}

cout<<“i,s=”<<i<<“,”<<s<<endl;

}

5.#include <iostream.h>

void main(){

int s1=0,s2=0;

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

if(i%2)s1+=i;

else s2+=i;

cout<<s1<<‘ ‘<<s2<<endl;

}

6.#include <iostream.h>

void main(){

int n=10,y=1;

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

cout<<“y*y=”<<y*y<<endl;

}

三、写出下列每个函数的功能

1.#include <iostream.h>

int SA(int a,int b){

if(a>b)return 1;

else

if(a==b) return 0;

else return -1;

}

2.#include <iostream.h>

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;

}

3.int SE(int n){

int x;cin>>x;if(n==1) return x;

int m=x;

while(–n){

cin>>x;

m+=x;

}

return m;

}

4.double 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 <math.h>

bool SG(int x){

int a=int(sqrt(x));

int i=2;

while(i<=a){

if(x%i==0) break;

i++;

}

if (i<=a) return 0;

else return 1;

}

6.float FH(){

float x,y=0,n=0;

cin>>x;

while(x!=-100){

n++;y+=x;

cin>>x;

}

if(n==0) return y;else return y/n;

}

C++语言程序设计作业(2)

一、填空题

  1. 1.一个一维数组的定义为“char * a[5];”,则该数组所含元素的个数为_____,所占存储空间的字节数为______。
  2. 假定一个二维数组的定义为“int a[4][6];”,则该数组所含元素的个数为_____,所占存储空间的字节数为______。
  3. 假定一个二维数组的定义为“char a[8][8];”,则该数组所含元素的个数为_____,所占存储空间的字节数为______。
  4. 执行“type float ABC[10];”语句把ABC定义为具有10个单精度元素的______。
  5. 在函数外定义的变量称为______变量,若没有被初始化则系统隐含对它赋初值_____。
  6. 函数中的形参变量的初值由_____该函数时获得。
  7. 函数调用时,实参向形参的传送分为____和____两种传送方式。
  8. 变量分为全局和局部两种,_______变量没有赋初值时,其值是不确定的。

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

1.#include <iostream.h>

void main(){

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

int i0=0,i1=0,i2=0;

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

switch(a[i]%3){

case 0:i0++;break;

case 1:i1++;break;

case 2:i2++;

}

cout<<i0<<‘ ‘<<i1<<‘ ‘<<i2<<endl;

}

2.

#include <iostream.h>

#include<string.h>

void main(){

char * a[5]={“student”,”worker”,”cadre”,”apple”,”peasant”};

char *p1,*p2;

p1=p2=a[0];

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

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

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

}

cout<<p1<<‘ ‘<<p2<<endl;

}

3.

#include <iostream.h>

void main(){

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

int b1,b2;

b1=b2=a[0];

for(int i=1;i<8;i++)

if(a[i]>b1){

if(b1>b2)b2=b1;

b1=a[i];

}

cout<<b1<<‘ ‘<<b2<<endl;

}

4.

#include <iostream.h>

void main(){

char a[]=”aabcdaabacabfgacd”;

int i1=0,i2=0,i=0;

while(a[i]){

if(a[i]==’a’)i1++;

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

i++;

}

cout<<i1<<‘ ‘<<i2<<endl;

}

5.

#include <iostream.h>

void main(){

char a[]=”aabcdaabacabfgacd”;

int i1=0,i2=0,i=0;

while(a[i]){

if(a[i]==’a’)i1++;

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

i++;

}

cout<<i1<<‘ ‘<<i2<<endl;

}

6.

#include <iostream.h>

void main(){

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

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

int c[4]={0};

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

int j=0;

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

c[j]++;

}

for(i=0;i<4;i++) cout<<c[i]<<‘ ‘;

cout<<endl;

}

7.

#include <iostream.h>

void main(){

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

int m=a[0][0];

int ii=0,jj=0;

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

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

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

cout<<ii<<‘ ‘<<jj<<‘ ‘<<a[ii][jj]<<endl;

}

8.

#include <iostream.h>

void main(){

int a=10,b=20;

cout<<a<<‘ ‘<<b<<endl;

{a*=4;

int b=a+35;

cout<<a<<‘ ‘<<b<<endl;

}

cout<<a<<‘ ‘<<b<<endl;

}

三、写出下列每个函数的功能

1.

int WC(int a[],int n,int k){

int c=0;

for(int i=0;i<n;i++)

if(a[i]>=k) c++;

return c;

}

2.

void WA(int a[],int n){

for(int i=0;i<n-1;i++){

int k=i;

for(int j=i+1;j<n;j++)

if(a[j]<a[k]) k=j;

int x=a[i];a[i]=a[k];a[k]=x;

}

}

3.

#include <iostream.h>

template<class TT>

int WG(TT a,TT b){

if(a>b) return 1;

else

if(a==b) return 0;

else return -1;

}

4.

#include <iostream.h>

template<class Type>

Type WD(Type a[],int n){

Type m=a[0];

for(int i=0;i<n;i++)

if (a[i]>m) m=a[i];

return m;

}

5.

template<class Type>

void WE(Type a[],Type b[],int n){

for(int i=0;i<n;i++)

b[i]=a[i]*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是一个二维数组,则a[i][j]的指针访问方式为 。

8、假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为 。

9、假定一个二维数组为a[M][N],则a[i][j]对应的存储地址(以字节为单位)为 。

10、假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为 。

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

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

13、假定a为一个整型数组名,则元素a[4]的字节地址为 。

14、假定一个结构类型的定义为”struct A{int a, b;short c;A * d;};”,则该类型的大小为 字节。

15、假定一个结构类型的定义为”struct B{int a[8];char*b;};”,则该类型的大小为 字节。

16、假定一个结构类型的定义为”struct D{int a;union{int b;double c;};D*d[3];};”,则该类型的大小为 字节。

17、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r 指向这个动态数组,则使用的语句为 。

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

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

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

1.

# include <iomanip.h>

void main(){

int a[8]={7,9,11,13,3,8,15,17};

int *p=a;

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

cout<<setw(5)<<*p++;

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

}

}

2.

# include <iomanip.h>

void main(){

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

int *p=a;

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

cout<<setw(5)<<*p++;

cout<<endl;

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

cout<<setw(5)<<*–p;

cout<<endl;

}

3.

# include <iomanip.h>

void main(){

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

int *p=a;

do{

cout<<*p<<‘ ‘;

p+=3;

}while(p<a+8);

cout<<endl;

}

4.

# include <iomanip.h>

void main(){

int x=20,y=40,*p;

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

*p=x+10;

p=&y;cout<<*p<<endl;

*p=y+20;cout<<x<<‘ ‘<<y<<endl;

}

5.

# include <iomanip.h>

int LA(int *a,int n){

int s=0;

for(int i=0;i<n;i++)

s+=a[i];

return s;

}

void main(){

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

int b=LA(a,5);

int c=LA(a+3,2);

cout<<b<<‘ ‘<<c<<‘ ‘<<b+2*c<<endl;

}

6.

# include <iomanip.h>

void LC(int a,int b){

int x=a;

a=b;b=x;

cout<<a<<‘ ‘<<b<<endl;

}

void main(){

int x=15,y=36;

LC(x,y);

cout<<x<<‘ ‘<<y<<‘ ‘<<endl;

}

7.

# include <iomanip.h>

void LF(int &x,int y){

x=x+y;

y=x+y;

cout<<“x=”<<x<<“,y=”<<y<<endl;

}

void main(){

int x=5,y=8;

cout<<“x=”<<x<<“,y=”<<y<<endl;

LF(x,y);

cout<<“x=”<<x<<“,y=”<<y<<endl;

}

8;

8.

# include <iomanip.h>

void LG(int * &a,int &m){

a=new int[m];

int *p=a;

for(int i=0;i<m;i++)

*p++=2*i+1;

}

void main(){

int *p,n=5;

LG(p,n);

for(int i=0;i<n;i++)

cout<<p[i]<<‘ ‘;

cout<<endl;

delete []p;

}

9.

# include <iomanip.h>

void LH(int * a,int n){

int *p=a+n-1;

while(a<p){

int x=*a;

*a=*p;

*p=x;

a++;p–;

}

}

void main(){

int *d=new int[5];

int i;

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

d[i]=2*i+3;

cout<<setw(5)<<d[i]<<‘ ‘;

}

cout<<endl;

LH(d,5);

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

cout<<setw(5)<<d[i]<<‘ ‘;

}

cout<<endl;

delete []d;

}

10.

# include <iomanip.h>

void LH(int * a,int n){

int *p=a+n-1;

while(a<p){

int x=*a;

*a=*p;

*p=x;

a++;p–;

}

}

void main(){

int *d=new int[5];

int i;

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

d[i]=2*i+3;

cout<<setw(5)<<d[i]<<‘ ‘;

}

cout<<endl;

LH(d,5);

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

cout<<setw(5)<<d[i]<<‘ ‘;

}

cout<<endl;

delete []d;

}

11.

# include <iostream.h>

# include <string.h>

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);

x.age=d;x.pay=f;

cout<<x.name<<‘ ‘<<x.age<<‘ ‘<<x.pay<<endl;

}

三、写出下列每个函数的功能

1.

# include <iostream.h>

void LI(int n){

int *a=new int[n],*p=a+n;

for(int i=0;i<n;i++) cin>>a[i];

for(i=n-1;i>=0;i–) cout<<*(–p)<<‘ ‘;

cout<<‘\n’;

delete []a;

}

2.

# include <iostream.h>

void LK(int a[],int n,int *&b,int &m){

float s=0;int i;

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

s+=a[i];

s/=n;

m=0;

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

if(a[i]>=s) m++;

b=new int[m];

int *p=b;

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

if(a[i]>=s) *p++=a[i];

}

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;i<10;i++) cout<<x[i]<<‘ ‘;

cout<<endl;

cout<<z<<‘ ‘<<endl;

for(i=0;i<z;i++) cout<<y[i]<<‘ ‘;

cout<<endl;

}

3.

# include <iostream.h>

//struct Worker{

//char name[15];//姓名

//int age;//年龄

//float pay;//工资

//};

istream &operator>>(istream &istr,Worker &x){

cout<<“请输入一个职工记录:姓名、年龄、工资”<<endl;

istr>>x.name>>x.age>>x.pay;

return istr;

}

void main(){

Worker a;

cin>>a;

cout<<a.name<<a.age<<a.pay<<endl;

}

4.

//# include <iostream.h>

//struct StrNode{

// char name[15];//字符串

// StrNode *next;//指针域

//};

void QB(StrNode *& f,int n){

if (n==0){f=NULL;return;}

f=new StrNode;

cin>>f->name;

StrNode * p=f;

while(–n){

p=p->next=new StrNode;

cin>>p->name;

}

p->next=NULL;

}

void main(){

StrNode *x;

QB(x,5);

//for(int i=0;i<5;i++){

while (x){

cout<<x->name<<‘ ‘;

x=x->next;

}

}

5.

//struct StrNode{ char name[15];StrNode *next;};

void QC(StrNode * f){

while (f){

cout<<f->name<<‘ ‘;

f=f->next;

}

}

void main(){

StrNode * f;int n=5;

f=new StrNode;

cin>>f->name;

StrNode * p=f;

while(–n){

p=p->next=new StrNode;

cin>>p->name;

}

p->next=NULL;

QC(f);

}

C++语言程序设计作业(4)

一、填空题

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

2、当一个类对象被撤消时将自动调用该类的 。

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

4、对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。

5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先 ,后

,最后为 。

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

7、设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的

8、当一个类对象离开它的作用域时,系统将自动调用该类的 。

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

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

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.#include<iostream.h>

class A{

int a,b;

public:

A() {a=b=0;}

A(int aa, int bb){

a=aa;b=bb;

cout<<a<<”<<b<<endl;

}

};

void main(){

A x, y(6,3), z(8,10);

}

2.

#include<iostream.h>

class A{

int a,b;

public:

A(int aa=0, int bb=0):a(aa),b(bb){

cout<<“Constructor!”<<a+b<<endl;

}

};

void main(){

A x, y(2,5), z(y);

}

3.

#include<iostream.h>

class A{

int *a;

public:

A(int aa=0){

a=new int(aa);

cout<<“Constructor!”<<*a<<endl;

}

};

void main(){

A x[2];

A *p=new A(5);

delete p;

}

4.

#include<iostream.h>

class A{

int a;

public:

A(int aa=0):a(aa){}

~A(){cout<<“Destructor!”<<a<<endl;}

};

void main(){

A x(5);

A *p=new A(10);

delete p;

}

5.

#include<iostream.h>

class A{

int *a;

public:

A(int x){

a=new int(x);

cout<<“Constructor!”<<*a<<endl;

}

~A(){delete a;cout<<“Destructor!”<<endl;}

};

void main(){

A x(9),*p;

p=new A(12);

delete p;

}

6.

#include<iostream.h>

class A{

int a;

public:

A(int aa=0):a(aa){

cout<<“Constructor A!”<<a<<endl;

}

};

class B:public A{

int b;

public:

B(int aa,int bb):A(aa),b(bb){

cout<<“Constructor B!”<<b<<endl;

}

};

void main(){

B x(2,3),y(4,5);

}

7.

#include<iostream.h>

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<<“Destructor B!”<<b<<endl;}

};

void main(){

B x(5),y(6,7);

}

8.

#include<iostream.h>

#include<stdlib.h>

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(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.SetA(13,8,’%’);

a+=x.Comp();

cout<<“a=”<<a<<endl;

}

9.

#include<iostream.h>

class B{

int a,b;

public:

B(){a=b=0;}

B(int aa,int bb){a=aa;b=bb;}

B operator+(B&x){

B r;

r.a=a+x.a;

r.b=b+x.b;

return r;

}

B operator-(B&x){

B r;

r.a=a-x.a;

r.b=b-x.b;

return r;

}

void OutB(){

cout<<a<<‘ ‘<<b<<endl;

}

};

void main(){

B x(6,5),y(13,3),z1,z2;

z1=x+y;z2=x-y;

z1.OutB();z2.OutB();

}

10.

#include<iostream.h>

template<class TT>

class FF{

TT a1,a2,a3;

public:

FF(TT b1,TT b2,TT b3){

a1=b1;a2=b2;a3=b3;

}

TT Sum(){return a1+a2+a3;}

};

void main(){

FF<int>x(8,3,4),y(5,9,11);

cout<<x.Sum()<<‘ ‘<<y.Sum()<<endl;

}

三、写出下列每个函数的功能

1. #include <iomanip.h>

#include <fstream.h>

#include <string.h>

void JA(char *fname)

{

ofstream fout(fname);

char a[20];

cin>>a;

while(strcmp(a,”end”)!=0){

fout<<a<<endl;

cin>>a;

}

fout.close();

}

void JB(char *fname)

{

ifstream fin(fname);

char a[20];

int i=0;

while(fin>>a){

cout<<a<<endl;

i++;

}

fin.close();

cout<<“i=”<<i<<endl;

}

void main(){

JA(“c:\gm.dat”);

JB(“c:\gm.dat”);

}

2.

#include <iomanip.h>

#include <fstream.h>

void JB(char *fname)

{

ifstream fin(fname);

char a[20];

int i=0;

while(fin>>a){

cout<<a<<endl;

i++;

}

fin.close();

cout<<“i=”<<i<<endl;

}

3.

#include <iomanip.h>

#include <fstream.h>

void JC(char *fname,int n)

{

ofstream fout(fname,ios::out|ios::binary);

int x;

for(int i=0;i<n;i++){

cin>>x;

fout.write((char *)&x,sizeof(x));

}

fout.close();

}

void JD(char * fname){

ifstream fin(fname,ios::in|ios::nocreate|ios::binary);

int x,s=0,n=0;

while(fin.read((char *)&x,sizeof(x))){

s+=x;n++;

}

cout<<n<<‘ ‘<<s<<‘ ‘<<float(s)/n<<endl;

fin.close;

}

void main(){

JC(“c:\gm.bat”,5);

JD(“c:\gm.bat”);

}

4.

#include <iomanip.h>

#include <fstream.h>

void JD(char * fname){

ifstream fin(fname,ios::in|ios::nocreate|ios::binary);

int x,s=0,n=0;

while(fin.read((char *)&x,sizeof(x))){

s+=x;n++;

}

cout<<n<<‘ ‘<<s<<‘ ‘<<float(s)/n<<endl;

fin.close;

}

 

点点赞赏,手留余香 给TA打赏

AI创作

评论0

请先

形成性考核册手抄本购买形成性考核册手抄本购买了解详情
国开电大农村环境保护形成性考核册答案
国开电大农村环境保护形成性考核册答案
刚刚 有人购买 去瞅瞅看
国开电大乡镇行政管理形成性考核册1-4答案
国开电大乡镇行政管理形成性考核册1-4答案
7分钟前 有人购买 去瞅瞅看
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性

站点公告

课程作业辅导,有需要加下方微信

显示验证码

社交账号快速登录