东 北 大 学 继 续 教 育 学 院' \) I3 f( l3 Q7 q) r9 V3 Z
c语言及程序设计 试 卷(作业考核 线上2) B 卷(共 6 页)
! s0 x7 ]- j4 P/ { a总分 题号 一 二 三 四 五 六 七 八 九 十
W9 p8 s' K& I- y" R9 T9 a 得分
" {) @& z) j* Z" `6 y7 A/ _一、简答题(每小题5分,共40分); [. x6 r% b& a y: ^9 Z
1、说明算法可以采用哪几种控制结构组合。
& V, G7 d# B% w. J答:6 r) z7 O# f8 D) O
2、c语言程序的基本单位是什么?它的结构又如何?
; F% x& e4 N7 o# ?! ]9 F* D答:1 u9 {# S1 C; M; `3 k; U; g
3、分析下面程序的执行过程,给出输出结果。: Y5 O5 [9 o, ~ D* M- y0 i1 {2 M( T
main( )- d, Y. r1 ?- C2 E; w. B2 ]
{
# `) v! x/ g0 oint x=2,y=3,z=4,a=0;- X6 K' j$ {* d6 t4 A% Q0 w
a = x
printf("%d",a);( d j+ g+ B" c0 k, X* H
}
5 F% x: g. o+ s% U- Z+ X答:
3 s! _1 C5 T9 V# V7 A# u4、分析下面程序的执行过程,给出输入55时的输出结果。( o1 E, W, g% O8 r0 ~/ Z8 }' [
main( )
* u" A! G, _9 \7 Q" ]. A{ int a;
8 i' }) G) S& s0 V% n$ F5 X, Q/ f int b=33;6 M. p0 w5 H# T3 ^ s
scanf("%d",&a);& e0 u, U; x& A
if(a>50)printf("%d",b);
) G) u7 f; F0 Wif(a>40)printf("%d",a);
# k, N6 J7 t) d d. z c$ Zif(a>30)printf("%d",a);* {5 r8 a' ]5 r" T Y
}
: X: X: B/ Y1 U2 H- r6 O$ X' ]答:
( A7 t( r" Q& G# }9 e5、分析下面程序的执行过程,给出输出结果。2 b- ^% r' ~5 I% K
main( )( S+ o9 p' z2 e" }/ z1 K
{ int x=1,a=0,b=0;0 j5 \' z# t+ v4 @4 P) ?
switch(x){
5 g- ]( ^1 {3 w2 Q/ v) }! t) dcase 0:b++;" j0 `( w0 ?- J+ b# S% J
case 1:a++;
$ ^2 Q7 K! s. Bcase 2:a++;
' H5 \: q+ H. E, l u+ S% Cb++;# j& p/ o- r& Q, Z$ c5 F
}" r& y; A6 A6 f3 y$ w& h
printf("a=%d, b=%d",a,b);! \: _/ [4 _- Q# a7 S
}
7 u3 o( u4 N6 i+ _$ J" R2 ~答:
. c. @+ s: h6 y6、分析下面程序的执行过程,给出结果说明break和continue的区别。
- A( T! [$ G" P) k3 nmain( )
- ^. d1 M* t2 K9 a( ]{ int a=1,b;
' s; [( N/ \$ N w7 K. u1 \) zfor(b=l;b<10;b++)
5 n9 _: r% b: c1 J( C{ if(b < 7) 8 H4 b8 D% N0 U. ]
{ a = 1;
' Q5 y- e8 e V$ T- K$ econtinue;
2 N# R8 _0 f6 i4 a}8 [1 Z7 T/ J( I; T _9 i; ]* v
if(b == 8) a++;
; q4 |2 [2 N& A2 `9 d+ a9 W- Fif(b > 8) break;
4 N# M+ Q3 V9 x# k3 a7 Ba++;
! z1 b6 W6 n2 z1 i) }' }}
3 F0 y1 o0 y/ q3 t5 Oprintf("%d\n",b);
0 n; j! z8 N1 ~* T}0 g! c: c9 K3 L/ y# Y0 z
答:
; [, i1 |- V! c6 y2 e; F: V' h7、分析下面程序的执行过程,给出输出结果。+ D, l0 k& R% @
main( )
: n( M9 _# N2 G' j" y5 s{ int a=10 ;
' K$ Z5 B. @. c( ? if(a++>10)
: Q! l- S1 {2 ]* e6 [ print("%d\n",++a);* c F% z& C" s8 f9 J3 o
else
/ U6 W$ B5 R; Y2 W) J7 K print("%d\n",a--);- Z0 b0 ^5 a$ z( B
}
& t( B; G3 `( J- ~ a- `- b7 F答:
. g, g0 p1 P# c) } R& _5 W8、分析下面程序的执行过程,给出输出结果。
3 Q- |' i) d0 R& wmain( )1 j8 [4 ~7 U3 R5 c+ i3 j7 F0 o" i
{ int i=0,s=0;
! C4 n' d3 v6 [. f) K. {/ d9 K& e do{
2 x# j( C7 O3 l2 T* h5 M* D if(i%2)
3 W) c4 d/ r! `4 K3 q: u' a/ M {i++; continue;}- f# w+ J# k$ r6 N5 _
i++;8 K3 _( ]( o/ k6 A
s+=i;
+ r; E: \8 ^) U/ e8 S) }7 @}while(i<7)
A% E2 a H; `0 ?: N/ A print("%d\n",s);8 f3 @/ ?+ p. m/ a L1 V) f5 ]
}$ ]2 O" z' L' D2 a& |+ `5 o& b
答:
1 Z# h2 F3 t; G: Q) `% l6 X5 {4 r" G# w5 \二、编程题(第1-3题10分、第4-5题15分,共60分)@ F; y1 @2 T9 C
1、输入正整数n,输出n行n列的空心四边形图案。以下是n=4的图案
. b1 a( ^: D" o- a1 M* * * *- w2 y/ a$ F1 c+ s* i+ T# Y8 S
* *
5 l. v) f+ O6 X) R, Q* */ ~, w$ D) C- F! r3 d
* * * *
$ p3 B. i# F3 N: c答:
5 W6 v1 G% _8 F& i2、有一个分数序列:2/1,3/2,5/3,8/5,13/8,…..编程求此序列的前20项之和。
" W& d2 A( @) O1 Q# x答:
. A; @* m* T9 y/ i. i3、从键盘上输入一个百分制成绩S,按下列原则输出其等级:若成绩大于或等于90,则等级为A;若成绩大于等于80,小于90,则等级为B;若成绩大于等于70,小于80,则等级为C;若成绩大于等于60,小于70,则等级为D;若成绩小于60,则等级为E。
, ]- n' g" {2 o' x6 J答:7 K0 Z5 H8 `) B
4、从10个元素的数组中找到最小值,然后与数组的第一个元素对调。
0 V8 c% F' G& _9 K6 _答:9 |5 s* h1 \* I1 u/ Q
5、m个人的成绩存放在整型数组score中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回主函数,并将低于平均分的分数存放在主函数定义的数组below中。5 H- J" R( J7 A! v/ U$ Q ]. Q8 v
答:5 ?$ A+ e. w# d% ?) M# h( s, Y
/ k% z1 d7 I+ v" {