2022年《VC程序设计》期末复习题及答案 .pdf
《2022年《VC程序设计》期末复习题及答案 .pdf》由会员分享,可在线阅读,更多相关《2022年《VC程序设计》期末复习题及答案 .pdf(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学而不思则惘,思而不学则殆一、选择题A(1)下列的()是引用调用。A形参是引用,实参是变量;B形参和实参都是变量;C形参是指针,实参是地址值;D形参是数组名,实参是数组名。C(2)作用域运算符的功能是() A 给定作用域的大小;表示作用域的级别的;C某个成员是属于哪个类的;指出作用域的范围的。D(3)下列的各函数中, ()不是类的成员函数。A构造函数;析构函数;拷贝初始化构造函数;友元函数。D(4)下面()不是构造函数的特征。A构造函数可以重载;构造函数可以设置缺省参数;构造函数的函数名和类名相同;构造函数必须指定返回值类型。C( 5)下述静态数据成员的特性中,()是错误的。A静态数据成员要在
2、类体外进行初始化;B说明静态数据成员时前边要加修饰符static;C静态数据成员不是所有对象所共有的;D引用静态数据成员时,要在静态数据成员名前加和作用域运算符。C(6)已知类A 有三个公有成员:void f1(int), void f2(int) 和 int a,则()是指向类A 成员函数的指针。 A *p;B. int A:*pc=&A:a; C void(A :*pa) (int);. A *p; C(7)下列关于对象数组的描述中,()是错的。对象数组的数组名是一个地址常量; 对象数组的下标是从开始的; 对象数组只能赋初值,不能被赋值; 对象数组的数组元素是同一个类的对象B(8)下列定义
3、中, ( )是定义指向类A的对象数组的指针。A A *p5; A (*p) 5; (A *) p5; A *p ; A(9)说明语句const char *ptr; 中, ptr 是() 。A指向字符常量的指针;指向字符的常量指针;指向字符串常量的指针;指向字符串的常量指针。B(10)关于 new 运算符的下列描述中,( )是错的 . 使用它创建对象时要调用构造函数;使用它创建对象数组时必须指定初始值;它可以用来动态创建对象和对象数组;使用它创建的对象或对象数组可以使用运算符delete 删除。答:(1)A (2)C (3)D( 4)D( 5)C( 6)C (7)C ( 8)B (9) A (
4、10)B C( 1) 派生类的对象对它的基类成员中()是可以访问的公有继承的保护成员;公有继承的私有成员;公有继承的公有成员;私有继承的公有成员D(2) 下面关于派生类的描述中,( )是错的。一个派生类可以作为另一个派生类的基类;派生类至少有一个基类;派生类的成员除了它自己的成员外,还包含了它的基类的成员名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 40 页 - - - - - - - - - 学而不思则惘,思而不学则殆派生类中继承的基类成员的访问权限
5、到派生类保持不变。C( 3)派生类的构造函数的成员初始化列表中,不能包含()基类的构造函数调用;派生类对象成员的初始化;基类对象成员的初始化;派生类中一般数据成员的初始化B( 4)设置虚基类的目的是()减少目标代码;消除二义性;提高运行效率;简化程序。A(5) 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()一次;二次;多次;与虚基类下面的派生类个数有关答案:(1)(2)D (3) (4)B (5) A A(1) 以下保留字()不能出现在说明虚函数原型的语句中。Astatic B. operator C. void D. const .
6、 D(2) 以下关于虚函数和纯虚函数的说法中,( )是不正确的A在派生类中虚函数可以不用关键字virtual 说明。B. 虚函数在派生类中可以不重定义。C. 不能为虚函数定义缺省操作。D. 纯虚函数在派生类中可以不重定义。C(3) 以下关于动态绑定的说法中,正确的是()A虚基类是动态绑定的。B. 指针是动态绑定的。C. 所有的虚函数和纯虚函数都是动态绑定的。D. 动态绑定与编译系统无关。C(4) 以下关于抽象类的说法中,( )是不正确的A不可创建抽象类的实例。B. 可以声明抽象类的引用。C. 抽象类的派生类也是抽象类。D. 抽象类的派生类也可以是抽象类。(5) B 以下关于抽象类的说法中,只有
7、()是正确的A定义抽象类的目的是软件重用。B. 定义抽象类是为了提高访问效率。C. 定义抽象类是使指针的使用更灵活。D. 抽象类提供了对类进行分类的机制。(6) D 以下关于多态性的说法中,( )是不正确的A每个多态类的对象有一个虚表指针。B. 虚函数调用与this 指针无关。C. 每个多态类的基类都有一个虚函数表。D. 多态类的每一个派生类都有一个虚函数表。单项选择题答案:(1) A (2) D (3) C (4) C (5) B (6) D D(1)下列不是C+流对象的是 ( ) A.cout B.cin C.cerr D.ostream A(2)已知 :int w=-3,x=10,z=7
8、 执行下面的语句的输出结果为( ) cout (10?x+100:x-10 )(w+|z+)(!wz )(w&z )名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 40 页 - - - - - - - - - 学而不思则惘,思而不学则殆A. 0111 B.1111 C.0101 D.0100 C(3)void main()coutsetfill(*)setw(10)10endl;的输出结果为 ( ) A. $ 10 10 B.*10 C. *10 D.*
9、1010 D(4)C+所有输入和输出流的基类是( ) A.stream.h B.iostream.h C.cin 和 cout D.ios B(5)文件的输入与输出流是( ) A. iostream.h B. ifstream 和 ofstream C. istream_withassign , ostream_withassign D. istream 和 ostream C(6)语句 coutoct12; 的输出结果是转为八进制数0011 1100 14 A.12 B.1100 C.14 D. C B(7)对 进行重载的语句istream & operatora D. x.a B 109.
10、 假定 AA为一个类, a() 为该类公有的函数 成员, x 为该类的一个对象,则访问x 对象中函数成员a() 的格式为()。 A. x.a B. x.a() C. x-a D. x-a() C 110. 假定 AA为一个类, a 为该类公有的数据成员,px 为指向该类对象的一个指针 ,则访问px 所指对象中数据成员 a 的格式为()。 A. px(a) B. pxa C. px-a D. px.a D 111. 假定 AA为一个类, a 为该类 私有 的数据成员, GetValue() 为该类公有函数成员,它返回a 的值, x 为该类的一个对象,则访问x 对象中数据成员a 的格式为()。 A
11、. x.a B. x.a() C. x-GetValue() D. x.GetValue() A 112. 假定 AA为一个类, int a() 为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为 ()。 A. int AA:a() B. int AA:a() C. AA:a() D. AA:int a() A 113. 假定 AA为一个类, a 为该类 公有 的数据成员, 若要在该类的一个成员函数中访问它,则书写格式为 ()。 A. a B. AA:a C. a() D. AA:a() B 114. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字 ()放在函数原型或
12、函数头的前面。 A. in B. inline C. inLine D. InLiner D 115. 在多文件结构的程序中,通常把类的定义单独存放于()中。 A. 主文件 B. 实现文件 C. 库文件 D. 头文件 B 116. 在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于()中。 A. 主文件 B.实现文件 C. 库文件 D. 头文件 A 117. 在多文件结构的程序中,通常把含有main() 函数的文件称为()。 A. 主文件 B. 实现文件 C. 程序文件 D. 头文件 C 118. 一个 C+程序文件的扩展名为()。 A. .h B. .c C. .cpp D. .
13、cp A 119. 在 C+ 程序中使用的cin 标识符是系统类库中定义的()类中的一个对象。 A. istream 输入流 B. ostream C. iostream D. fstream B 120. 在 C+ 程序中使用的cout 标识符是系统类库中定义的()类中的一个对象。 A. istream B. ostream C. iostream D. fstream D 121. 假定 AA是一个类, abc 是该类的一个成员函数,则参数表中隐含的第一个参数的类型为()。 A. int B. char C. AA D. AA* C 122. 假定 AA是一个类, abc 是该类的一个成员
14、函数,则参数表中隐含的第一个参数为()。 A. abc B. *this C. this D. this& A 123. 假定 AA是一个类,“ AA& abc();”是该类中一个成员函数的原型,若该函数存在对*this赋值的语句,当用 x.abc()调用该成员函数后,x 的值()。 A. 已经被改变 B. 可能被改变 C. 不变 D.不受函数调用的影响 C 124. 假定 AA是一个类,“AA* abc() const; ” 是该类中一个成员函数的原型,若该函数返回this值,当用 x.abc()调用该成员函数后,x 的值()。 A. 已经被改变 B. 可能被改变 C. 不变 D. 受到函数
15、调用的影响 B 125. 类中 定义的成员默认为()访问属性。 A. public B. private C. protected D. friend A 126. 结构中 定义的成员默认为()访问属性。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 40 页 - - - - - - - - - 学而不思则惘,思而不学则殆 A. public B. private C. protected D. friend C 127. 当类中一个字符指针成员指向具有
16、n 个字节的存储空间时,它所能存储字符串的最大长度为( )。 A. n B. n+1 C. n-1 D. n-2 C 128. 在一个用数组实现的队列类中,假定数组长度为MS ,队首元素位置为first,队列长度为length ,则队尾(即最后一个)元素的位置 为( )。 A. length+1 B. first+length C. (first+length-1)%MS D. (first+length)%MS D 129. 在一个用数组实现的队列类中,假定数组长度为MS ,队首元素位置为first,队列长度为length ,则队尾的后一个位置 为( )。 A. length+1 B. fi
17、rst+length C. (first+length-1)%MS D. (first+length)%MS B 130. 在一个用数组实现的队列类中,假定数组长度为MS ,队首元素位置为first,队列长度为length ,则队首的后一个位置为( )。 A. first+1 B. (first+1)%MS C. (first-1)%MS D. (first+length)%MS D 131. 在一个用链表实现的队列类中,假定每个结点包含的值域用elem 表示,包含的指针域用next 表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队非空,则进行插入时必须把新结
18、点的地址赋给( )。 A. elemHead B. elemTail C. elemHead-next和 elemHead D. elemTail-next和 elemTail C 132. 在一个用链表实现的队列类中,假定每个结点包含的值域用elem 表示,包含的指针域用next 表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空, 则进行插入时必须把新结点的地址赋给( )。 A. elemHead B. elemTail C. elemHead和 elemTail D. elemHead或 elemTail A 133. 队列具有()的操作特性。 A.
19、先进先出 B. 先进后出 C. 进出无序 D. 进出任意 B 134. 栈具有()的操作特性。 A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意 A 135. 对于一个类的构造函数,其函数名与类名( )。 A. 完全相同 B. 基本相同 C. 不相同 D. 无关系 C 136. 对于一个类的析构函数,其函数名与类名( )。 A. 完全相同 B. 完全不同 C. 只相差一个字符 D. 无关系 C 137. 类的构造函数是在定义该类的一个( )时被自动调用执行的。 A. 成员函数 B. 数据成员 C. 对象 D. 友元函数 B 138. 类的析构函数是一个对象被( )时自动调用的。
20、A. 建立 B. 撤消 C. 赋值 D. 引用 A 139. 一个类的 构造函数 通常被定义为该类的( )成员。 A. 公用 B. 保护 C. 私有 D. 友元 C 140. 一个类的析构函数通常被定义为该类的( )成员。 A. 私有 B. 保护 C. 公用 D. 友元 B 141. 假定 AB为一个类,则执行“AB x; ”语句时将自动调用该类的( )。 A. 带参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值重载函数 A 142. 假定 AB为一个类,则执行“AB x(a,5);”语句时将自动调用该类的( )。 A. 带参构造函数 B. 无参构造函数 C. 拷贝构造函数 D.
21、 赋值重载函数 D 143. 假定 AB为一个类,则执行“AB *s =new AB(a,5);”语句时得到的一个动态对象为_。 A. s B. s-a C. s.a D. *s D 144. 假定 AB为一个类,则执行“AB r1=r2; ”语句时将自动调用该类的( )。 A. 无参构造函数 B. 带参构造函数 C. 赋值重载函数 D. 拷贝构造函数 B 145. 若需要使类中的一个指针成员指向一块动态存储空间,则通常在( )函数中完成。 A. 析构 B. 构造 C. 任一成员 D. 友元名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选
22、学习资料 - - - - - - - - - - - - - - - 第 5 页,共 40 页 - - - - - - - - - 学而不思则惘,思而不学则殆 A 146. 当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储( )个整数。 A. n B. n+1 C. n-1 D. 1 C 147. 假定一个类的构造函数为“ A(int aa, int bb) a=aa; b=aa*bb;”,则执行“ A x(4,5);”语句后,x.a 和 x.b 的值分别为 ( )。 A. 4和 5 B. 5和 4 C. 4和 20 D. 20和 5 D 148.
23、 假定一个类的构造函数为“A(int aa=1, int bb=0) a=aa; b=bb;”,则执行“A x(4);”语句后, x.a和 x.b 的值分别为 ( )。 A. 1和 0 B. 1和 4 C. 4和 1 D. 4 和 0 B 149. 假定 AB为一个类,则 ( )为该类的拷贝构造函数的原型说明。 A. AB(AB x); B. AB(AB& x); C. void AB(AB& x); D. AB(int x); C 150. 假定一个类的构造函数为“ B(int ax, int bx): a(ax), b(bx) ”,执行“B x(1,2),y(3,4);x=y;”语句序列后
24、x.a 的值为 ( )。 A. 1 B. 2 C. 3 D. 4 D 151. 假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为 ( )。 A. AB() a=0; B. AB(int aa=0): a(aa) C. AB(int aa): a(aa) D. AB() C 152. 假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为( )。 A. AB() B. AB(): a(0) C. AB(int aa=0) a=aa; D. AB(int aa) D 153. 对于任一个类,用户所能定义的构造函数的个数至多为(
25、)。 A. 0 B. 1 C. 2 D. 任意个 B 154. 对于任一个类,用户所能定义的析构函数的 个数至多为 ( )。 A. 0 B. 1 C. 2 D. 任意个 A 155. 假定 AB为一个类,则执行“AB *px=new ABn;”语句时将 ( )。 A. 动态分配一个数组 B. 动态分配一个对象 C. 静态分配一个数组 D. 静态分配一个对象 C 156. 设 px 是指向一个类对象的指针变量,则执行“delete px;”语句时,将自动调用该类的( )。 A. 无参构造函数 B. 带参构造函数 C. 析构函数 D. 拷贝构造函数 D 157. 当一个类对象离开它的作用域时,系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC程序设计 2022年VC程序设计期末复习题及答案 2022 VC 程序设计 期末 复习题 答案
限制150内