重庆大学网院2018年C++程序设计语言 ( 第1次 )答案参考

[复制链接]
发表于 2018-6-14 21:43:56 | 显示全部楼层 |阅读模式
扫码加微信
重庆大学网院2018年C++程序设计语言 ( 第1次 )答案参考
3 }& a9 A/ Y: o0 q3 }( y2 j一、单项选择题(本大题共60分,共 20 小题,每小题 3 分)
+ g/ g; O& k# M: p1. C++程序中,数据的两种表现形式是( )。
6 c+ g3 C+ w; uA. 常量和变量& f- j2 E5 ^$ u- l( I- q
B. 常量和矢量1 t( L' X- J2 s3 H
C. 变量和矢量! [+ G2 D' ?# L4 W0 p
D. 矢量和标量! N9 W5 s1 }- x
2. C++程序中,定义引用变量时,( )。4 b. g" L* I: a9 I4 I: g" b
A. 使用的运算符是** K; l; @' N, S
B. 使用的运算符是()
# F0 P* M. f# _2 t' d7 e7 fC. 使用的运算符是&
" y0 Y) ~- t8 S/ ^1 V+ X/ \8 cD. 使用的运算符是[]% k" _1 H0 F- M% O" _- Z; i  P) ^
3. 下列关于函数的说法中,不正确的是( )。
6 I# I4 G- z+ e( |+ e2 H3 LA. 在不同函数中可以使用相同的名字命名变量
0 z4 n* e/ R# YB. 形式参数是局部变量
0 u3 `* O- L% H( a  u. rC. 在函数内部定义变量的作用域在本函数中+ b9 C5 [' L$ Q6 E% @" ~
D. 在一个函数内的复合语句中定义变量的作用域也是整个函数) W+ e3 n  f/ M' h$ H" J6 }
4. C++程序的函数调用中,使用数值参数传递时,( )。7 U+ `5 y+ p) o% u. y9 m
A. 能够在被调函数中通过形参修改实参
' j$ R% D- W) |7 \9 p7 yB. 实参和对应的形参数据类型可以不一致0 r& Y) D& K# U: R( Y
C. 形参不能够从实参获取数值
! F3 B+ k8 O4 S# r  f# _: oD. 不能在被调函数中通过形参修改实参
3 j4 X. o; U& p* `% R6 e5. C++语言中,定义一个文件流对象的正确语句形式是( )。* ^7 o5 B: C6 n; c  a# c
A. void *sp;" D) W7 i: K8 u: m3 ~
B. fstream sp;
, u1 C8 K2 [3 |$ f0 @C. FILE &sp;
0 t9 K0 M% Q; f  }( ?) W# ~D. filestream *sp;
! q+ }+ B  @/ O6. 对于字符常量'B',与其对应的转义字符书写形式是( )。
3 X5 ]1 \8 f+ m' v7 CA. '\101'6 }! K+ B) h+ K/ ]; p7 D# Q
B. '\x42'% G8 K" f$ V8 |" R& w- U+ H* {
C. '\x41'
4 C8 U" e: _6 B& g% V4 ^D. '\A'$ y; E4 Z* J7 c6 R* X+ ^, `# ?( H
7. 下列( )项不属于静态联编。
% q, f+ [8 e+ m5 _1 AA. 非成员函数调用
1 H! Q4 `& I4 m4 u8 V: wB. 非虚函数调用3 X0 h& A$ G4 o9 {& v' |
C. 虚函数调用( N- g0 I9 P- v' ~
D. 函数重载调用
8 }; M8 a9 L$ k' U6 k; E$ {8. 下列不是异常错误的种类的是( )。9 a: s' ^6 X6 E) D
A. 编译错误6 J+ N7 z: Z$ V9 v  V+ t
B. 逻辑错误
4 E; e8 W( k) M5 w6 z: QC. 运行时错误: u% }9 W# t1 Z$ a9 _; V' j3 b$ V
D. 服务器连接错误
% s- Z+ Z9 j8 j& f7 y. b9. 下面( )项能够正确地定义类A以保护方式从B类继承。
, C; c! }7 f1 j" Y  QA. protected class A : B{…}
2 U" X4 b; ^# W4 J8 ^  D, UB. class protected A : B{…}% |" O5 ^8 E6 w1 t) q4 B
C. class A : private B{…}$ ^& x3 N+ u. _) v) Z  |2 m
D. class A : protected B{…}+ A& ^: n7 B. y* U
10. C++语言中,表达式18/4*sqrt(4.0)/8的数据类型是( )。( W; G8 {5 h- E( m$ X/ z" |: n% N! o* ^) l
A. int
: k% A: }( @6 f' wB. float
8 ?/ p% c! a, R$ `* B& N& ~C. double0 a) }* K5 k' A& ?
D. 不确定的5 J2 d( D' V3 a: Y4 |  U9 ?' q! E9 x
11. 线性表的存储结构主要包括顺序存储结构和( )。% n3 s' W# L5 u/ @/ A
A. 反序存储结构3 x- i. @1 ?: P3 O2 e: u% ]* P/ l) r
B. 链式存储结构
0 a* Q  @! H- v3 C% L' @, E6 mC. 散列存储结构9 K* |) N7 _5 X
D. 二叉树存储结构
) l& o  i' e- Z7 m2 P3 O12. STL有大量用来处理容器的算法,STL算法由( )实现。5 p. O4 _+ e6 ]# V4 x$ `. c& {
A. 模板类
, ^8 a( C' z( N. T/ k7 GB. 类; N* f# E. V0 [% q7 [+ A
C. 成员函数. y( r. X# P, {! D' Q* [: ^: w
D. 模板函数6 J- `% g! E9 w! m9 i' N' B" n
13. 类A从类B派生而来,下面( )可以在类A的构造函数中调用基类B的构造函数
; e! P1 Y. U; l, }  Z: PA. class A : public B {public: A(int i){B(i)};}! G0 F& R& W* Q1 p
B. class A : public B {public: A(int i):B(i){};}8 p% W6 z% S" v( y3 l! n3 |
C. class A : public B {public: A(int i):B(int i){};}
/ W' i, l0 F. v+ v# }8 g% ?D. class A : public B {public: A(int i){B(int i)};}' h7 t2 W$ r5 b" r
14. C++的函数有函数头和函数体两部分组成,下面所列的函数头书写格式中不正确的是( )。  I! a$ j7 d  [0 F2 E$ O3 S
A. main(int a,int b)$ P) z1 Q+ S; ]; E; `
B. main(int a,int b=1)
( D* D8 \7 L! d, z4 XC. main(int a=0,int b)! n1 ^5 C9 J9 A3 j& v0 ], T: o1 M
D. main(int a=2,int b=3)$ c8 z' y5 r5 _" Z/ K3 v
15. 下列存取控制符中,( )能够限定类外代码不能访问被它修饰的成员。
3 c$ h. `7 s- v6 N' a9 R+ M, dA. private , z$ y+ o/ K8 ]. f
B. public
# }2 s* c9 m5 l0 x2 O' KC. protected: H/ p6 p& `) w$ m! ]0 a9 |
D. private和protected都可以' B1 ^$ Q2 X) i' z
16. 有如下代码定义一个对象和对象引用,以下( )能够正确地使用对象引用来调用成员函数。 A a,&b=a;
7 ?% y9 d: ?, F+ j; EA. b->show();
+ f+ d. O0 ~7 K$ `B. (*b).show();2 s1 T5 D- _( w" \$ ]7 Z, z
C. b.show();. R  O) f. W1 {0 c; E/ G- v
D. (*(*b)).show();
3 i8 v0 e+ A1 r* b! `3 {+ b4 F0 c& A17. 下列程序代码运行后的输出是( )。 #include using namespace std; class A{ private: int x; const int y; public: A(int x, int y) :y(y){ this->x = x; } void show(){ cout << x << "," << y << endl; } }; void main(){ A a(1, 2); a.show(); } 4 y6 u  j- ]& X* R8 z+ V* m7 `
A. 1,0" t5 Q7 }3 a1 N* }0 n, I
B. 2,1: p5 \2 X; G5 E
C. 1,2* |6 O' ]% }9 I( _
D. 1,(随机数)
% \1 j" Z: e' G  y. g& v! {4 f18. 下列( )项的代码,能够正确地将类A的函数show申明为纯虚函数。- O+ ~4 I. f6 @6 `6 t  o
A. virtual class A{ void show()=0;}. A, _+ y5 t# `; E- q9 @
B. class A{ void show()=0;}& t& M) S8 Z" C# o
C. class A{ virtual void show();}
3 A( t7 r7 Q! `4 SD. class A{ virtual void show()=0;}9 _0 |6 C0 v5 C) I, u, Z+ K) \
19. 下列的代码运行时不会发生拷贝构造函数调用的是( )。
% b6 ~/ s; a5 w+ I1 L) t  x1 `A. Point p1(1,2); Point p2(p1)
8 r2 d" l1 j4 xB. Point p1(1,2); Point p2; p2=p1;
# H' A7 e: e/ c3 @2 K, }C. void printPoint(Point p){……}' T( `; X4 ~% T/ g
D. Point createPoint(){Point p; …… return p;}+ P* l: e4 s4 R4 Y, Q
20. 类A是类B的基类,下面( )项表示的代码执行完成后,不能够正确调用B类的析构函数。2 B6 t% P8 U" o2 ~$ ^3 w
A. B *p=new B(); delete p;
: [6 V4 Y0 O: ~) U% W% c9 n1 C! SB. A *p=new B(); delete p;) M8 s5 ~. Y* L) H; R) Q! I5 a
C. A a; B b; a=b;. I& p- H: A; |9 k: s7 P  `
D. A *a; B b; a=&b;# {* S" ], y# }" U, h
二、多项选择题(本大题共20分,共 5 小题,每小题 4 分)
) d- L$ E$ r; Q/ k, Z1. 在定义类模板时需要主要一下问题(    )。
4 L2 N7 z# G; z& l# g! c4 ]: lA. 如果在全局域中声明了与模板参数同名的变量,则该变量被隐藏掉。
5 o5 r( H; V" W! k0 _B. 模板参数名不能被当作类模板定义中类成员的名字。5 N1 d% Y4 S' e
C. 同一个模板参数名在模板参数表中只能出现一次。6 T3 x% B/ s# ]6 q
D. 在类模板的前向声明和定义中,模板参数的名字可以不同。
( S) k* f3 Y2 p5 d3 C7 w3 [( f2. 异常错误大概分为三类,分别是(    )。8 A1 C: x  z( h$ p
A. 编译错误。
, {1 o" r# k# e3 X2 J# t3 SB. 运行时错误。
7 R3 |% A  o7 H" YC. 逻辑错误。
: K0 C- z$ b9 t+ M. YD. 硬件错误。4 T% D. X( d( q  c
3. C++支持的多态特征包括(  )。
$ G& ^6 U( S* e* ~4 V, |  Z$ H" wA. 重载多态
- p5 I2 y2 O# hB. 强制多态
6 c7 v& t8 Z! ]0 |) `C. 包含多态3 d( M5 p; \4 Q/ ^1 S: H" ^
D. 参数多态# ^# V" [. Y2 V
4. 类与类之间的关系包括(  )。
; _6 f1 i. U$ w2 fA. 继承
" v! q3 S: T/ P3 z' eB. 引用  ?) U* k- [( v1 b9 J+ U2 S
C. 赋值8 q; [! q- m  ]6 R! @/ ]8 R) n! f5 E
D. 组合( s3 _$ D% K7 a- y* ?
5. STL的三个基本组成部分是(    )。  z% n* w! x' I# n
A. 容器- Z+ I4 v5 }! ]. ~
B. 模板
/ {$ d3 O# c, J8 J8 m  N! y$ iC. 算法
* f7 y: a! G) u; Q' _& ]D. 迭代器
# V$ ?4 t7 Y' v( t6 X  P三、判断题(本大题共20分,共 10 小题,每小题 2 分)8 p; d; H; d0 ?( V0 j9 b" C: n9 M
1. C++语言中,文件是指具名存放在外部存储设备上的一组信息,它们以二进制代码形式存在。
( I5 ]4 `5 F- j% K; p6 f2. C++语言中,定义多维数组时,每一维的长度都必须用单独的一个方括号(数组运算符)括起来。
, |2 _. O' E" ~, S/ Z3. C++程序中,文件的随机读写方式有利于数据文件的修改操作,从而提高这类文件处理的效率。# {' m1 ^5 e% T2 ?: o- E( @
4. C++语言中,函数模板本质上和函数的重载是相同的,可以相互替代。3 \9 d  }- P  ~* q1 l
5. C++程序中,可以通过输出文件流对象和插入操作符(<<)配合将数据写入到数据文件中。+ v" q$ @; ?* h4 w1 H  k, }
6. 运行时错误是在编译调试时是无法发现的,只有在运行时才出现,并且运行时会一定出现。
4 J7 _* ~) C. U+ f- S6 @5 d4 s  |7. 模板参数名不能被当作类模板定义中类成员的名字。
: p' P% s) s) v' L: q9 [' j0 C8. 为了确定线性链表第一个结点的存放位置,必须使用一个指针变量指向链表的表头。
* [' f+ R! }6 @; m: ]) H- [9 i( v' ~9. 类的友元关系是单向的,类A是类B的友元类,反过来类B不一定是类A的友元类。但是友元关系是可以传递的,如果类A是类B的友元类,类C又是类A的友元类,那么类C肯定也是类B的友元类。" \. r! H2 \) \0 V0 K
10. 组合表示的是“有一个”(has a)的关系,是一般和特殊的关系;而继承表示的是“是一个”(is a)的关系,是部分与整体的关系。+ }1 l  |, l5 t3 y5 t' U( f* F
答案:3 R5 M& S* G$ P) q( T
一、单项选择题(60分,共 20 题,每小题 3 分)4 C" E! P3 x6 s8 X7 H; l( ?
1. A 2. C 3. D 4. D 5. B 6. B 7. C 8. D 9. D 10. C 11. B 12. D 13. B 14. C 15. D 16. C 17. C 18. D 19. B 20. B ' P. W6 u) {8 S3 n4 B# c
二、多项选择题(20分,共 5 题,每小题 4 分)
& a: A3 C* F4 l2 l1. ABCD 2. ABC 3. ABCD 4. AD 5. ACD 6 Z& [0 @0 h) O: W
三、判断题(20分,共 10 题,每小题 2 分)
- K5 a& ?, d7 [# R4 f1. √ 2. √ 3. √ 4. × 5. √ 6. × 7. √ 8. √ 9. × 10. ×
' [4 t+ V: B. O$ Z5 u7 A
+ W- _8 m4 A" l& E% M" z" M
快速回复 返回顶部 返回列表