|
福建师范大学
5 @, M5 Z. @# R7 z, Z1 q" G9 | w6 n. S福师10秋学期《C++语言程序设计》在线作业二! P u1 X: x+ h; P# b. u) Z" m
单选题
$ n3 D" ]+ i, D1.析构函数在什么时间开始调用。( )
8 C1 p/ w& Z7 t6 a; ?+ ^A. 类创建
# ?! a" m2 l+ j. w( DB. 创建对象' j; d& _. ]1 o* b/ `" }( e
C. 引用对象
( ^2 F D, F9 C- d$ lD. 释放对象
8 W2 m5 [2 Q# U$ \资料:D
6 w( ]$ H, n; I2.以下哪个不是循环语句( )* d% y6 _& E: E, w, I0 E5 }. C) }
A. while语句. B( a# m( D# D: ]+ k6 ?
B. do-while语句8 _. ^5 x* k; r$ M( ~
C. for语句3 w' P) F7 a8 [' x% j1 M
D. if-else语句- |/ v+ ]5 V1 K- w: e. e
资料:D* n: Z9 F, d, o) l9 J1 p- c5 E6 \
3.能正确表示x>=3或者x<1的关系表达式是( )( n0 X. C! }& C- R
A. x>=3 or x<19 ]8 s! O' I. j; x
B. x>=3|x<1
" e8 y V. |* ` w$ X4 |& |& t- UC. x>=3||x<13 F6 L K5 E: B8 T7 D7 B
D. x> =3&&x<1
6 {$ {" H( }9 x6 {5 R8 ~. n+ c资料:C
* O9 P \2 h4 H' o: B' r4.如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换( )/ |5 V$ D- O1 T3 s* ?
A. x=x+y,y=x-y,x=x-y U3 H: ^6 H& I* C" h% H( N, ^
B. t=x,x=y,y=t% \* N( z$ E. O X
C. t=y,y=x,x=t
! a2 c' p: A2 zD. x=t,t=y,y=x* e$ E' ]6 x5 h* o$ G5 U
资料:D( o7 D& U3 E! @" m# Z
5.一个类的友元函数或友元类能够通过成员操作符访问该类的( )
( q" \, Z8 ?6 A) N' p8 n, @A. 私有成员
7 D+ m+ F8 U' b2 n2 nB. 保护成员) f6 b0 B9 ^& G W) l; V
C. 公有成员
( l5 T" I k' pD. 所有成员! s; A' Y i# ~# V9 ?
资料:D
. N! i/ D1 ~1 I7 F6.以下各选项企图说明一种新的类型名,其中正确的是( )
' p: D# T0 X5 v6 z; |$ u( PA. typedef v1 int;
8 d) g, t8 m, K! J$ ?B. typedef v2=int;, f6 l4 _, S9 V w' U
C. typedef int v3;7 g8 k: u+ c+ `$ q4 ^8 v
D. typedef v4: int;0 K2 k ~' ~) \6 Y* F
资料:C! b9 ^; Z$ H+ B0 u1 Q
7.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( )/ N; n$ T" T# P: z3 b
A. a<>01 P" I8 g- \8 D" {" O
B. !a
, V- d2 f9 E9 f! ]6 SC. a=0
# J* J" q. n% X5 i: }D. a) p" E( |$ n% g6 Q8 i
资料:D9 f; k- e) {8 H) z4 e: w
8.派生类公有继承基类时,基类中的所有公有成员成为派生类的______。( )" T* A. Y, C" z1 ~' O
A. public 成员
, J& j; g/ b. F& KB. 友员
2 C% t* r) \* P* ?9 [$ MC. protected成员/ n/ p G* ~7 j! Z9 c* o
D. private成员 i7 C8 ?) O# ~$ j2 m
资料:A$ S. g1 G3 M+ K' D
9.函数重载体现了面向对象的( )8 j) a% N3 W* [* G: ?8 }
A. 封装性1 D- h1 m6 L: w% L$ {6 B5 J2 G
B. 多态性. R7 j- ~; o) `; |# ~* ^; ^5 x
C. 继承性
& V( M) ?; o( M" I3 `4 sD. 抽象性
/ H5 {' f2 ]+ k& H. T3 b2 U资料:B1 p4 Y& J4 B% M$ [
10.已知下列语句中的x和y都是int型变量,其中不正确的语句是( )" H4 {; q' _% x2 N
A. y+=++x;
. _9 @( s! o6 SB. ++x+=y;6 a5 m: O8 F) u& g$ x( E8 \
C. y=x++;+ C& B- G( k# l* q) D, ^
D. x++=y;
% e. Q: D0 y1 Z9 k* m! Z/ K11.下列函数中,可以为虚函数的是( )9 ~! ]0 ]+ I2 u& r& J$ ]0 A
A. 自定义的构造函数
; [, o$ [ x$ `5 S( lB. 拷贝构造函数: m, Q1 d+ T- b2 f" y2 k
C. 静态成员函数6 A! G! e3 v- \: [
D. 析构函数
4 _4 W5 i8 R& d; t8 i12.静态成员函数仅能访问( )
1 R% z* W5 D# ^1 s4 r' uA. 静态的数据成员" g! D! M f, ~1 G5 W) B: z
B. 非静态的成员函数
, d& k$ L& a" U- P' Y$ r# y7 ?( _& OC. 非静态的数据成员' D' s" o. c& U2 Q
D. 以上都不对2 I5 Q0 h) [( {7 t% }+ L
13.在下边的二维数组定义中,正确的是( )/ B A* q3 ?! \9 Y
A. int a[5][]
. U" W" R1 `. v# qB. int a[][5]( s4 o9 B5 s9 Y' O- U5 W
C. int a[][3]={{1,3,5},2}8 |5 e( n8 `: y! L0 A
D. int a[](10)
. e' C0 e7 h: ]1 L& [# r14.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( )
* W7 r6 D m7 u! s* P! D9 ]A. 先调用A类的构造函数,然后调用B类的构造函数
# p U) F5 D. ^. J- D8 h+ [- iB. 先调用B类的构造函数,然后调用A类的构造函数
/ [' D9 m1 c. N/ u u( g9 xC. 不调用A类的构造函数8 p [1 ]- a) ]
D. 视定义时A类和B类出现的位置
1 o8 c) t) s ]5 S G$ g& d15.以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); }
1 y6 o) e3 u n; P" g# f# `& kA. 求字符串的长度+ Q3 ~ B8 n% Y- E, Z
B. 将字符串x连接到字符串p后面
/ t0 K1 [0 c- p$ M6 M9 sC. 将字符串x复制到字符串p中
b! o: l7 D9 e% l1 L' C' v! WD. 将字符串x反向存放
# b8 [ q/ ]% }0 L* }% G16.关于异常和C++提供的异常处理机制。不正确的说法是( )4 |, o4 e! F# v
A. 若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现
/ N% ]; j y$ G7 n2 S3 NB. 使用dyname cast操作符可能会发生异常
g2 v: Y5 k3 e6 R5 A5 s( TC. 异常可以用catch捕获处理3 S$ P. f* n* h% R3 J7 b: `
D. 异常可以是对象,也可以是普通函数' \+ U N+ C( P' D" m( }
17.以下哪个不是循环语句( )
2 D5 |: d( F% c1 m. g/ |A. while语句
. }! D+ P) t% B% `# D1 kB. do-while语句" o1 H- e8 L; N
C. for语句7 C! d Z, A: k6 J+ D, c
D. if-else语句3 e+ s$ J+ [' _) ]
18.能做为C++程序基本单位的是( )
L4 ]- [; j4 f9 e6 lA. 字符;2 C" Y0 M" M3 N
B. 语句;5 C, E" @, }) J$ ]+ u
C. 函数;
3 x d& E7 M. _7 h& b' k% Q& _( ND. 源文件;0 x7 E2 h2 T# T& a7 B& A
19.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( )
3 G4 A" D4 H7 o3 F$ T% ^A. 4! w l! V d6 H* ~; e
B. 10
1 ?3 c3 g; D( w+ V# ~2 V0 S4 P3 kC. 11! Z* W! B8 A2 N# U/ t4 {3 j
D. 402 k, F7 o& n- [9 v
20.已知字符"b"的ASCII码为98,语句printf("%d,%c","b","b"+1 );的输出为( )
" l7 H& C! I$ f8 o: O( {A. 98,b
2 \2 w" @5 Z% ?; @( |B. 语句不合法5 u' w+ d3 [ ~( P
C. 98,990 V* z ], L& y! T5 _2 P
D. 98,c
; {) A3 l% r' e3 J7 n21.下列对基类和派生类关系的描述中,错误的是( )
' L1 Z1 B2 D" yA. 派生类是基类的具体化
: Z, ]+ e1 A( Z5 UB. 派生类是基类的子集 _; N; Z+ {# _# \! l4 E
C. 派生类是基类定义的延续
: l6 y- Y; j0 M# ]D. 派生类是基类的组合0 ~+ x! b6 j( e+ g# n/ m2 K
22.C++程序源文件默认的扩展名是( )0 t. I1 @: w, D l+ K
A. cs
7 G! `% | d& w( p, v4 {B. obj- f" S5 ^5 t" Z( j# _& d! [, |! Y
C. cpp3 P/ N9 R: N5 m" X
D. exe
/ ~( h2 m0 r, |$ z& t9 `23.下面不是面向对象程序设计的特征的是( )+ i5 r" ^) b3 L
A. 封装
9 q9 |/ i5 h/ {9 e7 ZB. 继承
5 o$ w/ S; ^+ f. m& Z wC. 多态
x! K. H+ q% H" E% [9 \0 G+ C" O' nD. 结构
' d" M, o* [+ x* R( B6 @$ K24.在下列运算符中,优先级最低的是( )7 C \* F+ E' w" ^
A. ||# l0 S& N2 q* |
B. !=
7 L( A/ ]5 Q! f% V$ yC. <" N: \& X9 q. p p
D. +* w9 h J% l% D# J# S8 x
25.在一个源文件中定义的全局变量的作用域为( )
8 y3 {" }6 B4 N4 Z7 c# Y: o: r; pA. 本程序的全部范围% V3 c* s. q, o3 Z/ \
B. 本函数的全部范围# @8 e+ v. `2 I, q
C. 从定义该变量的位置开始到本文件结束8 S' X9 G1 I6 N; F8 b7 F+ \* G0 |
D. 以上说法都不正确) Y1 J1 H: s* d' h
26.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
" g4 ~' ~! w/ L/ {) w$ ~A. 数组首地址
4 a& w( O8 c# Z1 A8 I l; w# @- pB. 数组的第一个元素值
1 i" G* ^7 Z2 g( M3 K) nC. 数组中全部元素的值
& S+ C' X) a4 Y, o/ K, mD. 数组元素的个数
$ `, x: M' T* D8 T- z8 I% ^27.当说明一个结构变量时,系统分配给它的内存是( )
' o& i. q2 O/ aA. 各成员所需内存量的总和7 y2 t7 m5 P6 s
B. 结构中第一个成员所需内存量
8 b- ?9 l+ ^7 S& y7 |3 P8 ~C. 成员中占内存量最大的成员所需的容量
9 S( e% H) C+ O9 L' ]' VD. 结构中最后一个成员所需内存量: ]* g; u- y& W# G5 p
28.下列do-while循环的循环次数是( ): 已知:int i=5 do{ cout<<i--<<endl i-- }while (i!=0)5 ?9 G+ `7 f4 j8 r
A. 0
3 C `4 W! F/ |0 {( j" DB. 26 K1 c" Y$ g, L; u9 a
C. 5
. }: i K' X- J: O6 i6 q! [! jD. 无限次! O0 f: j* ?' Q3 [
29.下面的函数声明中, 哪一个是” void BC(int a, int b);”的重载函数? ( )/ b, N" \9 o1 t$ F9 V
A. int BC(int a, int b)4 i" M* j2 E8 X2 [; D" S1 k% U4 V
B. void BC(int a, char b)3 M# [( q; a- N; X% \+ \- O
C. float BC(int a, int b, int c = 0)% y+ V6 X j0 ?
D. void BC(int a, int b=0)# U, P1 ^ g+ L7 h% ^
30.如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c<d?c:d ” 的值为( )
! ?0 ]( |" y, }. }A. 2
" n# r) f5 S( U! ]2 f1 ^B. 32 y a3 m$ O6 n' ^$ X5 }
C. 1
4 b2 y& b- F. p( [1 c6 V3 {D. 4
, ~2 Y I" J: n- E2 T" g判断题8 X/ O/ S; C0 O5 y
1.C++中,一个函数必须在函数声明后才能使用( )
; Q: z2 f9 o) _( {# j: b; hA. 错误
# @+ ?& d2 @6 S& I# B5 b. @4 w/ RB. 正确+ N1 x/ ?! L4 x6 e# T. ~% ~
2.带extern的变量说明是变量声明,也是变量定义。( )# h6 [2 S K2 \7 y7 v5 H
A. 错误
) @& U+ q3 A" q, L6 F, N! VB. 正确: }9 S5 K/ X8 I$ Z) ~3 g3 J3 N
3.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )3 C: K2 X7 T6 O7 @) j
A. 错误' E' {' e7 _* l, s+ Z
B. 正确0 D" S/ r! T' }5 ]
4.typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( )* \: F- {7 |. ^. \! j% l5 }6 E
A. 错误' V' T, o" Z2 G7 u
B. 正确# R; _* E; h: k ` Q
5.函数的返回值也称函数值,返回的不是函数本身,而是一个值。( )6 U _4 Q4 A9 ^4 I* e( I4 Y
A. 错误! U: {$ O, f% _* i0 o6 i" y* A
B. 正确( P5 v& `4 [4 Z2 n
6.C++语言程序中,main()函数必须放在程序开始的部分( )7 d7 J- t, T B$ V! M
A. 错误" W j8 t# F, E6 z3 V) ?5 N& c
B. 正确
4 v) f9 L/ e$ M b7.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。( )
o0 E2 I# k' I% w4 M; ]/ iA. 错误' d) L f$ `- n2 D5 c% W9 V
B. 正确& F- `: h& E! U
8.C++语言程序必须要有return语句( )0 d ]0 d- N$ J& ?. l/ V
A. 错误
% L, ^* y* a. t! M: uB. 正确
5 L9 V1 [0 Q: O) J7 n8 M1 Z9.C++语言中,标识符不区分大小写。( )( n0 Z& _( L" m) a4 T" L4 ]
A. 错误
U* _, |2 h! n8 N3 QB. 正确
: t6 z$ y4 t/ I! @+ r10.静态就是让变量和函数在生命的区域内成为私有。( ). h5 p4 M" }2 c$ C6 C R/ p; _
A. 错误2 ~* [' e) _8 D2 c) X% F; I4 h
B. 正确
7 y4 _; F( J/ n" U8 o11.一个类的成员函数可以任意被调用( )2 k& j+ D0 n- x' G+ Z7 U, O
A. 错误
" O6 R7 a. F5 }% C8 r* g4 qB. 正确
9 Y. V7 M8 J1 o; P12.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( )
! d; P: K$ ]' k: N4 \A. 错误
# n p& V- B$ x1 b# d# mB. 正确6 y% `/ `: @% x% w, ?6 z
13.常对象必须进行初始化,而且不能被更新( )
1 e$ D9 H1 E5 z$ m( z+ VA. 错误$ `7 H% Q# D6 ?8 ^( v
B. 正确& ]2 J0 K+ s7 S, i
14.C++语言程序中,要调用的函数必须在main()函数中定义( )$ r3 ?$ P6 M' ?; |9 }
A. 错误9 d. }3 a9 H7 w3 ]4 |7 Y& L
B. 正确
& G/ k% T; f; @" g5 b' [6 r15.C++中函数声明就是函数原型。( )* i+ A9 O5 K$ r/ a3 K
A. 错误. k: D4 |; S( v% i$ o" _ I0 U
B. 正确; n0 h/ U# ?/ F; v$ X$ J, T2 G6 K! y
16.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )
1 M$ O- P3 C* @- }0 L. w2 j2 RA. 错误
* G8 q7 U8 ^2 m6 ZB. 正确, F* s5 f3 J8 E7 O; l
17.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )5 W" u" N: l9 W6 j
A. 错误% S; W3 J. V) k- A
B. 正确) q# Q/ P& b! J) E5 U1 \
18.空类型指针不能进行指针运算,也不能进行间接引用。( )
& x& u! S5 k' Z+ U9 BA. 错误
( h* N; C) S- g0 w, Y) g5 F2 r0 [1 gB. 正确
8 M/ ]6 X; [6 v6 O) c V19.通过使用不同的类型参数,函数模板可以生成不同类型的函数( )! `1 @5 P( h) A) J8 {9 x
A. 错误
' e1 v3 i# ^* JB. 正确
- K& ~. j1 v8 f' o20.字符型数据在内存中的存储形式是ASCII码( )8 J/ R* ?* m" l! C- H% [% r4 g
A. 错误
: z$ e4 \. W! [7 s, E' D7 G$ xB. 正确 |
|