|
福建师范大学
0 ^( i7 r( E+ U/ ` S福师10秋学期《C++语言程序设计》在线作业二! r% k; X; |9 \. Z n$ A- j2 z
单选题7 c7 }/ z% y+ Q& |
1.析构函数在什么时间开始调用。( )
% \3 }) ~% W8 ^% ?; F, X o% eA. 类创建7 ?0 u. T" e% p5 E$ d$ j
B. 创建对象
" \+ A! h9 R4 V2 \- G' r4 q3 wC. 引用对象
9 T3 y3 z# u4 ]6 |1 o. gD. 释放对象
4 f1 A# r5 }$ N9 f( w+ ~5 G资料:D
* z1 L Y) |2 H* q2.以下哪个不是循环语句( )
, J+ G5 s: G# O+ e" S7 i9 P1 zA. while语句- y# c8 p9 V" e/ l' y% h
B. do-while语句# d% \: |; A, C3 ^
C. for语句
4 G6 I. h# ]$ VD. if-else语句
9 k a' y( E1 \0 O9 h* o0 e: B R资料:D
6 F3 J% R& v4 D6 g! ~3.能正确表示x>=3或者x<1的关系表达式是( )
+ x+ P* g2 R/ g& yA. x>=3 or x<1
" G P+ v+ n3 A6 r xB. x>=3|x<12 ?# J/ T% ?/ H* ], p
C. x>=3||x<1/ S& m) X/ O7 i; b. y; Y! z) h
D. x> =3&&x<17 U/ W. f; f! \0 @
资料:C s* P4 B2 C$ _% `- G( ]7 z' j
4.如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换( )
! u: q0 @0 T" \A. x=x+y,y=x-y,x=x-y. I2 B! X: I7 Y7 n5 t1 r
B. t=x,x=y,y=t
( U4 Y9 [: e8 [3 h! q! X( V% k, C5 iC. t=y,y=x,x=t- l/ m2 U B, Z% F: U1 N* V
D. x=t,t=y,y=x
& ^4 S, L& L% F$ |资料:D9 }0 t/ {- t1 C1 j% M- W
5.一个类的友元函数或友元类能够通过成员操作符访问该类的( )8 _1 N5 x# H W: s6 J
A. 私有成员1 `( h8 }. x3 | I4 Z5 m
B. 保护成员0 C. Z" m0 p. `3 m
C. 公有成员# Q: f: _! t+ _8 L
D. 所有成员! U9 X. Q: C, E# X( S, g' k
资料:D7 G- r1 e1 a6 ]& Q7 j% z9 D' v
6.以下各选项企图说明一种新的类型名,其中正确的是( )
, j6 {/ n6 ]/ P# Z* l+ \7 vA. typedef v1 int;
6 ~0 J; Z. x* q" eB. typedef v2=int;& n$ V2 Z/ V7 D
C. typedef int v3;
- U2 c. B+ w* `D. typedef v4: int;; T, ~5 S$ S. v' @7 K
资料:C
$ i) m- t2 L0 `; w7 g* `. N7.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( )" L/ V3 n# K8 f" v2 Q6 z3 L2 }) d8 a: g
A. a<>07 J j' A& M% l" G6 |7 ` y' J) M3 c
B. !a
) a h0 p; b& ]8 h) bC. a=0' k% j f0 @2 N
D. a$ P$ F4 D7 v' e) |% i
资料:D5 j7 k' n. ~0 R A7 `& @
8.派生类公有继承基类时,基类中的所有公有成员成为派生类的______。( )
' ?/ z: @- E+ m5 kA. public 成员
( u$ Q& M$ f4 \8 ], M: HB. 友员2 V/ t) q; A- L* \5 ` o
C. protected成员
/ [) l9 ~ J' ~3 yD. private成员
% z% `7 m0 m0 V' h+ y1 w. S i资料:A4 e4 a' l0 @4 P8 L$ V4 [9 t
9.函数重载体现了面向对象的( )
$ a/ x! ^2 v% X6 r P/ r1 k: yA. 封装性1 D5 p( V3 ?: `8 y) X) H- u( `% V
B. 多态性
4 F$ f) L" N5 P* xC. 继承性& C: z. D& x+ j3 p
D. 抽象性
2 f1 I1 {0 g! m* g! X资料:B! ~) k" T: l+ W7 t+ m
10.已知下列语句中的x和y都是int型变量,其中不正确的语句是( )
( D' y; Z8 o' D& H& Q$ \" Y5 D0 B7 |A. y+=++x;
/ K# U0 p, C: L2 [B. ++x+=y;0 V8 ?8 d. W- n: M
C. y=x++;
& Y2 v# S2 H0 |! ND. x++=y;
# a$ ~ `) R! z4 f2 A+ Q11.下列函数中,可以为虚函数的是( )( r- v+ _5 q- L+ t u
A. 自定义的构造函数
- B% x' [0 v( a& t% ?B. 拷贝构造函数
# V- [- S4 V" P0 FC. 静态成员函数
4 j! u6 @" z. e+ o9 I, @D. 析构函数6 g* K5 k( F2 K
12.静态成员函数仅能访问( )
u9 }2 n( ~% e7 \2 OA. 静态的数据成员9 e. q3 `8 E6 l3 X1 i) P, o1 s
B. 非静态的成员函数
8 L$ o$ c' ^* y* DC. 非静态的数据成员
3 B) O+ m6 l5 I) W2 n0 kD. 以上都不对% W/ i2 i4 C- P9 i/ A7 G
13.在下边的二维数组定义中,正确的是( )- U9 T5 B8 ^. Z2 C$ B
A. int a[5][]
8 n6 ?1 l& D% v# J7 _4 R1 H/ A MB. int a[][5]+ p* f' I' ]. q5 o2 w
C. int a[][3]={{1,3,5},2}
0 M( [! \- z; Q8 k6 K+ FD. int a[](10)) c( p6 V! N" u- X
14.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( )
1 a: C( O: J1 P; x* G% W5 P% XA. 先调用A类的构造函数,然后调用B类的构造函数, F( b# C# B+ i7 p
B. 先调用B类的构造函数,然后调用A类的构造函数
+ ?2 q/ D5 A7 GC. 不调用A类的构造函数9 h* i: D" T/ ^+ g. x! T z
D. 视定义时A类和B类出现的位置3 k% o; m' S0 d. ~$ U
15.以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); }
& u6 y5 ]8 o: T4 ]A. 求字符串的长度
5 [: V0 M% b( q; @# JB. 将字符串x连接到字符串p后面
6 Y3 i5 Y, J1 D5 p y. \C. 将字符串x复制到字符串p中
% Y/ K6 p E; F, ^* t- S( {- ~D. 将字符串x反向存放9 g- l' o0 @4 ?
16.关于异常和C++提供的异常处理机制。不正确的说法是( )
* J7 A8 ^" u; |" R8 ]2 U. H' pA. 若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现) N1 M" B) B2 L
B. 使用dyname cast操作符可能会发生异常$ K" F, o4 F9 Z$ M) T
C. 异常可以用catch捕获处理
+ B3 m8 F. R/ O# Z" YD. 异常可以是对象,也可以是普通函数* D1 L" I% B; {3 D) [+ u; Y
17.以下哪个不是循环语句( )1 [1 _' C) L4 h! P3 A, m5 z
A. while语句
9 r9 b9 W, ^& a: m* b, ^B. do-while语句* b7 L3 ]+ U$ v6 v A
C. for语句
, v" o: \6 f9 Z- GD. if-else语句+ O. p# a* m% ~$ G; P% Q$ i0 G6 q
18.能做为C++程序基本单位的是( ) K1 Q; u" Y/ Y8 R/ g
A. 字符;, w$ @. r1 m: O! _- g+ [
B. 语句;
$ ?- w+ U, a/ w+ o. s9 X* @3 ~C. 函数;! M, S- V+ {& y2 P- K* B. R" v
D. 源文件;* Z3 P9 N2 V& _9 ^% F
19.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( )
6 q# \7 P* V3 d% F/ EA. 4 D5 \0 P: a/ `
B. 10
- f4 L" ?( g+ I. j* ?C. 11
( O S+ D/ r+ h ]; S- q+ AD. 40, e j' x5 Z$ B2 |0 }
20.已知字符"b"的ASCII码为98,语句printf("%d,%c","b","b"+1 );的输出为( )
3 G1 Z% W3 C5 V% Z9 RA. 98,b* Q4 _& X1 J. B/ W
B. 语句不合法
% E4 P0 ?6 j7 M- VC. 98,995 o S* J% a/ @+ G
D. 98,c, F) p( v) C1 f) M9 w
21.下列对基类和派生类关系的描述中,错误的是( )
/ b. p0 j$ V9 w. t! e$ MA. 派生类是基类的具体化
% w8 y( A3 h2 x9 ~) l, vB. 派生类是基类的子集) R% P! ~4 e& |* g' V) V& Y
C. 派生类是基类定义的延续 y: e) ]" @! h+ ?0 A
D. 派生类是基类的组合0 j' B& o! F' o/ k! ~
22.C++程序源文件默认的扩展名是( )
9 k* c, P- ?5 s, _2 wA. cs: p0 A1 d! O& b. p" I' D
B. obj
# z' f" }7 I) b( [0 h: E0 G5 jC. cpp/ D8 K' Z) b9 H5 W3 ]1 r; i6 L$ I3 f: Q' R
D. exe
5 D* A3 R5 a/ X9 _- ] e23.下面不是面向对象程序设计的特征的是( )
, ?5 i: ]3 |( _$ r$ w* e" d* DA. 封装9 L4 i7 _) |7 `( C! T- a
B. 继承
" G- `6 M! }$ `8 `& v; s) F' uC. 多态
$ ^: H; ~$ O3 O& pD. 结构
& b4 O2 K' L6 F5 a3 v$ t7 U) x24.在下列运算符中,优先级最低的是( )5 Z# X2 T/ n- i" s/ N1 X' k
A. ||9 x- J- U+ r, S2 p% w' F7 g
B. !=
7 ^# W$ g: W9 DC. <
! v* d" \: o1 }, C" w6 VD. +
! n$ S- L1 g( z25.在一个源文件中定义的全局变量的作用域为( )
6 s9 k! Q3 L$ B! e, \A. 本程序的全部范围
$ D6 r. W7 b; q' b8 w0 C9 Q9 bB. 本函数的全部范围
9 ? Z% [# m- ^4 d0 MC. 从定义该变量的位置开始到本文件结束. `( m* _$ b6 b% V7 j N% H1 L
D. 以上说法都不正确) s+ s# h% @+ Z* K" N5 _
26.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
2 y$ E+ r# G" x. m* f/ kA. 数组首地址( o0 ~$ N5 G: y* P
B. 数组的第一个元素值0 R! D7 l7 N) A5 G' |: @
C. 数组中全部元素的值7 Q) n* l+ `5 w1 y, s4 g! o0 I
D. 数组元素的个数
+ Z% e) z* C0 B27.当说明一个结构变量时,系统分配给它的内存是( )) J% @" v) w; {
A. 各成员所需内存量的总和$ b& }/ P, j9 d0 M6 v9 @9 C1 H
B. 结构中第一个成员所需内存量
1 z- Q8 m" ^. ^3 n. E2 F. FC. 成员中占内存量最大的成员所需的容量7 B' w9 T* U% B/ @
D. 结构中最后一个成员所需内存量; u# B; H! J1 a. R' s3 A
28.下列do-while循环的循环次数是( ): 已知:int i=5 do{ cout<<i--<<endl i-- }while (i!=0)
* A: w" M! c7 L& yA. 0
1 W" ^6 K0 s6 h8 @/ zB. 2
' p1 l7 D! b& _, R* _+ t b6 C. BC. 5
# e# D+ H/ R8 @/ f8 Y7 y- N( BD. 无限次; W$ X5 J$ g; M- w
29.下面的函数声明中, 哪一个是” void BC(int a, int b);”的重载函数? ( )
. g! `7 r y0 F0 S f3 oA. int BC(int a, int b)
9 `6 D$ g% S7 x$ YB. void BC(int a, char b)
) I/ E. q& K* [* b: MC. float BC(int a, int b, int c = 0)
! ?, T' V5 _6 b/ \D. void BC(int a, int b=0)) H0 j7 E& P) }1 V) C2 U! T% Z
30.如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c<d?c:d ” 的值为( )6 o' H* c7 {# Q4 u( i. K$ W7 K
A. 2
- C9 s% K% F( h/ b2 a# oB. 3" Z8 { r4 s0 }1 S9 ~
C. 1
3 Y7 J# E7 B9 {D. 40 l# P) H; a( I' K l
判断题/ G9 B/ b# B2 C0 a
1.C++中,一个函数必须在函数声明后才能使用( )
3 Z( Q& S( ]1 |, c9 E2 X) Z6 @A. 错误
6 I/ ]- M" {; s( zB. 正确
$ R8 y: L8 d* _ a2.带extern的变量说明是变量声明,也是变量定义。( )
% Y1 x' I% t8 j$ TA. 错误
7 @9 o+ ]0 l. A) \B. 正确0 I2 p$ E5 Y& K
3.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )" }* q( _5 W7 g& V( j* t, o5 ^/ K6 K
A. 错误
9 I1 |- |) y+ y MB. 正确* w* e e( C8 S! o
4.typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( )
+ c: D2 g F: y; E+ pA. 错误
- h% ~ ^6 N4 k; [/ Y' FB. 正确' ?- \+ ~( Y7 I# ?8 \
5.函数的返回值也称函数值,返回的不是函数本身,而是一个值。( )
9 b: x! T" Y% X5 q g* {A. 错误/ M- d/ ]1 ~' s$ s. I
B. 正确8 x) L& y- o: U% o3 E
6.C++语言程序中,main()函数必须放在程序开始的部分( )* N/ f N" ?1 D- m: k; ^! ?
A. 错误
0 b9 Y0 b+ f+ ]B. 正确9 x' m& {/ @2 n- h9 o4 E* f' L: U) N1 \( p
7.switch后面括号中的表达式只能是整型、字符型或枚举型表达式。( )
) }5 v: t1 o- R" u" O7 EA. 错误
% e5 p: c$ J0 V: H8 `* ?B. 正确6 Z0 H) o( b$ y3 s5 i
8.C++语言程序必须要有return语句( )- ~2 a3 g9 z$ i2 b7 w2 x/ v& N
A. 错误: \6 w- H: }# Z9 S2 ` R
B. 正确4 f* k1 i/ m, w# w# U) d
9.C++语言中,标识符不区分大小写。( )# v' C( W% S# v
A. 错误
5 a% P; I6 Z; u2 C% Y& FB. 正确
% W2 Q. h! o4 C' y# G10.静态就是让变量和函数在生命的区域内成为私有。( ); d, y6 ]5 |* ?- N- b* M
A. 错误
+ n& O2 O0 y$ mB. 正确
- B( Q& A- y [( v+ D8 U11.一个类的成员函数可以任意被调用( )$ D) S- e' z- [8 z
A. 错误4 I: Y" d5 a6 e' \& Q- W
B. 正确
7 H- O5 d+ \$ O6 `7 S m: U" m* a12.NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( )
2 ]# F; b/ r9 r* pA. 错误
/ ~3 o9 _! x8 j% B& e X8 E. {B. 正确: I7 e: ~" d6 s9 ?. T5 q
13.常对象必须进行初始化,而且不能被更新( )9 O2 J5 K- L+ T4 G3 s& }
A. 错误, Z0 q9 W, V/ R. L
B. 正确, r2 t& i* \- \4 e0 w
14.C++语言程序中,要调用的函数必须在main()函数中定义( )
" K& a. p6 w0 m7 }/ r/ g$ g( VA. 错误0 h# Y% m' ]2 ~) f V+ H9 | m% l
B. 正确
9 ^2 ^9 H7 u& X. @) K; |15.C++中函数声明就是函数原型。( )
4 ~& C, Q$ E7 V( g9 {A. 错误
/ o4 C& r; _" t u q, dB. 正确
- D6 V% d, @4 [1 E, }" A16.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )
, D- o& s) K0 `% U8 l0 T& MA. 错误2 f# s) P* P0 x( L1 N U
B. 正确
4 Z8 T0 V$ B' \' F5 q17.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )
" w4 `0 F4 a& V: cA. 错误3 g% v8 t3 N. z. T( U
B. 正确
5 ~6 {( _4 d7 `$ N& n) V: i, X18.空类型指针不能进行指针运算,也不能进行间接引用。( )
+ X, s( }. b, qA. 错误+ c$ T* }4 W. M4 M/ n. H2 L* L/ U- z
B. 正确
. g4 z+ L) O" o, i5 d19.通过使用不同的类型参数,函数模板可以生成不同类型的函数( )9 i3 ?* Y5 y: `2 A6 D
A. 错误
* W3 k" U" ?( r! ?1 H; ^( hB. 正确
* q7 w* M' h2 X3 c20.字符型数据在内存中的存储形式是ASCII码( )
& M6 I/ p% R0 X8 jA. 错误
* v' U8 T1 k# q1 j$ t! Y# EB. 正确 |
|