VC++期末期末试题

更新时间:2023-09-12 00:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

: 学号 :姓名题 答 要 不 内 线 订 级 装/班业 专 级年黑龙江XXX学院20 11 ——20 12 学年第 二 学期

A. public B. private C. protected D. friend

《C++程序设计》期末试题( A 卷) 9. 如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为______ 适用专业 11级

A. void print() const; B. const void print(); C. void const print(); D. void print(const);

题号 一 二 三 四 五 六 七 八 总分 阅卷人 10. 下列关于构造函数的论述中,不正确的是_______

分 数 A. 构造函数的函数名与类名相同 B. 构造函数可以设置默认参数 C. 构造函数的返回类型缺省为int型 D. 构造函数可以重载 一、第一题 选择(每题2分,共40分)

得分 11. 在程序代码:A::A(int a, int *b) { this->x = a; this->y = b; }中,this的类型是______ 1. ______不是属于面向对象程序设计的特性

A. int B. int * C. A D. A * A. 抽象性 B. 数据相关性 C. 多态性 D. 继承性

12. 内存泄漏是指_______

2. 将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的__ ____ A. 内存中的数据出现丢失 B.试图释放一个已经释放了的动态分配的堆内存 A. 类 B. 虚函数 C. 运算符重载 D. 模板 C. 函数中局部变量所占的栈内存没有及时回收 D. 动态分配的堆内程序退出后始终被占用

3. C++与C语言最根本的不同之处在于_______

13. 从程序片断:student zhangsan(\张三\可判断id A. 使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用 是一个________

A. 私有成员数据 B. 私有成员函数 C. 公有成员数据 D. 公有成员函数 4. 动态内存分配的主要目的是__ _____

A. 使程序按动态联编方式运行 B. 正确合理的使用内存

14. 友元函数_______

C. 提高程序的运行速度 D. 提高程序的可维护性

A. 可以被声明为const B. 没有this指针

C. 可以用类名或对象名来调用 D. 只能用对象名来调用

5. 在C++函数的形参前加const关键字,是为了提高函数的_______

A. 数据封装性 B. 可理解性 C. 可维护性 D. 可重用性 15. 若一个类的成员函数前用static关键字修饰,则该成员函数________

A. 可以被声明为const B. 没有this指针 6. 函数重载的目的是________

C. 可以访问该类的所有成员 D. 只能用对象名来调用

A. 实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间

16. C++是用_______实现接口重用的

7. 从程序片断:char name[] = \可判断函数course的调用采用的是 A. 内联函数 B. 虚函数 C. 重载函数 D. 模板函数 _______

A. 传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D. 传址调用 17. 公有继承的派生类对象可以访问其基类的________

A. 公有成员 B. 公有成员及受保护成员 C. 受保护成员 D. 私有成员 8. 用来说明类中公有成员的关键字是________

共 页,第 1 页 学生答题注意:勿超黑线两端;注意字迹工整。 共 页,第 2 页

18. 设置虚基类的目的是________

A. 简化程序 B. 使程序按动态联编方式运行 C. 提高程序运行效率 D. 消除二义性

19. 下列关于纯虚函数和抽象类的描述中,不正确的是_______

A. 纯虚函数是一个没有具体实现的虚函数 B. 抽象类是包括纯虚函数的类

C. 抽象类只作为基类,其纯虚函数的实现在派生类中给出D. 可以定义一个抽象类的对象

20. 关于运算符重载的不正确的描述是________

A. 运算符重载函数是友元函数 B. 体现了程序设计的多态性 C. 增加新的运算符 D. 使运算符能对对象操作

二、第二题 填空(每题10分,共20分) 1) #include int &func(int &num) {

num++; return num; }

void main() {

int n1,n2=5; n1=func(n2);

cout<

上面C++程序运行结果是_______。

2) #include #include void main() {

cout.fill('*'); cout.width(10); cout<<\

得分 cout.width(8);

cout<<\ cout.width(4);

cout<<\ }

程序运行的结果是_______。

三、第三题 简答(每题5分,共20分)

1、类的成员一般地分成为哪两部分?这两部分有何区别?

2、如何对对象进行初始化?

3、什么是构造函数?构造函数有哪些特点?

4、如何定义一个常量?

共 页,第 3 页 学生答题注意:勿超黑线两端;注意字迹工整。 共 页,第 4 页

得分

四、 编程题(每题10分,共20分) 1.编程输出1+2+3+……+100的值。

得分 2.从文件TEST中读出字符并写入TEST1里,要求均附加错误检查。

共 页,第 5 页 学生答题注意:勿超黑线两端;注意字迹工整。 共 页,第 6 页

黑龙江信息职业技术学院20 11 ——20 12 学年第 二 学期 《C++程序设计》期末试题( A 卷)参考答案 一、 第一题 选择(每题2分,共40分) 1~5:BDABC 6~10:BDAAC 11~15:ACDBB 16~20:CADDA 3、什么是构造函数?构造函数有哪些特点? 答: 构造函数是类的特殊成员函数,在创建对象时自动调用,一般常用于对象初始化。 构造函数特点:函数名与类名相同,无返回值,可以有参数也可以没有参数(可以重载)。 4、什么是析构函数?析构函数有哪些特点? 答: 析构函数是类的特殊成员函数,在对象生命期结束时自动调用,一般常用于清理对象所分配的内存空间。析构函数特点:函数名与类名相同(前面加~),无返回值,没有参数(不能重载)。 5、如何定义一个常量? 答: 两种方法: (1) 宏定义:#define 宏名 常量值 (2) const常量:const <类型> 常量名=常量值; 二、第二题 填空(每题10分,共20分) 1)上面C++程序运行结果是___66____。 2)上面C++程序运行结果是****123.45 *1234.45 1234.45 ____。 三、第三题 简答(每题5分,共20分) 1、类的成员一般地分成为哪两部分?这两部分有何区别? 答: 类的成员包括成员变量,成员函数两部分。其中:成员变量一般是数据,描述对象的属性、状态。成员函数定义了对象(可以发出)的行为或对象(可接受)的操作。 2、如何对对象进行初始化? 答: 一般通过对象所属类的构造函数-对对象进行初始化。 共 页,第 7 页 学生答题注意:勿超黑线两端;注意字迹工整。 共 页,第 8 页

2.从文件TEST中读出字符并写入TEST1里,要求均附加错误检查。 #include #include< fiostream.h > using namespace std; void main() { } ifstream txt1(\ofstream txt2(\char c; if(!txt1) { } if(!txt2) { } while(1) { } txt1>>c; if(txt1.eof()) { } cout<< c;//打印字符 txt2<< c;//写文件TEST1.txt中 txt1.close; return; cout<<\没有正确建立文件!\return; cout<<\文件打不开!\return; 四、 编程题(每题10分,共20分) 1.编程输出1+2+3+……+100的值。 #include void main() { int intN = 100; long lngSum = 0; for(int intIndex = 1;intIndex <=intN;intIndex++) { lngSum = lngSum + intIndex; } cout< void main() { int intN = 100; int intIndex = 1; long lngSum = 0; while(intIndex <=intN) { lngSum = lngSum + intIndex; intIndex ++; } cout<

本文来源:https://www.bwwdw.com/article/a71h.html

Top