自考C++试题及答案(9套合集) 3-4 联系客服

发布时间 : 星期二 文章自考C++试题及答案(9套合集) 3-4更新完毕开始阅读d5c56044f78a6529647d5388

C. 避免数据丢失

D. 防止不同模块之间数据的非法访问

二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案 。错填、不填均无分。

1. 若要使用string类,需要引入的头文件是_string.h__。

2. 在函数前面用_inline__保留字修饰时,则表示该函数表为内联函数。 3. 向量操作方法中___方法返回向量中的第一个对象。

4. C++派生类使用两种基本的面向对象技术:第一种称为性质约束,即对基类的性质加以限制

;第二种称为_性质扩展__,即增加派生类的性质。

5. 重载的运算符保持其原有的_操作数__、优先级和结合性不变。

6. 编译时的多态性通过_重载__函数实现。

7. 预处理语句有三种,分别是宏定义、文件包含和_条件编译__。

8. 构造函数、析构函数和友元函数中,不是该类成员的是_友元函数__。

9. 控制格式输入输出的操作中,函数_setw(int)__是设置域宽的。要求给出函数名和参数类型)。 10. 派生类的成员一般分为两部分,一部分是_从基类继承的成员__,另一部分是自己定义的新成员。 11. C++中ostream的直接基类_ios__。

12. vector的___方法返回向量中的最后一个对象。 13. 执行下列代码

int i=230;

cout <<\程序的输出结果为_i=E6__。

14. 在C++中有两种参数传递方式即值传递和_引用__传递。

15. 使用new为int数组动态分配10个存储空间是_new int [10];__。 16. 面向对象的四个基本特性是多态性、继承性、和封装性_抽象__。 17. 定义虚函数所用的关键字是_virtual__。 18. 执行下列代码

cout<<“oct:”<

19. 在C++中要创建一个文件输入流对象fin,同时该对象打开文件“Test.txt”用于输入,则 正确的声明语句是_ifstream fin(“Test.txt”);__。

20. 如果一个派生类只有一个唯一的基类,则这样的继承关系称为_单继承__。

三、改错题(本大题共5小题,每小题2分,共10分)下面的类定义中有一处错误,请用下 横线标出错误所在行并给出修改意见。 1. class ABC

{int a; public:

ABC(int aa)a(aa){} ABC(int aa):a(aa){} };

2. #include

class T {protected: int p; public:

T(int m){p=m;} };

void main() { T a(10);

cout<

3. #include using namespace std; class Date; class Time {public:

Time(int h,int m,int s) {hour=h,minute=m,sec=s;} void show(Date & d); private:

int hour,minute,sec; };

class Date {public:

Date(int m,int d,int y) {month=m,day=d,year=y;}

friend void Time::show(Date &); private:

int month,day,year; };

void Time::show(Date & d)

{cout<

void main()

{Time t1(9,23,50); Date d1(12,20,2008); t1.show(d1);

4. 输出最小值,有一处错误。

#include class Test {int a,b; int getmin()

{return (a

void setValue(int x1,int x2,int x3) {a=x1;b=x2;c=x3;} int GetMin();

};

int Test::GetMin() {int d=getmin(); return (d=d

void main() {Test t1;

t1.setValue(34,6,2);

cout<

5. 实现数值、字符串的交换。

#include #include using namespace std; template void Swap(T& a,T& b) {T temp;

temp=a,a=b,b=temp; }

void main() {int a=5,b=9;

char s1[]=\[]=\Swap(a,b); Swap(s1,s2);

cout<<\cout<<\}

四、完成程序题(本大题共5小题,每小题4分,共20分) 1. 在下划线处填上缺少的部分。

#include class A {int a,b; public:

A(int i=0,int j=0)_____;//定义构造函数,使参数i和j的默认值为0 {a=i;b=j;}//在函数体中用i初始化a,用j初始化b };

main() {A *p;

p=new A(4,5)_____;//调用带参构造函数生成由p指向的动态对象 //使a和b成员分别被初始化为4和5 }

2. 在下面程序横线处填上适当内容,使程序执行结果为:

S=2 S=5 S=9

#include void sum(int i) {static int s; _s=s+i+2________; cout<<\}

void main (void) {int i;

for (i=0;i<3;i++________) sum(i); }

3. 下面程序运行的结果是:5+10=15。

#include class Test { private: int x,y; public:

Test() {x=y=0;}

void Setxy(int x,int y) {(*this).x=x;(*this).y=y______} void show(){cout<

void main() {Test ptr;

ptr.Setxy(5,10); ptr.show(); }

4. 完成下面类中成员函数的定义。

#include #include class Arr {protected: float *p;

int n;//数组大小(元素个数) public:

Arr(int sz=10) { n=sz;

p=new float[n]; }

~Arr(void) {

_delete p;________ }

int Getn(void) const