2021年春季《C++语言程序设计(专)》形成性考核二
2 N; I% A& N! M3 G1.[填空题] 一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为 。4 e: }3 K5 Y5 C8 U, M! ?5 A
# D [9 a/ N& x; A
答:————
% z3 }+ T- [9 A! C6 \0 T2.[填空题] 假定二维数组的定义为“char a[M][N];”,则该数组所所含元素的个数为 。
, r' S; N1 I; Z7 d9 W 答:————
' ~! @2 v" b( w6 G3.[填空题] 在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止) 执行。
/ t7 v }* d+ } 答:————) {4 I8 L5 ]0 g- h
4.[填空题] 假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在 之间。8 T8 L+ Z1 Q9 O
答:————R A8 ~* G. d# ^6 [# A1 ?$ E% J
5.[填空题] 假定一维数组的定义为“char * a[8];”,则该数组所占存储空间的字节数为 。
0 `2 m& O# I% D+ l! L3 y 答:————
" D& @* G7 y6 A* d0 V: \6.[填空题] 假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p++);”语句后,p所指对象的值为 。
4 e- o- j- e3 f3 k0 g- ~2 J3 O3 [9 n 答:————9 N8 y8 l% d# P+ y" {/ F
7.[填空题] 假定a是一个一维数组,则a[i]的指针访问方式为 。
- ]* J* O- H) {- I( x 答:————
8 {2 }6 h: t) m' E8.[填空题] 假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为 。
8 W& b3 a2 p! h2 D: z m 答:————
2 t2 v+ _; d5 Z8 R+ s9.[填空题] 一个二维字符数组a[10][20]能够存储 个字符串。$ i6 X8 _- v3 }
答:————
: w3 P4 Z) m* u+ t% t+ ~8 ~! Z10.[填空题] 当在程序执行到 语句时,将结束本层循环语句或switch语句的执行。
% p" @- P; l2 W9 \ 答:————
m! ^) U7 d! `2 m11.[单选题] 假定变量m定义为“int m=7;”,则定义p的正确语句为( )。
% I% [3 U2 x5 y, K A.int p=&m; , _( L# Z6 D+ R' w% {
B.int *p=&m;
, G) S+ L+ a, c! d4 R: ~ C.int &p=*m; b) t1 \/ {5 E% ?( Y+ Q7 G7 U
D.int *p=m;
T$ V: B7 k. z! u 答:————+ b3 ]9 e# [1 s+ e% ^. o( N+ P
12.[单选题] 假定k是一个double类型的变量,则定义指向k的变量p的正确语句为( )。
( s2 d' W1 f1 @7 w: y1 C; ^# e A.double p=&k; / r9 X+ t0 m: \* O% e* u4 l
B.double *p=&k;
y, G5 ~ ^9 v$ G% v+ V C.double &p=*k; 5 j8 S% B2 G) G9 ^. L' r
D.char *p=”Thank you!”; 2 a7 r5 Z" M' ?3 s
答:————
1 p4 U$ t* H6 b: [6 Y13.[单选题] 假定k是一个double类型的变量,则定义指向k的变量p的正确语句为( )。
/ t- N# }$ x& L; E A.double p=&k; - A$ B% t7 f% L0 [
B.double *p=&k; , r* n% ?% L- b6 I5 [! n# U
C.double &p=*k;
. e2 {# y: K, r& N4 K D.char *p=”Thank you!”; # k. f( y9 b" C% Y g5 A- Y
答:————
# f/ D$ t% Y* t# y' H% l# ]14.[单选题] 在下面的二维数组定义中,( )语句是正确的。
4 r) j# {/ S. Y0 Y: \# a6 Y3 C A.int a[5][];
5 J% ^* h6 ^* p! g B.int a[][5];
7 }. ^1 d8 e$ r% ] C.C.int a[][3]={{1,3,5},{2}};
# m0 y& `6 w/ \( t( y D.int a[](10)
9 f c% }( R4 a2 L; B, _ 答:————
$ ~0 V4 H" n$ l Q N$ h15.[单选题] 在下面的二维数组定义中,( )语句是正确的。9 r5 R2 m# V$ M+ e0 y2 D9 E
A.int a[5][];
; ]' g# H7 \% J% Q B.int a[][5];
5 C6 R9 e- x9 I C.C.int a[][3]={{1,3,5},{2}}; 9 g" I* \1 Z# \ Z/ X2 G a
D.int a[](10) / T( a7 b) I; Z
答:————
3 k6 {& L2 @" s9 Z2 ]! i" j16.[单选题] 在int a=3; *p=&a;中,*p的值是( )。4 x2 \- C2 x6 i* m @
A.变量a的地址值 * X) @) }+ Y) C: ?
B.无意义 " Q# f1 v2 `, U! @
C.变量p的地址值 * o" F( M$ E- d) q3 e
D.3 ! ]5 [0 P% P! q! _1 h7 B
答:————
4 \% V6 j3 }4 n3 M5 ?: W17.[单选题] 假定变量m定义为“int m=7;”,则定义p的正确语句为( )。6 Y1 \/ n9 Q) E
A.int p=&m; # l' h0 F2 M0 |' I6 Z9 F$ M( [. [' z' C
B.int *p=&m; 3 d9 _ C, S* p) G* _
C.int &p=*m;
8 B8 X! `( H9 l/ J/ N2 L D.int *p=m; ' c- [7 q) X# j7 u8 N" X
答:————: U; I' p& b) N4 k- u
18.[单选题] 假定有定义“int b[10];int *pb;”,则不正确的赋值语句为( )。/ J% z' M/ i- X' G3 T
A.pb=b; $ b; w9 v" ^# ]* x( X$ Y4 y5 d: W
B.pb=&b[0]; 9 Y4 O! C7 c; n# `
C.pb=b[5];
. L% b7 \* Y- f1 V" b3 g1 m8 D D.pb=b+2; + \& T# ~0 r% H4 x( R: l/ d; s; Z
答:————+ w0 Q4 n0 R/ T/ ^+ B
19.[单选题] 在int a=3; *p=&a;中,*p的值是( )。
- N" y* T! f# [ A.变量a的地址值 * s: X% B' F t, k0 v
B.无意义 : B+ K4 N6 \8 y0 L
C.变量p的地址值 8 `$ X& ` U$ C- c: |
D.3
! W" B. \, B( h* j& \2 W 答:————2 l6 T1 d( x# m5 o2 B/ s
20.[单选题] 假定有定义“int b[10];int *pb;”,则不正确的赋值语句为( )。1 r% |9 {' w: g( i
A.pb=b; : q: }4 o; G) K3 u
B.pb=&b[0]; 8 i) L: W- w. r i/ {; O3 o
C.pb=b[5]; ! _8 X7 i' }2 K
D.pb=b+2; ; d; I, K6 t0 B' O1 ?4 ~* {
答:————/ p' q3 w0 o% y/ v" O5 w2 O8 Q' p0 m9 V
21.[问答题] #include4 X5 M# p( M5 a$ p$ {. k, h+ ?
void main() . s% Y2 ]" E$ f7 X% }( q
{
/ H; ~) r5 `" h3 O5 ~; [ char a[]="aabcdaabacabfgacd";
8 a k5 P! O' v! L& f int i1=0,i2=0,i=0;
# o N7 j: Q9 e# j9 Y while(a[i])4 R% j7 S( N$ R3 F& y. K' x+ O
{
) L( }4 W' R, I+ _+ p7 E if(a[i]=='a') i1++;( ^: b. b) U. S% ?. E
if(a[i]=='b') i2++;/ |1 [& { Z1 Y9 `3 [+ a
i++;
! S1 c- T7 Y6 v* t& H" `: h# ^5 a- b }3 f, n* g3 Z |! C
cout<
/ N6 } f4 g: F$ l& ?}! ~& u N% i0 P( m3 a9 V
答:————( ?9 S3 {& m& ^) ~
22.[问答题] #include( B+ \8 h( r3 K
#include* H7 H$ p/ f) Z
void main()
( E/ J2 x Z. D{
" ] t0 Y& ~$ P& _4 ?' V `$ J int i;+ q1 H4 h7 K( f' ]$ P% @# B5 }
char *a[5]={"student","worker","cadre","soldier","peasant"};, y: @, K. Z2 t8 F% S0 y3 _
char *p1,*p2;8 F" \9 V% C/ T" h8 ^! i0 }
p1=p2=a[0];
, R: [' Q2 [$ h8 I3 M# i! I& o6 l for(i=0;i<5;i++)
$ Y& l5 ?0 Q$ \$ ~, s {. ^8 C$ w0 x, k% w8 |7 e
if(strcmp(a[i],p1)>0) p1=a[i];4 C) \- E& z/ v1 S) z
if(strcmp(a[i],p2)<0) p2=a[i];" a; g8 ~- I2 }- w
}
7 d4 M: q: j% A7 T cout<
}
' f! j8 k+ m7 m+ A) z 答:————. Y: ~0 J# b5 r* J, M) J4 j7 @7 E
23.[问答题] #include
$ j- m8 r w) S9 e! @3 y; lconstint M=20;
2 X6 c5 h( E! Avoid main()
. ^4 F" z6 V9 ~, e7 z( |8 X- j{
4 M5 \! Y% Y+ {! ~2 e int c2,c3,c5;
' L9 `& N. w' b" L2 A+ S c2=c3=c5=0;
6 F) V. y8 f) U# L for(inti=1; i<=M; i++) {
2 N$ C$ |* I% Q% n if(i%2==0) c2++;% Q* h. d. \# l# |0 N5 `0 I
if(i%3==0) c3++;
$ H" `" g) F6 N7 a7 f2 u if(i%5==0) c5++;/ H- s6 D2 d! W) ` K L- _2 Y; l
}8 [. k* l! g7 {5 C* e# k6 j
cout<
, d j1 S% ?4 j }* r}
2 j, h, \0 o C 答:————# T+ T m% A5 y& y4 }1 s {9 ^
24.[问答题] #include/ i' ~/ J5 s) D% ~8 _* y6 a
void main()0 ~' c4 r# |" p% a1 R X
{
" n; O$ d2 h3 d0 k u inti,s=0;
9 v! {) V+ Z2 q4 }$ X; V for(i=1;i<=6;i++)9 j% ]0 G4 U- C$ \
s+=i*i;" J- \, d5 S, f8 V- K5 g
cout<
; e! G+ M1 _1 W: b}
a, g- V! ?+ }1 J8 [ 答:————& h& p4 Q" V, K- ~3 u
25.[问答题] #include9 r! @& Y- ^, [/ S: v" ]
void main()
, x" b2 n5 Z' e, Y' a8 ?2 m; X{
{7 e+ Y2 O' @# R5 K( X( \ int i,s1=0,s2=0;
9 p% a, Y" e( h( A) \ for(i=0;i<10;i++)E1 q9 u- g& X& n9 o# {( A. l! h ~! b1 ~
if(i%2)s1+=i;( M7 o5 s4 j: V, P
else s2+=i;3 ^* Y- e1 @8 F6 e
cout<
~; {! m3 {* T6 e0 ]! i}& m5 {6 S; b5 e) h; Q
答:————3 m0 k- Z4 ]. r6 q/ \7 F8 `7 V
26.<9> 编写程序,找出二维数组所有元素中的最大值。
& s1 f1 ~/ \2 z: X 答:————
+ @. y8 u$ ^; u) @& X2 F27.<9> 编写一个程序,求出一维数组所有元素的最小值。
/ ?" p- W# O7 }4 S3 N; R3 g 答:————
! ?+ ~2 r7 ]. o, O0 ]28.<9> 计算并输出12+22+……+n2的值,其中n值由键盘输入。' j2 C. J+ ]4 ^/ k0 R; {
答:————
8 E' T6 J9 R( {' w. X% f9 R. A6 x( ?* l! y3 @- g. g9 }/ Y! w
9 i% T3 A, u" T; ~# O