---
2015 学年上学期
题号 题分 得分 考试说明:
1、大作业于 2015 年 4 月 3 日公布, 2015 年 5 月 9 日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 一、简答题 ( 10 分)
一 10
二 20
《面向对象程序设计( C++)》期末考试试题
(综合大作业)
三 20
四 20
五 30
总分
学习中心 / 函授站 _
西安电子科技大学校本部
姓名 学号
西安电子科技大学网络与继续教育学院
1.1 (3 分) C++提供了哪些循环语句?它们各自的特点是什么?
C++ 语言提供三种循环语句: for 循环语句应用最广泛,使用最灵活。不仅可以用于循环次数已经确定的情况,也
能用于循环次
数不确定、 只给出循环结束条件的情况。 while 循环语句,其特点是先判断表达式, 后执行语句, 在循环体中应有使循环趋于结束的语句。
do-while 语句,其特点是先执行语句,后判断表达式。对同一个问题可以用 while 语句处理,也可以用 do-while 语句处理。
1.2 (3 分)在 C++中什么可以充当友元?友元是否可以继承,为什么?
在 C++ 中,自定义函数可以充当友元,友元只是能访问指定类的私有和保护成员的自定义函数,不是被指定类的成员,自然不能继承
分)若派生类以 private 方式从一个基类派生,派生类的对象可以访问基
1.3 (4 类中
的那些成员?派生类的成员函数可以访问基类中的那些成 员?
二、填空题 (每
空 1 分,共 20 分)
,
2.1 break 语句在循环结构中的功能是 continue 是跳出整个循环 语句的功能 是 。 跳过本次循环
有一段程序为: 2.2 while ( 表达式 )
语句
1 语句 2
----- ---
??
0 时,执;当表达式当表达式的值为非 行 语句 1 后执行语句 2 为 0 时,执行 语
句 2 。
Inlin说明的函数称为内联函数。编译时,源程序中所有对该函
2.3 使用关键字 e 数
第1页
(共5页)
----- ---
的调用被替换为此函数的 体内 。
2.4 数组名代表的是该数组的 _数组首地址的指针 作为函数的实参时,是以 指针 方式传递参数的。
;数组元素
2.5 在 C++中,类 A 的每一个非静态成员函数都有一个隐藏的指针类型的形参 This 指 针
,它指向当前正在操作的对象,其类型为 2.6 C++语言引入了异常处理机制,用 throw 2.7 在 C++语言中,用 new 达式释放动态类对象。
2.8 C++支持两种类型的多态,编译时多态和运行时多态。
运行时
多态是通过虚函
。
C++语言中,
数来实现的, 编译时 多态是通过函数重载来实现的。
2.9 纯虚函数就是 特殊 的虚函数,包含纯虚函数的类称为 为了不破坏数据的封装性,需将所要共享的数据说明为类的 private _______ 说明的类成员。
三、选择题 (每题 2 分,共 20 分) 3.1 在下列给字符数组赋值语句中, A. s[0] = 'm';
3.2 下列对结构变量赋值的描述中, A.结构变量可以使用初始值表对它初始化 B.可以给一个结构变量的各个成员赋值
C.可将任意已知的结构变量名赋给一个结构变量
D.可将一个已知结构变量名赋给相同结构类型的另一个结构变量 3.3 下列 if 语句中,条件为真的语句是 A. if(0)
B.if(3)
3.4 若 i 的初值为 1, A. if(i++ < 10) cout << i; C. while(i++ < 10) cout << i;
。
D. if(a)
C. bool bFlag = ture; if(!bFlag)
能输出 1 到 10 的整数。
B. do cout << i; while(++i <= 10); D . switch(++i <= 10) cout << i;
。
是错误的。已知, char s[5] 。
D. s[2] = 'b';
是错误的。
B. s[5] = 'n' ; C. s[1] = 'a';
。
语句“抛出”异常,然后用相
_delete___ 表
应的语句 _ try 捕获被“抛出”的异常,并做出相应的处理。
表达式来创建动态的类对象;用
抽象类
2.10 在某些应用中,需要程序中属于某个类的所有对象共享某个数据。在
私有成员 ,即用关键字 _
3.5 在下面的程序中,若实参 a 与形参 x 以引用传递的方式传递信息,实参 b 与形参 y 以值传递的方式传递信息, 那么从函数 compute 返回主程序后, a 和 b 的值分别为
Main Program a := 1; b := 2; compute(a, b);
A.5和 2 B.5 和 12 3.6 下列关于运算符重载的描述中,
A.运算符重载可改变其优先级
void compute(x, y)
x := x + 2 * y; y := 2 * x + y; return ; C.1和2
D.1 和 12
是正确的。
C.运算符重载可改变其结合性
3.7 为了使类中的成员能够被类的对象通过成员运算符访问, 则应该把成员的访问权限
定义为 。
C. privaA. public B. protected te D. packaged 3.8 假设 A 是一个类,那么执行语句“ A a, b(3), *p;”,调用了 次构造函数。
A. B.3
C. 4
D. 5
B.运算符重载不改变其语法结构
D.运算符重载可改变其操作数的个
数
----- --- 2
假设类 AB用成员函数的方式重载加法运算3.9 符,
第2页
以实现两个 AB类对象的加法, 并返
(共5页)
-----
相关推荐: