|
福建师范大学' [, c. U% `1 H
福师10秋学期《C++语言程序设计》在线作业二
7 }, ^% v5 h, q# X% O! ~$ J单选题
! R) a$ k. E& b$ Z! a4 L1 _1.析构函数在什么时间开始调用。( )6 A& y$ |& o0 i. \
A. 类创建
$ z2 x0 z, \9 h K$ v. b* vB. 创建对象. f/ n( W/ S5 {8 w, w6 y! b; r2 X
C. 引用对象
$ o1 q) w p! M9 RD. 释放对象
! ^+ D, M* s8 D8 `" V! J9 w资料:D
- K2 E+ J2 S8 o# Q. x S2.以下哪个不是循环语句( )% d |. N% F2 s& W$ g. u
A. while语句# D4 Y2 [& U( L Q3 w" e" c0 {
B. do-while语句: T m$ \! G5 d P8 V
C. for语句, K: W! G7 p+ t2 Z. l7 f
D. if-else语句1 c6 W9 F; h' h% P2 Z2 w- X
资料:D
8 m+ |) l. J. _! u3.能正确表示x>=3或者x<1的关系表达式是( )' M' V( T! E8 B% G
A. x>=3 or x<1# X9 B2 P! I" z9 {
B. x>=3|x<1 o c! ^6 P5 g, A/ x' d
C. x>=3||x<1
+ C! o: p7 ?1 v! T. [- [! V: b3 ^, bD. x> =3&&x<1, A) [- v9 [ `" y) ]
资料:C
8 V$ ?: U8 ]4 H5 y) d R ~4.如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换( ) y$ g) |1 r1 y5 {7 ~& c
A. x=x+y,y=x-y,x=x-y4 d( J4 h& @$ g' }, `% ]1 ?4 v
B. t=x,x=y,y=t9 z) R K8 H' E J9 k3 X+ Q) n. Y
C. t=y,y=x,x=t
. z! ?% u/ V( d i/ hD. x=t,t=y,y=x
5 P7 R' I i! g! e) t资料:D
O# D% V! n9 W9 v5.一个类的友元函数或友元类能够通过成员操作符访问该类的( )
% S# e7 O2 x8 z: i+ L: j6 kA. 私有成员
0 l4 u. E( k2 L) ~1 XB. 保护成员 V5 u) p$ m' n( q8 k
C. 公有成员& X4 \! t) t# i
D. 所有成员
: m: z, C X7 l4 i资料:D7 W$ E0 s; b9 T2 q z
6.以下各选项企图说明一种新的类型名,其中正确的是( )$ U" W8 K! H& R3 x
A. typedef v1 int;
9 v: F& c* a8 n9 [1 @; E4 K0 LB. typedef v2=int;
$ k# X( u2 w2 V. q0 b: rC. typedef int v3;
C# ]1 i! |0 z2 B' wD. typedef v4: int;" N+ p* }9 y' c1 t3 ]
资料:C
8 D0 _; J. r& d0 o; y3 P' O A7.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( )) |% N6 q) Z/ M6 J" z/ {, ?) G+ e8 j
A. a<>08 ^* O) P! k8 m: ^+ w
B. !a4 `4 t H7 V' l/ w
C. a=0- E$ [; A+ u2 H# R: w' U/ Q9 S
D. a
0 M1 D. C9 A, W+ `7 B) B5 a资料:D
/ S/ G( o3 ~+ q. F, r" n* E8.派生类公有继承基类时,基类中的所有公有成员成为派生类的______。( )9 ^( ~' t. P% Y; Z1 |( ^/ w! i* K$ L) S& k
A. public 成员* K; V4 o/ {' q( v* Q- R$ |
B. 友员
5 j) o, W2 g) B. v& ~C. protected成员
* z* U) [: k4 L/ lD. private成员
1 [0 K4 Q6 |3 F1 f) P资料:A: W k: G v) B c
9.函数重载体现了面向对象的( )
6 i9 c2 y; ]' Q( {) iA. 封装性; @; q6 V$ Z* T+ I8 j2 Z
B. 多态性
2 O m4 |+ l4 [% X. X0 f, fC. 继承性
8 _+ H* Y5 z& m3 S) \8 g% ^/ SD. 抽象性5 x0 q9 i& f+ m% C! \
资料:B
5 _* F$ E" Z/ E9 V- `10.已知下列语句中的x和y都是int型变量,其中不正确的语句是( )
0 c& J9 V% U* S. @% d/ f' n9 rA. y+=++x;
3 O. B6 E- w6 ]# W: uB. ++x+=y;
" A( ]4 [* \* h4 VC. y=x++;
C7 p" L6 N1 p0 M$ KD. x++=y;
1 B& z0 Y7 j) S) G. c$ o" j11.下列函数中,可以为虚函数的是( ): X% d% N6 ] h
A. 自定义的构造函数& n; F: C! K* \% J2 V
B. 拷贝构造函数
# L6 O, H* h5 j# W7 Y0 ^C. 静态成员函数5 \9 W: z3 t3 N3 W
D. 析构函数3 B9 @ u0 |; [1 G
12.静态成员函数仅能访问( )
# {2 U" M/ f2 [$ C2 G$ v* b* s" SA. 静态的数据成员, r j# X6 }! T+ t# ~9 M
B. 非静态的成员函数- r1 v) o; h1 d) Y& L) L
C. 非静态的数据成员+ a& }; g5 I2 r# \
D. 以上都不对6 F( z8 y9 M- {( b( R0 T
13.在下边的二维数组定义中,正确的是( )
4 ^3 Q P5 ?5 x( L. NA. int a[5][]7 _ P5 l# w' k' i
B. int a[][5]' m! P' s0 B) s3 t1 r$ l
C. int a[][3]={{1,3,5},2}
; M! Z8 _, w/ Q$ _, ]5 p9 `0 O' ?2 {D. int a[](10)
. Y6 \- R; j1 J" z2 o14.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( ) {. P. P( ~& u4 A+ G9 y: h
A. 先调用A类的构造函数,然后调用B类的构造函数
! E# S* E: l, LB. 先调用B类的构造函数,然后调用A类的构造函数
; x" i2 s" b1 `5 k, J* `* oC. 不调用A类的构造函数
& S) U/ B2 \; x# F: ZD. 视定义时A类和B类出现的位置9 n) {9 N2 W' X' D/ W7 k4 W, [! z8 y
15.以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); }
9 X6 x# j; S; F1 q1 p a7 QA. 求字符串的长度 f$ I3 {" g( [+ W
B. 将字符串x连接到字符串p后面
- L% a. l/ S+ f- L$ |7 d/ }# RC. 将字符串x复制到字符串p中* g( u W$ f3 l8 |
D. 将字符串x反向存放& B; Z E, P: o0 O+ ?
16.关于异常和C++提供的异常处理机制。不正确的说法是( )7 F6 s/ \8 ]/ h: p
A. 若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现+ w0 f# r) n7 j% b
B. 使用dyname cast操作符可能会发生异常! x. C" B `+ {9 K6 f4 U F1 F
C. 异常可以用catch捕获处理# v4 N) ^& [3 a3 B6 D& S, o) T
D. 异常可以是对象,也可以是普通函数
- A2 O6 f" Y# \' u2 P# e( A17.以下哪个不是循环语句( )1 {1 P* \8 c# V) g
A. while语句! H- V& E5 x- s0 t
B. do-while语句
0 ~9 S$ j# w" k6 PC. for语句: H0 \( P3 e/ ^- O+ c9 X' h. h5 S
D. if-else语句
3 a; H* ~% W- D7 J6 P1 Y18.能做为C++程序基本单位的是( )$ q3 u C1 P* S8 d2 a
A. 字符;
4 ~& _& n8 a/ m7 f+ E' TB. 语句; C5 c3 |- ^5 d: K1 g" k2 i
C. 函数;5 e# D6 {0 H# h. b7 A
D. 源文件;. V" K( O4 W. i& S2 u* e- h
19.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( )
" n7 N" o! d0 K! p4 Y+ bA. 4
8 F9 j8 l( G8 N. k1 p8 z" [B. 101 ?* K! J! g3 {' _
C. 11
H9 ~% k& J: I/ M: bD. 40" F% {# b# M4 v8 z
20.已知字符"b"的ASCII码为98,语句printf("%d,%c","b","b"+1 );的输出为( )
! }7 Z; F; u: D- Z. CA. 98,b
3 ?& |/ L; X: z. D, c' Q5 WB. 语句不合法
! _% T( Z7 {. AC. 98,99
* r( _ m# L* r. F$ mD. 98,c
# N! X/ O; B- p. m4 E21.下列对基类和派生类关系的描述中,错误的是( )
8 G7 i6 I( r- }) J* B% Y0 EA. 派生类是基类的具体化
! ^: K" g7 q" Q; g/ SB. 派生类是基类的子集( e+ m L) X8 v. H" E/ R
C. 派生类是基类定义的延续 z% B9 X0 z) p$ N0 [! F1 q# y/ P
D. 派生类是基类的组合
& E7 i: r# s3 f) ~1 v: s4 g22.C++程序源文件默认的扩展名是( )
1 Z- h1 O# A8 k9 E8 I! k hA. cs8 x( J" M, c/ E. w5 ]# D
B. obj( [# ` a) E, b1 C m
C. cpp
3 h) u' x7 d( |- ~7 n' vD. exe
2 {4 e9 E1 p8 p4 t/ v23.下面不是面向对象程序设计的特征的是( )
! L: h6 V# Y& w6 Q3 nA. 封装
# x! b. a1 ]( l! ?% M6 Z5 xB. 继承& @; v8 h/ S) d( p; h
C. 多态% [, D2 N0 ~* H+ _# O; N% c
D. 结构, k! ?, [+ X# g! \, ?3 W. i8 @6 S
24.在下列运算符中,优先级最低的是( )
, c6 k, d' n8 ^- B( OA. ||( p. N6 e4 a3 l2 b$ ] h7 G, S
B. !=
$ ?8 r* ?) j$ M& e! P8 CC. < p: K8 u% B9 C# \5 V' h
D. +
. m, F# v) b4 v9 d+ p25.在一个源文件中定义的全局变量的作用域为( )
, {1 Q; |2 j, O" _/ ~A. 本程序的全部范围
. x9 Q8 W: P8 ?6 X+ u4 h# X5 sB. 本函数的全部范围
0 C a- S" @: t9 |' MC. 从定义该变量的位置开始到本文件结束
; b/ d. u+ a. @6 ^ Y! a/ BD. 以上说法都不正确0 N3 j. }- ?4 s4 U9 }' h$ ^5 s
26.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
5 ^, b& ^4 b+ J+ _A. 数组首地址6 M' ]& k$ y" \- i' Z
B. 数组的第一个元素值* p! a: y M' K! }5 c7 m9 D; j" g! c
C. 数组中全部元素的值7 O2 E- e N3 o v1 K5 q# G# f
D. 数组元素的个数
& F9 R/ [5 }5 c" c27.当说明一个结构变量时,系统分配给它的内存是( )
/ [. ~! w& i% ~; t% l' fA. 各成员所需内存量的总和
5 @' J. M4 F) r. Q( d) [3 NB. 结构中第一个成员所需内存量: K' t( P$ M+ N* V. h8 c4 B6 v5 e
C. 成员中占内存量最大的成员所需的容量
9 Y! N+ L) K, k! W' v! f* C# p- kD. 结构中最后一个成员所需内存量2 X- t2 @. s2 N
28.下列do-while循环的循环次数是( ): 已知:int i=5 do{ cout<<i--<<endl i-- }while (i!=0)
Y a2 |0 Y C/ \) F' X; ^: x% dA. 0
' x: M; n2 S) }7 TB. 2& z3 i; R- b- r* |% o0 c
C. 58 M2 Z! r; K$ F1 f
D. 无限次
( m5 O& c2 k2 O0 T( k6 `29.下面的函数声明中, 哪一个是” void BC(int a, int b);”的重载函数? ( )
, O7 w9 {. ?" _( R" TA. int BC(int a, int b)$ L% u/ N3 a5 s( ~
B. void BC(int a, char b)4 F3 {+ J3 P4 F. V
C. float BC(int a, int b, int c = 0)
4 G; g. V) n. x. X2 S2 v8 m: t* d1 s- aD. void BC(int a, int b=0)# p6 r3 G7 R# ?
30.如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c<d?c:d ” 的值为( )
6 j8 u! m; ^$ H+ F1 ?& W2 TA. 24 j$ m1 U- K* b. ?. s4 `
B. 3) d. X' `9 L4 A, z0 S% e9 A6 z
C. 1% T% h$ Z% f) H6 C3 G( |# D" t
D. 4
! n' |4 e+ b% b1 R8 H判断题
& P Y( Q* p% f3 r9 V' q( D+ q1.C++中,一个函数必须在函数声明后才能使用( )
7 n+ M9 C/ J- A6 c" V8 ZA. 错误" _& X x: P) n n& ^# c- I
B. 正确
K! _8 |! N8 Q, e2.带extern的变量说明是变量声明,也是变量定义。( )
( O# p) `; P& O% s6 M% d% w9 _1 nA. 错误
. \7 k/ h* r/ r/ cB. 正确3 x4 T3 t3 V- ]" O' I7 b
3.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )6 ^5 S5 t6 O" q8 z, a' v
A. 错误4 E' b- h! W& T" x) f% J) S* G
B. 正确) T5 a8 `/ t5 a$ f6 ^" v( l
4.typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( )
* s E- Q$ w* GA. 错误
0 I1 {, P) A& j0 QB. 正确
1 O3 e7 k+ O* s: G1 U7 R) I5.函数的返回值也称函数值,返回的不是函数本身,而是一个值。( ): p' W# J; I+ j5 Z! A
A. 错误
% o0 ?0 J# g7 _* o/ c4 w2 cB. 正确
5 O% j0 V% v G6.C++语言程序中,main()函数必须放在程序开始的部分( )
1 G, R# l q e' p+ k( d5 mA. 错误
7 }7 i b8 ?* mB. 正确
3 |+ z0 F* S: o1 F. D I7.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。( )' S( ^& N! n3 r5 F& j
A. 错误
+ A* |5 X& ]4 D+ E3 U1 X5 TB. 正确; K8 i3 t1 q9 s
8.C++语言程序必须要有return语句( )2 @' p6 W6 h+ r0 b
A. 错误 u' h/ Q5 ~$ Y+ ]1 R
B. 正确
" y8 j1 a. p( ^9.C++语言中,标识符不区分大小写。( )) N" V; A- |- ~9 C
A. 错误
) U/ U: N E) l# m) p- iB. 正确) F; K8 [: u w$ R1 ]5 Y! D
10.静态就是让变量和函数在生命的区域内成为私有。( )
Q8 \7 |& A$ y) @* ^; CA. 错误
1 @8 Q- h# D: b5 JB. 正确" [8 q4 m: x7 N8 D
11.一个类的成员函数可以任意被调用( )
% X/ Q9 q" l6 D* x1 q6 OA. 错误. {$ Y" P! g% K( ?% s# V
B. 正确
% s3 ?; ^$ d) {12.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( ): a6 X0 f8 z6 O, F
A. 错误
. H, E* z( O- p- EB. 正确- C0 ~0 B! F: p e# h
13.常对象必须进行初始化,而且不能被更新( )" K9 p# Y: E' H$ h! T! M- G
A. 错误
8 g0 v/ ]8 Y; |1 R/ nB. 正确
6 g5 R1 E! h+ p' x9 V2 M14.C++语言程序中,要调用的函数必须在main()函数中定义( )6 p, c# O- D9 K4 l0 ]( n
A. 错误
' I5 Q2 `5 w& ]0 ^: f' Y9 wB. 正确& {3 G9 [( V8 v& a
15.C++中函数声明就是函数原型。( )
9 e$ I: Q' K- s6 d! z$ b; x: N+ bA. 错误, E4 g% w7 A# c5 h6 \% q4 I3 \
B. 正确
& s0 j$ w, E, ?* H3 d' E, u; b16.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )$ ~) f8 A( f, r; A" N/ y: N
A. 错误
/ |: T) F: I" y3 D! W% \- y' K/ }! LB. 正确
7 c( U& p5 `% k0 h0 r1 l( E- }. H17.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )6 M, d2 _3 F. Q* Q9 I" Q; c0 I
A. 错误
7 `+ p8 g+ }9 N& B8 i3 wB. 正确9 H# g; i6 L9 Q: Z/ b
18.空类型指针不能进行指针运算,也不能进行间接引用。( )5 j1 ~) w! E* W6 l$ ]/ @
A. 错误 M6 h6 h, C( Y
B. 正确2 J+ y+ k9 e7 r; O+ e
19.通过使用不同的类型参数,函数模板可以生成不同类型的函数( )
; Q+ ~ s# N+ l/ E- DA. 错误
6 E4 p* p7 g# f8 ?6 R+ ?, y- @! }2 @B. 正确7 |) Y# H1 A& \9 U: ^9 d- v0 L: @2 {
20.字符型数据在内存中的存储形式是ASCII码( )4 W* D" ~% j) ]0 x" C5 @
A. 错误3 |+ J; k( b" |( P9 C
B. 正确 |
|