东 北 大 学 继 续 教 育 学 院3 r5 W2 t7 a# W, V7 S1 I7 M
c语言及程序设计 试 卷(作业考核 线上2) B 卷(共 6 页)& m+ @3 L2 M8 l0 D# Z5 e" b; {
总分 题号 一 二 三 四 五 六 七 八 九 十3 R* t- h9 d `/ S6 B p: j1 f
得分
3 O4 z3 @0 l/ b0 Q1 t* b: ~, T一、简答题(每小题5分,共40分)
; |) s) e6 ^$ {6 F$ P4 O( }- @1、说明算法可以采用哪几种控制结构组合。5 @! L2 A7 v; G" W3 U- Q1 e, {! Z: F
答:
7 M) D3 r' i0 R6 i/ t/ _2、c语言程序的基本单位是什么?它的结构又如何?
1 ] U( s- n' A9 S( O" v& C+ n# ~答:* q6 _1 k: u( f( ^+ t- c
3、分析下面程序的执行过程,给出输出结果。8 O0 F1 b o* u: ?' J$ ]& W- s
main( )
/ u7 E V% Q( G( a. K{ - p* m' S/ j" T x8 C {( _" t) X
int x=2,y=3,z=4,a=0;
0 s+ |2 [5 b3 t+ C7 v5 Q0 M7 P a = x
5 f) e( C, Z6 n& b* e printf("%d",a);
' n3 @' D, k0 g }: l9 Q: K& f+ g! W O) z
答:
7 r9 F9 u& d p8 Z* F4、分析下面程序的执行过程,给出输入55时的输出结果。$ A8 \8 ~0 s/ W3 ?7 \. ]
main( )
6 d7 w2 t- O- t3 X) ~4 a7 ?{ int a;: L) {! A& q$ h2 ^! u2 U8 b# `
int b=33;
9 V: P9 v6 y; n2 h3 f4 ]3 n) hscanf("%d",&a);+ ^2 \' ~% z6 y& k2 b( W
if(a>50)printf("%d",b);2 H9 m7 M" h! P4 [$ v, a6 x7 D; @
if(a>40)printf("%d",a);7 M! [. g" o0 u
if(a>30)printf("%d",a);; ?4 d; h* B( g: o9 K# ^! P
}
& T' l/ I7 E/ j8 @$ h h, p# G答:5 y, G/ v4 }* E$ |" O9 v
5、分析下面程序的执行过程,给出输出结果。
6 A, o6 q! A& Qmain( )" `- a* C; p! O2 q6 s/ n9 U
{ int x=1,a=0,b=0;/ J# R3 \3 I. A# P0 t" p' O
switch(x){) Q/ Q: ?3 b5 T/ R1 Q& Z* h
case 0:b++;( N- t. ^; E1 w3 c0 c& ^4 Z9 T2 g
case 1:a++;" `/ J; E4 c! ^8 q
case 2:a++;
( ?9 G' e0 z6 _: `6 C5 `* y. Jb++;
+ R5 {6 a, K% H# ?}
. j( _6 |6 w" t4 }2 D/ p3 y printf("a=%d, b=%d",a,b);
6 s6 L5 T0 H. V8 G1 f( B R& [}
9 |- p& D1 O$ g P$ X! m" w答:t, X/ A w9 F4 u: b V
6、分析下面程序的执行过程,给出结果说明break和continue的区别。
( {; q$ s% f5 b3 t/ N7 |3 pmain( ); `; W' l7 _+ ]# p) T( B
{ int a=1,b;
6 q( k9 z( [! I% w& qfor(b=l;b<10;b++); L1 r% g! {9 S
{ if(b < 7) 2 ?5 y- F' M9 \: K
{ a = 1;
: S# i$ f- Q, p/ ]# mcontinue;4 G1 ?. Z# A; _$ o
}
# h3 \% j0 \/ u) Cif(b == 8) a++;" ^! O- }. P, u. s. e
if(b > 8) break;
+ N% y% W, y0 E0 B. |a++;: _$ m$ [! r8 j& P: D
}2 N# e- E( i P# o6 g
printf("%d\n",b);( E! z2 \/ J+ `$ Z0 E
}
" A( [* s( t' y0 M5 }, f答:
0 S! A% z# g {& i7 r( W G' n7、分析下面程序的执行过程,给出输出结果。
( ^* B4 M) U V8 t+ t; h# {1 Dmain( )- C4 a! I- Y* _, A2 {0 }0 O
{ int a=10 ;. G: r" G9 s5 ^* t+ E* v. _7 ?
if(a++>10)
3 N( {% F7 ]# U7 ^ print("%d\n",++a);/ l$ [ [8 h/ d1 X$ F" f7 H
else* @- y, |' ? O+ o" G+ Y- J+ {
print("%d\n",a--);
/ D7 }- b' p$ u% y9 h }
0 D$ Z. T: B% s% H. s5 `$ ^答:' Z: R; ?' {' @9 D. h. j: v
8、分析下面程序的执行过程,给出输出结果。' d1 w6 H& }1 j& E
main( )
- [* \3 t* M, _" C7 g" ~{ int i=0,s=0;
* {& p+ ]$ I1 J do{
~4 T! l, F' a* a2 a if(i%2)
5 M0 q7 v% J0 o- { {i++; continue;}" g1 Z$ L$ E. h. h" a
i++;
2 }# E( L) H/ \; l s+=i;
: n# i3 C1 K2 i6 q}while(i<7)9 @; M. ?& f/ l( I; M8 b: n
print("%d\n",s);
- C& F1 }. l( R, X4 f5 {- p$ ]}* `1 I0 R1 {1 S/ M% p4 w8 S
答:% n! S) |9 J6 x# q, u9 r( o
二、编程题(第1-3题10分、第4-5题15分,共60分)
2 w, f& }% P- c) B1、输入正整数n,输出n行n列的空心四边形图案。以下是n=4的图案
& M* R# l- D; h' X& S" f* * * *
+ X% b6 J; \* a" G$ ~* *
0 E/ Q1 X6 K3 F& |: C5 P. Y& B* *5 u+ Z$ |$ I5 Q. P- G$ {$ ~% o
* * * *- f5 l( f, u$ E+ \
答:' ?$ U" n5 d6 P
2、有一个分数序列:2/1,3/2,5/3,8/5,13/8,…..编程求此序列的前20项之和。
W) V) s/ g1 E3 Y4 m: r) y% ?答:) {+ W. `7 M% `* j+ o' o6 U
3、从键盘上输入一个百分制成绩S,按下列原则输出其等级:若成绩大于或等于90,则等级为A;若成绩大于等于80,小于90,则等级为B;若成绩大于等于70,小于80,则等级为C;若成绩大于等于60,小于70,则等级为D;若成绩小于60,则等级为E。
/ [0 a: ~8 `5 z* P* M% |7 [答:: }/ o5 B. r* E
4、从10个元素的数组中找到最小值,然后与数组的第一个元素对调。6 ?7 F8 X ^% H+ _# e, e
答:2 ~) A( [1 J! B# s
5、m个人的成绩存放在整型数组score中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回主函数,并将低于平均分的分数存放在主函数定义的数组below中。
. o" V1 g7 C* b) \5 b答:
+ B# P9 \3 |; L
6 o+ U G$ t. Z