|
福建师范大学8 X8 y0 A, e. Y
福师10秋学期《C++语言程序设计》在线作业二8 [1 h5 v W S5 Q2 N
单选题/ X. e; s* B" X3 F& L% ]! j0 e
1.析构函数在什么时间开始调用。( )
: _6 \5 |( F) ZA. 类创建( \+ |' h" ~. w* w% R, N
B. 创建对象
1 p" p1 I5 K) s5 z+ FC. 引用对象5 ~/ K3 x: h' G! O
D. 释放对象. } w) E& q" {, Q, y! j, {" l. X, z
资料:D
: p. n" j6 w: Y; W6 j; V/ e" s- f% u9 _2.以下哪个不是循环语句( )% L4 M% ]# m% f
A. while语句9 K) ]' v b2 H1 p' R
B. do-while语句' k0 u6 c9 B4 D. V
C. for语句
- M6 \3 E; I# P" b: V; CD. if-else语句
6 k. d0 S0 U+ a' v资料:D8 {: [' e1 {0 P4 O' ~
3.能正确表示x>=3或者x<1的关系表达式是( )- k+ H# P/ t. ~- Z. f6 x
A. x>=3 or x<1
' G3 R4 [; Z, { `/ z* q- EB. x>=3|x<1
4 E; x$ p; e5 f: y' u3 K: F5 ZC. x>=3||x<1$ U% r5 d# x6 {$ L: M
D. x> =3&&x<1
f: H. d b. p1 u, ?) I5 V资料:C, K6 \7 J& M& W: f. [+ T9 |- d
4.如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换( )! Z4 x$ i9 w$ }; P6 t6 _ d
A. x=x+y,y=x-y,x=x-y' m. |: `3 Z& S
B. t=x,x=y,y=t
4 o( \; x; [8 J; }4 fC. t=y,y=x,x=t* Q6 Z! w( `. j) u% z8 t
D. x=t,t=y,y=x0 j! _8 k2 ~4 G
资料:D9 k2 Q3 ^- F: N; i- G- b
5.一个类的友元函数或友元类能够通过成员操作符访问该类的( )
; k8 B& Y# y) W q0 |A. 私有成员5 o c7 M. t3 N p' t
B. 保护成员4 s6 k4 q8 L: \6 |% W7 w
C. 公有成员; o9 E" E2 d) @2 \2 p& A8 M M
D. 所有成员
- l6 C# m C: z; q3 {资料:D
, d3 l' J7 l% }9 k6.以下各选项企图说明一种新的类型名,其中正确的是( ), y4 e4 h- [. H: `, _! G0 n
A. typedef v1 int;
9 E2 T# Y1 f. K1 E/ TB. typedef v2=int;9 S9 r* d6 q1 K4 l& O) a; o: i
C. typedef int v3;" `/ n- H* R3 o6 H4 ^& l4 _
D. typedef v4: int;
0 s/ V& ~! p) b+ g2 U& P- T9 o( A" }资料:C6 K/ p- t! `8 A& Z: N9 S4 Z
7.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( )
9 B V& Q7 @% h' n# V9 t* d* WA. a<>0
+ N; I" Q, m) W sB. !a# A& u4 t1 a4 v2 O2 x8 o
C. a=0
5 |2 z6 W. u. Y4 dD. a* W+ i* i8 Z, S7 c
资料:D9 F" r' ~6 `- B& x6 H }/ v+ B
8.派生类公有继承基类时,基类中的所有公有成员成为派生类的______。( )
8 p) z! t( W) z( Q) _A. public 成员3 y. _/ b% ^) o. Y# @9 I* p
B. 友员
( f& ~: Z3 u4 eC. protected成员7 U: w# ]% K# [7 ~/ Y& E
D. private成员
{: m; s }2 i资料:A
6 F0 y1 g$ g: E4 u7 H; }8 }; M9.函数重载体现了面向对象的( )# J( m7 W+ ~3 T' |! p: y
A. 封装性
4 S- V( J# x X0 {* gB. 多态性
0 t% _7 @# b! Y' wC. 继承性
1 D z7 a% y9 o4 l0 ^+ O# vD. 抽象性8 M4 S) `$ n2 b/ q6 Y- N. b
资料:B
+ N1 }% m3 Z/ k2 ]# p10.已知下列语句中的x和y都是int型变量,其中不正确的语句是( )
) h& E9 @$ Y2 q4 DA. y+=++x;! I. y; G1 _+ u# a
B. ++x+=y;
( Z8 {* ^$ W Z z4 M1 BC. y=x++;, H' D" q% Z6 ]3 q
D. x++=y;
1 v8 `! g5 D6 {9 |11.下列函数中,可以为虚函数的是( )
1 ]0 G* J9 Y) c' V! d. A. {3 EA. 自定义的构造函数
}1 i( @5 z5 U3 D9 ^# RB. 拷贝构造函数* |4 w; X8 ^; v, ]
C. 静态成员函数
$ y, O- J5 o. j/ V3 K2 }- GD. 析构函数
& F5 R6 D- C8 M12.静态成员函数仅能访问( )/ ^* e: L" ~/ j" c4 m7 m# L* @1 G
A. 静态的数据成员8 D1 o/ G' J: S" n% {) [/ i4 f" G
B. 非静态的成员函数
. k2 V1 ^. z/ A2 ^- BC. 非静态的数据成员
% |& u: W8 T/ {; nD. 以上都不对
, q( W! ~% D& [9 x% t* y: T) P% h13.在下边的二维数组定义中,正确的是( )
" S, D0 B5 m6 G8 f' MA. int a[5][]! \/ }4 K/ J7 _; ~4 F9 G b, Z
B. int a[][5]
9 @2 G5 m w" Z- mC. int a[][3]={{1,3,5},2}
; R. f6 d9 `" G3 i% u! l5 xD. int a[](10); l2 [: R: S0 k* U3 x. i
14.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( )4 \) E& M& B5 e& L" `. Q" N
A. 先调用A类的构造函数,然后调用B类的构造函数
/ S& d2 ^7 G2 m( S) |; EB. 先调用B类的构造函数,然后调用A类的构造函数
% {8 Q3 }" \2 R5 q, ?5 PC. 不调用A类的构造函数- q4 g9 u3 v5 ^ s* `& N
D. 视定义时A类和B类出现的位置) V# p5 r4 p7 P1 c1 y- O6 b
15.以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); }
{$ \( K9 D% V# v1 j5 |7 G% qA. 求字符串的长度
+ m a K) ]8 |1 W% r0 ]B. 将字符串x连接到字符串p后面3 d1 U! g2 @; [1 h$ H
C. 将字符串x复制到字符串p中
* F% m) m. a7 i q: ?D. 将字符串x反向存放
: N$ w6 t3 Z7 `3 K16.关于异常和C++提供的异常处理机制。不正确的说法是( )& H& Y, s5 o3 P P
A. 若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现# B" Z2 \0 C; W1 }6 z" ^* ^. Y2 a4 k
B. 使用dyname cast操作符可能会发生异常
8 V6 M8 D- ]5 A. B* SC. 异常可以用catch捕获处理6 N; E- M2 s9 o/ B. I7 M& O
D. 异常可以是对象,也可以是普通函数
0 v) m. d, b0 u% W9 \) p) Q17.以下哪个不是循环语句( )
7 S/ {0 R# G) z. C/ u+ [( QA. while语句
3 V8 p+ P4 T: g2 ?% RB. do-while语句
! s+ \! G$ W$ |1 Q) }6 PC. for语句2 w7 V& J+ X8 ]9 r
D. if-else语句
1 U: a* a, D% Y/ R4 K' Z) V18.能做为C++程序基本单位的是( )
; l B3 [+ w6 {9 f7 m7 N9 HA. 字符;% |! n) F6 U- C, k K; u8 X' Z
B. 语句;' e( G. V) ~- C3 V9 J
C. 函数;
! a- D( s: J2 a7 _0 qD. 源文件;
, X. ~. s$ N( v19.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( )
, j6 @6 J2 K. nA. 4
1 Y- y+ {; F5 p: J1 X) N1 rB. 10' |5 m! ^& v* M& Q
C. 113 D! h, ^: `0 D! V v. J4 F
D. 402 z- R2 h9 q F3 ~/ j4 e* ]
20.已知字符"b"的ASCII码为98,语句printf("%d,%c","b","b"+1 );的输出为( )
6 @+ O0 Y) M( t$ e) }/ r' OA. 98,b9 m0 G: U! j# l( F4 a
B. 语句不合法
4 a- X. ?. P5 LC. 98,99
2 }% m- }. T- V$ d- f6 W5 N- ]) hD. 98,c. B! r, f) S6 d+ [! O
21.下列对基类和派生类关系的描述中,错误的是( )8 f5 j) S) a I/ ?
A. 派生类是基类的具体化+ q/ `+ `' M# I/ `6 z) U& s
B. 派生类是基类的子集# m% q; Z8 @# c- x0 D
C. 派生类是基类定义的延续1 [$ e6 q% q' a" c; q) }% W
D. 派生类是基类的组合
4 z& H% w' O" x* R) |3 ]22.C++程序源文件默认的扩展名是( )
2 ^% ~7 _- @. ~A. cs
2 n1 S, ^/ L/ U0 ]6 P: E1 L. AB. obj" R- h4 V( k6 A5 {4 j9 V
C. cpp- c0 E7 c( b% y; L9 o" o* e- `" Z
D. exe$ B( }7 X( M8 `- x( w( Y9 F
23.下面不是面向对象程序设计的特征的是( ): A3 s2 [5 h' ^1 }) Z: G! p% B
A. 封装
: H$ c% A0 \$ Y4 HB. 继承1 v# @% [* o6 P. Z
C. 多态
0 t8 [2 ~7 }) C$ `D. 结构
! T1 X, h- V9 Q9 C% Y/ f24.在下列运算符中,优先级最低的是( )
, c+ E6 _7 N1 k- K1 f" pA. ||
* @: [2 t" Z* E# H9 Z4 D" sB. !=
( u- ?2 ?$ y* F5 \C. <" `! Y1 G# c ?& J
D. +6 h0 g. `7 m( e* P/ m* [( b p
25.在一个源文件中定义的全局变量的作用域为( ): s2 P. t& Y4 z
A. 本程序的全部范围
! M% Q: ]2 R0 z+ IB. 本函数的全部范围
8 F: U8 |6 r+ B% d. l LC. 从定义该变量的位置开始到本文件结束, o- `* ^; X3 y* G J' u5 B
D. 以上说法都不正确- F; u2 e/ o( @4 |+ c1 q
26.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
2 B5 V" V. K$ j: UA. 数组首地址
8 i% K5 o H8 uB. 数组的第一个元素值
$ K+ o8 |- s' ~: \! C0 qC. 数组中全部元素的值2 h8 H* D# M- w
D. 数组元素的个数
! H/ z# T6 L2 t; N8 l27.当说明一个结构变量时,系统分配给它的内存是( )
4 S! z/ d5 p# R* |) W; YA. 各成员所需内存量的总和) V* @ y& E7 w0 D+ V6 E1 _
B. 结构中第一个成员所需内存量9 S) @4 E2 L, D+ W+ T
C. 成员中占内存量最大的成员所需的容量2 M9 H! X) C( s
D. 结构中最后一个成员所需内存量
* [4 G: V' i: s! Z% P28.下列do-while循环的循环次数是( ): 已知:int i=5 do{ cout<<i--<<endl i-- }while (i!=0)4 d/ v5 @: ^) ~$ a: X; k; j# F
A. 0
3 b z* y( ~# |3 _B. 2 W1 O3 @% ]+ X! c; c0 u
C. 5
7 R# s* k6 M4 J: V! e( DD. 无限次/ D3 {. u; y6 L0 N ?% H- Z4 Z B
29.下面的函数声明中, 哪一个是” void BC(int a, int b);”的重载函数? ( )
/ l2 P! b0 r5 O5 _. g5 yA. int BC(int a, int b)
; w1 e, ]6 R6 Z/ {# a7 fB. void BC(int a, char b)3 W2 l. J* J( q5 a5 [: ?$ ]% N
C. float BC(int a, int b, int c = 0)* A- ~' r: \3 F& |8 C- \
D. void BC(int a, int b=0): _; s0 Y# W5 _# G0 z, ]' c8 ?
30.如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c<d?c:d ” 的值为( )4 j! L* k5 g+ X1 I8 T
A. 2, D V' F+ G; o4 ~
B. 3" I8 Y) J/ c* v. q( m
C. 19 n8 {% M w# m" n8 f" |
D. 4
B0 W8 H5 g5 Q$ O6 J, E判断题
3 b0 x( Q; g4 b3 A1.C++中,一个函数必须在函数声明后才能使用( )
- o8 z" i8 \* l% qA. 错误
6 W$ s6 {7 N$ W8 n WB. 正确5 V& `% A0 Y$ a, A
2.带extern的变量说明是变量声明,也是变量定义。( )
/ |/ I4 U8 Q$ RA. 错误
" U0 {2 v, j, v3 F. K3 j8 I KB. 正确- Y: M( ]4 r$ R1 V
3.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )5 [2 |2 d. O/ M1 I: j
A. 错误7 l& y( X h( J$ \
B. 正确6 R% U2 S& d2 \% G
4.typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( )
1 E2 M, W; [5 K' M5 [) M1 XA. 错误7 a4 s$ o" m, |4 ?! ]0 r. m: s1 g
B. 正确/ f: F- V; m: r4 C
5.函数的返回值也称函数值,返回的不是函数本身,而是一个值。( )
& _. M% D7 B, A( u% M9 jA. 错误0 r& n! I# X8 r: E
B. 正确
! U: J/ k) {: @6 _1 T6.C++语言程序中,main()函数必须放在程序开始的部分( )
# L2 h* L9 t: R$ sA. 错误
' ]0 Q. Z* p5 J) Q' d8 NB. 正确
1 m) A q: F7 @& k! O/ Y0 ]' f& M7.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。( )
, w0 P+ f- R C% O' Q5 p* ?A. 错误! ]% l1 N) n7 h
B. 正确 n! n( b; v1 j( ~2 {) G8 A# p# w, M
8.C++语言程序必须要有return语句( )) i. _' y8 K& z: Y( z' y5 {+ w8 n
A. 错误/ O V/ }1 p- J
B. 正确" z3 Z% L0 y5 Q
9.C++语言中,标识符不区分大小写。( )
# y* N- p% a6 N0 C. [3 `4 K3 @) yA. 错误
, L# n6 \+ B7 H U: [B. 正确
2 s& F4 d5 E9 W% i10.静态就是让变量和函数在生命的区域内成为私有。( )
7 ?0 k' z- Q* lA. 错误
4 E3 p3 M p" X$ k4 ?% E$ oB. 正确
& g) ^/ v2 p) g" w11.一个类的成员函数可以任意被调用( )
% x$ G3 A% b! S# w2 oA. 错误
. e! F: H+ X& ~$ G$ E! x. v* cB. 正确& ]1 r! p) ^9 n$ `* ]2 U! ^
12.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( )
8 |# i4 u$ i9 @+ ?/ r+ x+ G2 wA. 错误* U/ i+ b3 O6 [, p
B. 正确# J5 N U. c3 y! U5 h! I: I
13.常对象必须进行初始化,而且不能被更新( )
# \. ?. A/ k+ y" ~3 J yA. 错误
5 k8 t# C6 V5 N0 U+ V% E- |+ `# zB. 正确% s0 Q% k& I2 p0 v
14.C++语言程序中,要调用的函数必须在main()函数中定义( )7 {" L# }! f5 S9 r- [, `
A. 错误! d( N3 v$ ?; n/ i
B. 正确
0 q. E% v1 \$ ]' I& m15.C++中函数声明就是函数原型。( )
/ p: B, Z- k) E( k0 T$ u3 v2 l/ {. CA. 错误
' t" U2 o8 ]" y% `B. 正确0 {; Y" _' I6 I- i/ f9 F
16.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )2 c7 b4 P2 t e* z* f* K
A. 错误6 p: H8 e' d9 T; I) x, ?
B. 正确( ?6 S9 G% ^: s% b
17.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )% n% k4 X2 B' I/ p$ q
A. 错误
' z8 W0 u4 p7 |" q- y/ qB. 正确
+ s" A0 k# b- Z: P8 O7 M18.空类型指针不能进行指针运算,也不能进行间接引用。( )
2 z2 V- ~* Y5 X3 EA. 错误& \* b1 W% H. l
B. 正确
6 r4 K- M+ G4 b( |' ^ n19.通过使用不同的类型参数,函数模板可以生成不同类型的函数( )+ _/ F; j8 d+ q# H. k: p
A. 错误
! g. j8 |6 `" m. yB. 正确
# Q2 n+ J( b1 @. d# u4 @& G20.字符型数据在内存中的存储形式是ASCII码( )5 D* L% h! e; [ b0 u @+ b: O
A. 错误! w9 B$ `% R# k) T, H x! M
B. 正确 |
|