|
东 北 大 学 继 续 教 育 学 院- y" v( ^5 e! o
c语言及程序设计 试 卷(作业考核 线上2) B 卷(共 6 页)3 m3 s) Y- u6 Z
总分 题号 一 二 三 四 五 六 七 八 九 十! g& Z/ { a( h2 \2 W
得分
0 \( \# w9 n/ ^) ~% o4 p. ]
' O5 Z) ^4 L8 X- X9 Q# L* b: C. n0 X4 d. N% M
一、简答题(每小题5分,共40分). D- l" `) _! t5 O
1、说明算法可以采用哪几种控制结构组合。
; p6 g" Q: r" Q M答:% x1 d& S; M3 q$ H8 j) [5 p
# ~1 U/ z5 H9 {1 ?8 j" Y
: M( F& h. ^7 l( i2 X3 f$ J0 v6 ^) [+ q
2、c语言程序的基本单位是什么?它的结构又如何?6 G* e. M$ ~2 T" V3 X! u- \" J' |* e
答:
. `5 x1 F3 U$ w; Q. F, ^3 O, J" x( Q% B% o$ a- t# h
5 z3 F* p- z2 N) B$ K
* s8 l: {# T w( T8 Z3、分析下面程序的执行过程,给出输出结果。5 z. m7 x* M s4 N0 ?3 V
main( )
7 _' R% S5 o- K$ e6 n0 a3 J$ x{ 3 e- v) E0 ~3 v. W+ _5 k
int x=2,y=3,z=4,a=0;2 \* r+ D! E( H- f7 z" c8 [
a = x<z?y:z;
1 @; K1 T' ?+ f9 U8 r" | printf("%d",a);+ F8 Y9 s; s; H' ], W2 X* p
}4 }. u8 E9 s5 [9 g
答:1 N, A; E# Y/ f. h
# Z% ^) v9 y/ {1 m1 {' g/ _- K' L, \# h
) I6 P* f% z$ i5 H! {7 u0 L; S) A) J
' g- }. o% Z( I3 Q* w7 d4、分析下面程序的执行过程,给出输入55时的输出结果。
* V* R1 ]- ]4 J% M1 Q7 ?main( )
; u; x8 o) }( k7 v{ int a;6 r" k$ Y" [4 r1 @. y' Q
int b=33;
% e8 [ J6 N6 |1 G6 i% Qscanf("%d",&a);
8 l0 F' q! p3 U0 Oif(a>50)printf("%d",b);1 k- {1 H$ E- C* H9 H
if(a>40)printf("%d",a);
7 I4 E! b+ H0 L+ V3 D2 f2 bif(a>30)printf("%d",a);* r# ~: x m1 v+ t. J2 G3 c
}
4 S* _- M' ]& D8 H2 e$ @答:
2 w& F% ]& I, X+ S5 \5 ^4 I% R2 q; B+ H: O4 p
. n9 Y; \2 O; n
: E1 x/ B. L. q- a& B4 |6 U l
7 j |" Z$ h6 R7 l
5、分析下面程序的执行过程,给出输出结果。; y# _ t& ^2 p6 d+ r0 g
main( )
* a1 u9 s3 E3 K7 c2 G$ Q6 P6 ?- o{ int x=1,a=0,b=0;* V% w/ U$ L$ I; ~* f% a" N/ h
switch(x){% X2 K/ j* V0 t
case 0:b++;: I3 k5 V5 p* }. o \
case 1:a++;
$ `$ \4 M7 `7 Bcase 2:a++;
" N6 L3 s, k: P4 y5 O2 ob++;
$ F$ w5 _7 b$ S' K" u" |0 ?}9 z" e W/ ~) U+ E) ^0 O- u
printf("a=%d, b=%d",a,b);; z- X! `( e5 ~
}
. y- E1 I4 k" H: g1 P' x答:
. h* K$ ^) F- M7 j+ {! S$ d
2 v8 g$ O( t8 X1 a6 s9 R
$ V# v2 \+ W/ N: z5 O2 J @3 n* x
. A4 C4 ^1 l9 J4 i
3 N) j e7 a d% j5 K3 l; B$ C6 u- O# j' o4 Y
0 E4 H0 _. Q- A5 x8 P7 [& a6、分析下面程序的执行过程,给出结果说明break和continue的区别。
0 f" ^4 G' ^7 V4 g9 [) Qmain( )
% d3 P7 t' n- s! B6 E{ int a=1,b;
$ o" T7 w4 H0 lfor(b=l;b<10;b++)% Q: Y# J$ e% j/ n9 I9 ]- Z1 F
{ if(b < 7)
; V% v4 P& r H{ a = 1;
+ X, j& e, W! p! p/ ^& K' C7 F3 ~continue;: |' E2 c) s- r# v, `
}
3 X& ]; u1 T$ Q4 N" Q# }9 X. Sif(b == 8) a++;
. S1 l1 f/ O4 Y5 B9 N# H Zif(b > 8) break;# c6 X0 ?6 ]# C N
a++;6 ~# G$ K* g: c: ]- _' i M; l
}
* \) T9 e* g' w7 L! }9 Uprintf("%d\n",b);
# {+ u) |# S2 @6 H3 _}% l2 H$ Y* _2 X, o Y
! z, N1 i/ T4 a' N答:2 }2 K; @$ _* w5 s X) N
5 B. _$ n% m" ]0 l8 S/ l& Z, [5 j6 T! c
/ P: ^- p& D3 \# v
, B3 q( w) M& f& `( O
1 @ a! I) D, t
* ^" e5 F. z8 j* e7、分析下面程序的执行过程,给出输出结果。$ p& p" `4 v5 K0 v5 X: X$ e
main( )
4 s4 v' O9 A0 O( Y1 \{ int a=10 ;
3 F! q* ^2 y D( I+ ~ if(a++>10)- ?; ~ P1 C! S+ K" |4 C3 P
print("%d\n",++a);
- a4 u- h4 X0 T; i1 ^* M, o else
* w/ v7 C- Q6 C) A# J, w( v print("%d\n",a--);9 y6 c2 @2 ^- p- G" b* N! B( z w
}8 ^; |" ?5 J1 @# X- ]6 l+ ^* B
5 R/ F6 }9 _4 h7 h% B答:
: y+ A; ~( [1 f2 {2 R% t$ i7 q
1 D& [0 X3 F; Y6 r6 v# n; y, l# w A/ l J9 u, j* A* Z6 g6 ?# f5 n- S
9 k: y- F' R6 x4 M X
: d* G# D7 | R+ T9 p
5 M' B* x$ L/ @7 y( z9 K, |6 c6 r- Y' E
8、分析下面程序的执行过程,给出输出结果。( I) l) r2 M2 Q# e- Z# U
main( )
; }/ k8 F( h% u: u3 M9 y2 V H( h' o{ int i=0,s=0;
& Q9 @- p% f1 a: Z- i; L do{
2 |8 ]; B0 Q7 i+ V if(i%2)
# y, \: v" a) G {i++; continue;}. ~% X# ~+ W$ T8 F" ]5 ]( z
i++;
. c4 ^+ N: e. W' a s+=i;
/ ^1 y+ U. S* D4 @0 Y}while(i<7)
3 Q* u; O$ O3 t- W3 ?( v, { print("%d\n",s);
3 y' h% n' O% m( v% s1 f}
3 E6 K" l, u7 Q, t
& R8 t8 J$ A& M; g答:
4 y% [( V* x, ?7 q4 E9 v6 S
( z, q: r7 q |$ ~$ A0 K! e" ~& M9 k* I' i% d' n
/ l) j% o. y, H4 @! p# M9 M
1 D0 P; S5 X. T- y7 G. O6 v
6 H; \* M( T# A/ G% f& x9 G% p
: {8 I4 X/ l( _ J7 L8 a* ]* @; X8 G
二、编程题(第1-3题10分、第4-5题15分,共60分)
5 d$ C. ]" d" R8 W; o) Y1、输入正整数n,输出n行n列的空心四边形图案。以下是n=4的图案
n% }2 x# z1 n4 j* * * *
$ ~4 P2 ], V% w- }1 N8 H+ j) s4 H: B* */ _3 `, t0 U6 l* ^4 ]
* *
: |! r0 Y# O, Y5 ~; D: Y3 t. H* * * *
9 ^- K# l: E8 M5 {6 L
- ]7 a2 F7 S b! _4 |4 k答:2 Q) k4 ? k3 g- ]
+ k% \6 D2 R$ k5 T9 \
I7 ^* E% W% C6 T$ b8 P
. z( n2 N. X" a+ I# n; f
5 J2 j$ U9 [, R" g& q5 B4 y7 T+ f, i7 f$ s+ @2 _
) s/ u" s P+ Y0 r: t1 w$ P F
6 [% q* t# [- F1 e8 ^( T' F3 A& r2 |4 [) q* u# t
( |8 w& Z/ U0 M( D
: F& ]" s C- r& _( V) ]* H. F2 D, J# f3 R. e: J: E6 s0 [# a
* p2 ~4 G J1 R! [! ^$ [% Y
' a" V( ^0 g" g9 e O7 z) u b" _
' P) {+ |7 t, H0 J) R- a
2、有一个分数序列:2/1,3/2,5/3,8/5,13/8,…..编程求此序列的前20项之和。6 l) R O$ b- T- F- I$ J
* U1 u6 N# S; m
) u- D/ @/ R( g/ D2 M7 j9 S- R h
答:
0 J: t6 k7 i6 A, P W: |$ i. o; P$ v
' z% A. @ ~) u) G- w' I+ B
4 v7 p8 X3 L9 ]$ i
3 i- f) q! e3 w
8 [# u* o7 @$ R: D) N# a: v$ O w+ ?2 _# K7 Q7 K. [
. @" X0 R% g2 @( B
5 p4 O, \/ v A2 K4 O* o
5 g. @4 m/ O% @0 b' e/ ` z; l" A% ?8 Y, p) E1 l) m& G
2 J- d: w8 n3 s4 E
z" f9 R k: B- ~
5 v E5 j: s" u% H# l- [% B* b+ n
9 A6 D2 l) ]- F' f7 |! E4 n8 z
& D' Y5 ?& a4 r v0 X+ l! n0 R( `$ M* w
; r% X2 g3 {. G% V7 n
i0 Z+ M4 X8 I3 _+ D) X
3、从键盘上输入一个百分制成绩S,按下列原则输出其等级:若成绩大于或等于90,则等级为A;若成绩大于等于80,小于90,则等级为B;若成绩大于等于70,小于80,则等级为C;若成绩大于等于60,小于70,则等级为D;若成绩小于60,则等级为E。; ~1 F* m* x. I& j! }
7 t6 h8 R+ H- a, C" n7 y1 L) Q
- a1 o" L1 ^) V- N5 Q答:8 m7 v! H6 a4 Q6 e) f7 F* u
; \* v: [* A* L2 R6 b$ J+ g) w2 z, [# R$ G, X( v8 A2 ]
P/ p' m8 w3 f
5 ], z& D' V) Y$ i' o: A' m6 i
: m' }2 c% l1 q, q" o9 G
) K5 J6 f! B/ g0 P" r% r" b8 x0 Z! I% W" i
5 q2 o6 I2 K, ]' [4 c
$ @) F7 E' Y8 R6 J: e. a) X+ I! R* |9 v1 B) |; H
9 B9 v! U6 [8 d6 W
5 u) I% ]# p9 M1 L& `& T: z/ J/ A, p9 g' U ~+ z+ D
8 M0 S }' a. q) K; f, N* O$ {$ f" Z1 ~# k4 Z+ _; Q/ A
, G0 g3 t$ j) |
2 L* r; j7 K* l" i8 t1 C
7 y" u- J& m" Y) j4 Y# w# @% t1 l) r9 e* }& J- C1 a
( X7 c! F& `! V7 m, c
( H% \1 A5 R _9 ^6 ~/ ]
2 C/ O8 B0 f* H) r. C* h4、从10个元素的数组中找到最小值,然后与数组的第一个元素对调。8 h1 b; r8 s B( v$ ^2 R4 ]
" L4 z6 L ~2 @/ @! Z+ Y
/ V9 a7 h" u- {1 T
答:
+ {6 i6 C7 W7 J3 m" }
4 a- }0 E+ e* O; d* O' ~5 O5 Q+ v" h) W k8 M" a
. m. S ^+ H2 A$ A6 F7 y
E1 a4 x% W6 S) p; E+ E
8 \) x9 _8 K9 q6 }$ v
" P) s+ o0 ?3 x# k* @
: H7 h6 b" L+ n/ S3 w
. m# L# a- w6 J% B) ?$ G1 [- v5 q- h
, h+ H* E! ?0 U: o: W
. C- C6 u4 _/ Y g8 s0 q
; ~+ T5 J% J) \6 I' d, W8 O7 S4 w% Q" a7 r4 ]/ T
2 L4 R9 J5 h2 F4 E. V |+ | y) @! K! T2 U6 p' d
5、m个人的成绩存放在整型数组score中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回主函数,并将低于平均分的分数存放在主函数定义的数组below中。
# A- w: g% Y4 k0 G7 T p8 f4 j! l8 ?. l$ [) S" d. L
答:
& j2 q Y% T, Y/ `7 T
0 l" \0 v$ x( i$ i2 a8 M N2 e8 c2 ]: c2 l* K
" V3 i, W* n# E, V, p4 v! H# Q
# B0 m8 a% m) b
1 A% a/ F0 g5 F) _8 s% }1 [
! N1 H1 M) {! p' `
3 i6 t2 H' c- h8 u, ]' m6 m- n
' _5 G1 H3 `7 o+ c5 e6 R( |; o+ g
3 f6 z" v! k% O3 A, a8 w0 M6 M! u% ^6 E. {& s) K( r
. g9 Q* H% A2 f9 M' p. U; S7 X
' Q. a% ]" q7 q" m1 W0 w% _5 r& U! G* D2 A- t! Z
+ W$ m; r. D$ [+ l0 ~& B$ d
" n$ b4 ]6 `3 v8 V) K
# l8 N f0 o h' I, r& X& I, j3 p# ?$ q6 s/ H
- X) n9 h& P9 q1 o# _
|
|