江西电大成考专业考试复习(C++程序设计二)
时间:2013年06月06日 10时29分作者:江西成考网
1. #include<iostream.h>
int m[3][3]={ {1}, {2}, {3} }, n[3][3]={ 1, 2, 3 };
void main(void) { cout<<m[1][0]+n[0][0]<<’\n’<<m[0][1]+n[1][0]<<’\n’; }
程序的输出第一行是: 3 ,第二行是: 0 。
2. #include<iostream.h>
int f(char *s)
{ char *p=s;
while(*p) p++;
return p - s;
}
void main(void) { cout<<f(“ABCDEF”); }
程序的输出是: 6 ,函数f的功能是: 求字符串的长度 。
3. #include<iostream.h>
void f(int *s)
{ static int j;
do{ s[j]+=s[j+1]; } while(++j<2);
}
void main(void)
{ int k, a[10]={1, 2, 3, 4, 5};
for(f(a),k=0; k<5; k++) cout<<a[k]; cout<<endl;
for(f(a),k=0; k<5; k++) cout<<a[k]; cout<<endl;
}
程序输出的第一行是: 35345 ,程序输出的第二行是: 35745 。
4. # inelude<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;
}
输出结果:
x=5,y=8
x=13,y=21
x=13,y=8
1.#include<iostream.h>
int k=1;
void f(int m)
{ m+=k; k+=m;
{ char k=’B’; cout<< k - ‘A’ <<’\n’; }
cout<<m<<’,’<<k<<’\n’;
}
void main(void)
{ int i=4;
f(i); cout<<i<<’,’<<k<<’\n’;
}
程序的输出第一行是: 1 ,第二行是: 5,6 ,第三行是: 4,6 。
2.#include<iostream.h>
class A {
protected:
int x;
public:
int& Access(){ return x; }
};
class B {
protected:
int x;
public:
int& Access(){ return x; }
};
class C:public A,public B {
int y;
public:
C(int a,int b,int c)
{ A::x=a; B::x=b; y=c; }
int& Accessy(){ return y; }
};
class D:public C{
int z;
public:
D(int a,int b,int c,int d):C(a,b,c){ z=d; }
int& Accessz(){ return z; }
};
void main()
{ D d(35,100,300,500);
d.A::Access()+=20; d.B::Access()+=d.B::Access();
cout<<d.A::Access()<<','<<d.B::Access()<<'\n';
cout<<d.Accessy()<<','<<d.Accessz()<<'\n';
}
程序的输出第一行是: 55,200 ,第二行是: 300,500 。
3.#include<iostream.h>
class Shape {
public:
Shape() { }
virtual int Area()=0;
};
class Circle:public Shape {
int r;
public:
Circle(int c){ r=c; }
int Area() { return int( 3.1415*r*r); }
};
class Rectangle:public Shape {
int h,w;
public:
Rectangle(int c, int d) { h=c; w=d; }
int Area() { return h*w; }
};
void fun(Shape &s) { cout<<s.Area()<<endl; }
void main()
{ Circle c(4); fun(c);
Rectangle r(10,2); fun(r);
}
程序的输出第一行是: 50 ,第二行是: 20 。
4. #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]={5,2,8,6,4};
int b=LA(a,5);
cout<<”b=”<<b<<endl;
}
运行结果: b=25
------分隔线----------------------------