C++程序设计语言 ( 第3次 )解析.doc
文本预览下载声明
第3次作业一、填空题(本大题共20分,共 5 小题,每小题 4 分)1. 假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为 ______ .2.
类型兼容原则指的是:任何在需要 对象的地方,都可以用 的对象去替代。
3.
。
4.
以下程序的执行结果是 。
#include iostream
using namespace std;
class Base{
public:
Base(){cout”1”;}
~Base(){cout”2”;}
};
class Derived : public Base{
public:
Derived(){cout”3”;}
~Derived(){cout”4”;}
};
void main(){
Derived d;
}
5.
以下程序的执行结果是 。
#include iostream
using namespace std;
class A{
int x;
public:
A(int x){this-x=x;}
A operator--(){x--;return *this;}
A operator--int){A a(x-=2);return a;}
void show(){ cout x;}
};
void main(){
A a(3),b(3);
(a--).show();
(--b).show();
}
二、程序阅读题(本大题共40分,共 5 小题,每小题 8 分)1. 写出下面程序运行结果。#include iostream.hvoid rev(int a[],int n){?int t;?for(int i=0,j=n-1;ij;i++,j--)??t=a[i],a[i]=a[j],a[j]=t;}int main(){?int b[]={1,2,3,4,5,6,7,8,9};?rev(b,9);?for(int i=0;i9;i++)??coutb[i]? ;?coutendl;?return 0;}2.
#include iostream
using namespace std;
int main()
{
int i,j,m=3;
for(i=0;im;i+=2)
for(j=m-1;j=0;j--)
couti+j(char)(j?H:$);
coutendl;
?
return 0;
}
3.
#include iostream
#include cstring
using namespace std;
int count(char *s,char *t);
int main()
{
char s1[200]=ab1234cdabcdabcABCDAGBCDdabcd;
char s2[100]=bc;
coutcount=count(s1,s2)endl;
?
return 0;
}
int count(char *s,char *t)
{
int i=0,c=0;
while(*(s+i))
{
if(strncmp(s+i,t,strlen(t))==0)
c++;
i++;
}
return c;
}
4.
#include iostream
using namespace std;
int avere(int x,int y,int z);
double aver(double x,double y,double z);
int main()
{
int ai=1,bi=2,ci=3;
double ad=1.5,bd=5.5,cd=7.5;
coutai+bi+ci=aver(ai,bi,ci)endl;
coutad+bd+cd=aver(ad,bd,cd)endl;
?
return 0;
}
int aver(int x,int y,int z)
{
return x+y+z;
}
double aver(double x,double y,double z)
{
return x+y+z;
}
5.
#include iostream
using namespace std;
int a,b,c,d;
int main( )
{
void p(int a,int b);
couta,b,c,dendl;
p(a,b);
couta,b,c,dendl;
return 0;
}
void p(int a,int b)
{
s
显示全部