|
2 w8 B W' K3 w. [7 L西南17秋在线作业资料C语言' ?- ^3 x, a! W+ q; b
, _" T4 ?6 w) _+ Y. F
单项选择题) Q. w6 l; g+ y1 @1 h1 l$ ]
1、假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是( )
3 T6 n2 q" Z- H3 ?$ e A..p2=p1+(p1-p2); printf("equal.");3 R- Z# Q8 H- Q! m
B..if(p1==p2)$ ]( c1 n. Q7 H D/ [. n- a
C..*(p1-2+p2)=getchar();
+ W1 s2 q) G/ T/ b6 b D.*(p1+=2)=*p2
, R$ i& K0 o$ u* z# X7 N单项选择题
$ P! @7 b: N7 u+ w' S8 q2、循环语句for (x=0,y=0;(y!=123)||(x<4);x++);的循环执行( )2 q [5 W" z+ f) M- H7 ]- n# b/ U; k; P
A.无限次2 \% W. B2 `3 ]! \# ^! p
B.4次$ S# I0 I3 x! K9 W
C.3次0 C: |9 K3 M8 v+ ?9 ?2 f% H$ l. X' T
D.不确定次
) Y3 W, d$ c' M+ `8 |$ J单项选择题
4 |4 J3 X: i+ r6 }" P. v& L3、设有定义int a=5,b,*p=&a;,执行下列语句后,b的值不为5的赋值语句是( )。 T+ x1 c; D' p( |& L+ i
A.b=*&a+ h i" X) e0 X! r
B.b=* v% }: \' h+ S6 |3 t9 ?
C.b=a
4 i& h: R/ p3 m; U D.b=*a, G O( g+ q# ~! l
单项选择题
1 `7 L; s+ G1 D3 Z6 B+ Q/ T5 ]4、若有定义: char s[81];以下哪个选项不能实现将字符串This is a Program.存入数组s中( )。
O; c' p, Y! P6 O% B! F2 F0 P A.gets(s+2)
0 I8 Y8 |6 ~2 e# e2 y: r B.scanf(\"%20s\2 u( l9 ^6 A( X; ~7 g+ J1 L
C.s)"
1 z, ?3 i' h& o6 o, e- A* _9 ~ D..for(i=0;i<18;i++) ((c=getchar())!="\n")D.i=0;while((c=getchar())!="\n")
0 J- v8 c8 K5 @, c. P( S* L1 q E..i=0;while2 }5 H, q# S4 C6 X3 b: K8 i0 z
单项选择题
0 I8 B+ W# y5 E5 B) T5、对于for( 表达式1;;表达式3)可理解为( )
: w0 T3 {$ G0 e6 i; P! z7 B A.for(表达式1;1;表达式3)
) E+ ~% ?6 C* |! y" C B.for(表达式1;表达式1;表达式3)( e( H' D: \2 \# G" e
C.for(表达式1;表达式3;表达式3)
$ Y" U$ o9 P$ v- `9 c9 \ D.for(表达式1;0;表达式3)
4 N' |( K; _ c T单项选择题
8 n2 e0 k; z- t6、语句while (!e)中的条件!e等价于( )
. s( X" i: N% w) t0 \$ y/ K+ c A.e==0
" I) U7 A: }* l! [) k/ R B.e!=0( T% t& r8 a; a$ S$ t2 N
C.~e
, Y: }* |9 p- C0 g9 e9 A; S8 O7 l D.e!=1
9 v* N/ ]5 I) R( E8 I单项选择题: _( w* C; P8 V7 p
7、对于条件表达式(M)?(a++):(a--)来说,其中的表达式M等价于( )- B. F' _( K" x$ L( Z
A.M==0! G9 W3 y/ J$ V" z
B.M==1
* E4 s8 i |. }/ j C.M!=1
. y( S7 c c7 ~# t( X5 J1 a6 B0 p D.M!=0* ~- H% C" x( w8 \- m& g# {
单项选择题0 [* Q, t8 g9 A% N% u2 v
8、设x,y,z,t均为int型变量,则执行x=y=z=1;t=++x||++y&&++z;语句后,t的值为( )
T( u& u$ J: C2 \: {2 O A.不定值
& D! ~; W4 O1 t. c" s$ E B.2
* m- H) m: @/ N! r! S# B C.0
7 |- i/ _# s; _ D.1
1 Y$ n% A4 \' e! m单项选择题6 x" |3 s% X2 [2 B
9、设int a=2,b;则执行b=a&&1后b的值是( )
: @* I# c# \5 P; q A.0
, k+ R S: z$ p2 w, w8 }* w B.1) t8 g) Z( R1 D' y1 C2 ^
C.2
% G. I5 X8 `7 ?+ K9 _4 A D.3
: s" M7 w4 {) w/ ]单项选择题 ]& _. l7 ~2 H: K* A! |% P# U
10、执行下述程序后,输出的结果是( )。#include <stdio.h>#define SQR(X) X*Xvoid main(){int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(%d,a); }<br. s% S+ z5 G& }* D
A.10
9 f; W; V+ g, C2 `; k2 h B.1
) Z: M' X3 @# L C.9# [$ n$ D# Q, |- y$ F& h
D.0
3 v4 d3 b( h/ ~/ d9 \单项选择题
4 J* n) Y5 g. ~& X11、有如下程序,输入数据12345<CR>后,y的值是( )。#include <stdio.h>void main(){int x; float y; scanf(%3d%f,&x,&y); }<br( Q) n5 o1 M Y7 B
A.12.000000
% X/ k2 y! X8 t6 U7 K7 A B.45.000000
$ v( m% q1 k$ D; t7 @6 i C.12345.000000
7 F/ |: G6 ]7 p6 q D.0.000000, j' U" t" X/ m# p. ^7 Y; E
单项选择题
, ~3 J) y5 \% s0 |. h. f12、若有如下程序,要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是( )。#include <stdio.h>void main(){int a1,a2; char c1,c2; scanf(%d%d,&a1,&a2); scanf(%c%c,&c1,&c2); }<br
: _, M( J b+ H U! H2 L A.10 209 E/ Z$ d$ V0 U2 h% }
B.10 20 AB+ R9 Z7 D+ S- ^7 Y- W
C.1020AB v" O. e: P+ x/ u2 f/ _5 M
D.020AB
5 @ R- b8 e/ W- u1 N9 c单项选择题
+ A+ y5 l* N$ P; M& u7 u; a, I13、下面程序的输出结果是( )。#include <stdio.h>void main(){printf(%d,null);} s3 i) T4 X3 s) o8 w* U
A.输出0. |8 f; O2 Z8 v1 a$ k/ @
B.因变量无定义,编译出错,没有输出
- B* s; g+ {+ W8 _ C.输出-1
9 [/ Z4 U2 p. N$ K5 g- ]5 ?8 q D.输出0- C5 T1 T( B( y1 ~9 F7 g* l) C& ?
单项选择题8 \/ o$ F9 Q7 x {) Y! Z- A
14、求解表达式f=(3.0,4.0,5.0),(2.0,1.0,0.0)后; 下列正确的选项是( )- |2 U5 {+ C0 G9 [1 b) {, \
A.语法错误
3 c2 A2 r; J9 G1 q+ R# J' n+ Z1 e B.使f的值为5.0
5 ~4 Q C& R6 e0 ]# c& A C.使f的值为0.0: @% q6 q4 ?! i: [
D.使f的值为2.0
, J1 t5 z* c$ N6 a单项选择题
7 }- M% U: f. i* Y; }! H15、字符串\ABC\的长度是( )
' t4 O3 v: h1 f: V. Z A.11. q4 p9 d& Y Y5 x, X$ v9 n$ d* [
B.75 h3 g% F# y; n: B9 J% ]% a
C.5
# E) g# ?1 s% b5 n" H5 }& V- } D.33 u! g* v$ [! ?
单项选择题7 [ i S+ p+ k' l
16、表达式(1,2,3,4)的值是(
0 P% x; t7 a: i A.1
; r# N; l/ L, q0 c+ t B.2
9 [7 B2 s ^; g5 w: U/ V5 t- v$ V C.3
- r# ]9 H" I5 e" r3 `3 f2 q+ l5 W D.4
5 |5 a+ W5 @# J4 {* p单项选择题) |0 ^. S3 S3 c1 _$ Q% _, o% V
17、设int m=1,n=2;则表达式++m= =n的值是( )
5 i8 k" g2 k4 r$ F A.03 \$ ~* P% Y3 B0 A G
B.1
0 G. ]- V' U" N- ` c$ a! e C.3
3 t' n, P9 ^! E- e$ Z D.2
5 r7 a) i! O3 y, g k单项选择题 ^, @6 i8 {( n: |
18、设n=10,i=4;则赋值运算n%=i+1执行后n的值是( )4 ^' f; M; c4 T4 X4 l
A.3- i$ R8 M( L, w9 ?
B.0+ o$ b4 D4 e) I7 y* M! e- W
C.2; ~8 Y$ d" o1 G) F' t. S5 e
D.1! x! A+ E1 O) Y6 F4 I# b3 F8 Q! {
单项选择题
* A! O' y5 X. _' a6 \$ V2 @19、设有语句int a=3;,执行语句a+=a-=a*a;后,变量a的值是( )7 |( Q4 h% R" M" q3 a% E/ e1 j
A.3
% e5 m; J1 `9 O6 t) }/ h4 @ B.00 q+ u% ]+ w& I& {0 }6 K6 o
C.97 X' ?4 U6 z& G9 t! }- q
D.-12% N% L- N! P7 S* V0 V2 _5 |/ e
单项选择题
* ]7 Q% X5 b+ G% p/ n* f" m20、下列选项中不是C语言提供的合法保留字的是( )
+ c) `7 z& V5 X5 g* G9 X$ X A.switch6 \8 s2 Y: Q( \0 g
B.cher% ]# q( T* ]) h# m6 Y
C.case
4 ^; Q; ~+ {4 G0 x D.default( D( D. W; P9 ^% w1 V* }; M
单项选择题: x1 X+ s3 s. L+ d5 c3 O2 |9 C# x
21、表达式a=(a=6,a*6,a+3);运行后,则a的值为( )1 u# {- k! J+ @( v& V
A.39
; @- {' p/ d$ b& k6 o o B.361 a H" T$ O4 |. D
C.6' w8 _0 n2 E3 j# G/ h j
D.9# T, d6 d( s. E
单项选择题; f- i' @* k$ j6 y
22、下列符合C语言语法的实数是( )
1 d! |. _2 n) b7 k9 I% {+ t A.1.5e0.5
1 V" q# J0 c+ F4 O B.3.16e
- Z& I. M+ b G! P3 |+ e C.0.5e-108 q' g& T* T5 P% n |+ G" v
D.e+8
. u! p/ ^: N! H8 D单项选择题
C" Q( B) T6 I2 i23、关下面语句的输出的判断中,正确的是( )。long x=-
- O" S/ g- H& Q. N; w& S2 \ A.输出值为-4$ X% C7 ^! l/ q( D7 D r, }
B.赋值非法5 P7 I8 g" t6 k. z" j
C.输出值不确定
8 ]4 F& Y7 X& b$ c" F$ H& R+ I D.输出值为44 t$ _8 O6 y; u3 [) a. W" K
单项选择题: }! u; q f; R7 \+ a5 e$ `
24、char型常量在内存中存放的是( )
( h: L. a% w, r! {, G A.内码值
4 ~! r3 Q4 S9 L- f( @ B.SCII码值$ a0 t/ o8 m& f- {0 A
C.CD码值& }' L$ l$ S0 u' B
D.十进制代码值
( h% a' e6 d$ E! n3 z% A单项选择题
: ?- n' o: m# G% l9 \( Z* u25、C语言提供的合法的数据类型保留字(或称关键字)是( )
" I" k7 ?5 L. P% }6 S, `# z a A.Float
; r# F6 ^% a) j% ~2 q8 \( [ B.unsigned; W$ d7 f( {; Y9 o* z4 g# a
C.integer9 ]% s1 h- a" ^1 @1 n8 ^
D.Char
7 g. ?' Q1 d9 Z! O) L单项选择题1 V* g$ Z4 z2 s, s' z% A7 O
26、设int a=l,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是( ) ; M, l! g: v. u7 J
A.05 Y3 c- b1 K# n5 F
B.1
' B2 x2 r% C: G C.2; W. n2 p m4 l1 @' o" a a" `
D.3, O' f- s: K( F% W; V; O
单项选择题
. s% i' ~, f' E28、下列叙述正确的是( )+ i# t d3 d+ m' j: }% _" e( B/ b
A.continue语句的作用是跳出循环体
. w9 P9 s9 z Z! E. P# L( a; } B.while循环语句的循环体至少执行一次: d( a6 A% |4 s: o1 R
C.do-while循环语句的循环体至少执行一次, ^+ _" @& U9 V% F1 ?7 s A2 V
D.switch语句中的每个case语句组必须含有break语句
! P; Y4 Q/ l( S单项选择题. r5 D2 E" c3 e- o7 X$ ~
29、关于函数,下列叙述正确的是( )
4 D2 s& D6 p0 X- I0 T/ ~ A.一个函数中可以定义其它的函数3 C" \" w$ L1 Q$ E+ ^1 g
B.C程序总是从main()函数开始执行& }" a$ g# w9 {0 P9 L
C.main()函数也可以被其它函数调用
: z& p- W* I8 X# t" i* p D.一个C程序可以有多个main()函数
* E4 ^3 {! H9 O8 ^5 o单项选择题
* a1 h6 w" r% I) _ _( x/ F0 q31、设int a[ ]={12,34,56,78},*p=a;,下列表达式的值为56的是( )* T0 F4 J" k% i. x* r
A.[1+2]
+ N* v5 }3 E$ A7 s( v W" j5 W# a2 O B.*(a+2)
7 g- v! U9 |7 L9 H3 A8 N3 }8 o C.a[3]( g2 y6 f( ~7 F+ M" }/ H+ ]2 p
D.*(p+3)5 p7 c8 h1 ]9 Z% J# h; C/ Y4 s2 @
单项选择题
" b- q$ C; |$ n6 S+ H+ l6 A32、正确的C语言字符常量是( ) <br
/ y' I& G+ p* k( G# ^) t/ L A.‘65’1 \2 V8 }) p& E: M- _* }
B.‘\\’' B* F Z1 G1 S6 C z
C.“A”
% i+ M2 h- K6 c, |" | D.‘/n’
# O# D I' E0 v& b4 _; M; D5 g J单项选择题
B" l% i! b8 O- C# b33、能正确表达数学关系式0≤x<20的C语言表达式是( ) <br
! b* S& z' o, i { A.x>=0&&x<203 I y/ A! O! ~) [
B.0<=x<201 D- L% j" g6 u# y7 p
C.x>=0||x<20
' r9 D7 @3 h1 k D.!(x<=0)&&x<20
! }% i* D ^, W' V0 x5 Y$ g, a& ~9 R单项选择题( S# h( H% n" g! t+ h
34、设int a=0,b=1;,下列语句错误的是( ) <br
. J% [1 g# L b! }* e4 w. H A.a=b=10;
' h% M# m- Q/ q3 m# V; M8 h6 W( E1 [ B.a++;# G( B" u( b' v0 s; I9 d w& z
C.b+=a;$ r7 _: y8 G3 d' r# L
D.(a+b)++;
! l6 v7 w9 e/ Y) y! @0 ~4 a. o% K单项选择题' v5 c% L2 \: s A5 l0 k
35、函数调用语句fun(fun(a,a+b,a+c),(a,b,c),5);中函数fun的参数个数是( ) <br" t! ~, I5 B# c5 ? J
A.35 Z$ B9 Z+ \; ?9 s: R
B.4
: G9 ~- K, O4 j; W( V: o C.5$ I! a! v, e% t! `" j
D.6
) X! A6 `. S- h单项选择题
& l% A: J" _+ o36、可用于C语言用户标识符的是( )
1 u$ q# O" y; G7 P' b; z( m A.void,define
+ ?) A0 Z4 B* c3 k4 a B.2c,DO* w4 e! n5 K6 \, k4 t7 p9 _- @
C.For,-abc
/ n: I6 q6 q L' s5 K D.as_b3,_123
; Q2 [0 [0 x" _& v单项选择题, y# I9 s B& w9 P( B
37、下列运算符的操作数必须是整型的是( )% l' P( [* k6 E; O# V5 x( W
A.
9 X# m) W4 W8 c B.!
9 e* R- r) ^! T0 w8 D& { C.%
$ S: K* w. p/ m# S) z& S D.=; T5 T5 k6 N0 l1 z) n* [0 m
谋学网(www.mouxue.com)
( x3 G5 _+ B; R1 c5 h" h: m38、下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空: #include stdio.hvoid main(){int a[10],i,max; for(i=0;i<10;i++) scanf(%d,&a[i]); for( (1) ;i<10;i++) if(a[i]>a[max]) (2) printf(最大值为:%d ,下标是:%d, (3) ,max);}3 s- U- U1 M- J" O( J* F+ y, h5 _
7 f3 U' w2 _! K, c
谋学网(www.mouxue.com)
. D; l! t# m0 W& V w- }39、设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。 / P, Q+ J- I3 p- m* i
: O+ G8 N, U' [# L7 N {6 {2 Z谋学网(www.mouxue.com), O, A* }/ s H W- `" U3 ~
40、设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。
: o9 h! r- f0 k) O8 N; j- M
0 v% o8 n8 g$ |7 }: K谋学网(www.mouxue.com)( @" z$ ~0 \+ n8 V% ]2 p
41、若定义函数时类型缺省,则该函数默认的类型是____ _______。
; ] H b. b$ i1 t- z! z( n1 R( c4 W( ^
谋学网(www.mouxue.com); G+ I) m$ ~3 C/ m1 V# ~
42、设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。 $ ~0 _# T3 j. u. h) P* \
8 L1 [9 _" F- h9 s: |; ? p! p论述题0 y% q; H$ T! {$ I$ S; m& u
43、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?
4 {' E9 }! }8 B; M v1 m
/ a, z8 a) l2 r+ U) q d% r论述题( q) h, O+ n7 b. K
44、在C语言为什么规定对所有用到的变量要先定义,后使用”?这样的做有什么好处?4 _4 o, }9 A9 z9 z' m4 Y* h4 l' p
- f+ R2 v" Y& W% m) ^3 [+ i
论述题5 A+ x1 _+ r8 ^# J x4 k3 W9 g, M' L
45、找出一个3行4列的二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。可能有几个鞍点也可能一个都没有。
" v( x7 l0 b3 O6 D; F: l y; L- x! s _5 R8 f& {1 \3 v
论述题+ D& a" A2 |" f6 {
46、请给出C语言的主要数据类型,请你至少给出4种以上的数据类型实例。8 P7 b8 q1 e& Q9 S# ]% C+ l3 }
( H: ~$ |7 B" }: N- D
论述题8 d8 {3 u8 Q- M, f
47、一个C程序由哪些要素构成,请给出一个C语言程序进行说明。! x P* P& f$ K B6 i
+ T. M" ?2 o- T& a# m/ Y论述题
- r' Z+ S) O$ g) W" x& b48、编一程序求:1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。
! k# S6 p3 y# X h5 b6 z6 ~7 O) u0 M5 E9 C9 v# `
论述题3 P1 l4 p |5 G% T. v! t
49、C语言程序包括哪些三种基本结构?请给出这三种基本结构的传统流程图或N-S图! Z- A- B& L, O' b
, [2 E6 d+ H: H论述题
" a1 w9 o1 @2 h7 @, b50、什么是函数的原型?其作用是什么?在这些作用中如何使用?
: h9 N- a1 V, d% N( V+ |( K* Y" J) ?2 n: U3 X2 A
论述题/ A3 L& f, l" o: S7 i1 `: _
51、什么是内部函数和外部函数?
/ g* z( y, S9 d/ f( F A2 o" Z
8 o/ w9 w! d# z论述题; }# q$ r2 b4 [, w& I# A
52、在下列程序中,循环结构执行结束后,i的值是多少,循环次数是多少?i--执行的次数是多少?#include stdio.hint main(){ int i=100, s=0,n=0; while(i--){s+=i;n++; }printf(%d ,n);}
8 q$ Z# G! u P+ h1 ?" d7 C5 h
! s4 r) F+ d# p2 S$ Z0 T论述题
# e* z- o+ ?' s53、在下列程序中,fun函数为一个递归函数,请将程序中的fun函数改为非递归函数,保持功能不变。#include stdio.hlong fun(int n){ if(n==1) return 1; else return n*fun(n-1);}void main(){int n;printf(请输入n的值:);scanf(%d,&n);printf(%d!=%ld ,n,fun(n));}
, \" L4 W) Z, V3 e# {2 v# B7 a2 H/ `6 S' Q; V
论述题/ z' F& I1 r5 A" J4 z2 y
54、1. 设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。2. 设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。3. 设char s[]=”\t\’Name\\Address\n”;,s的长度是___________。4.设int x=1,y=3,z;,执行z=x>y?++x:y++;后,z的值是____________。5. 设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。6. 若定义函数时类型缺省,则该函数默认的类型是____ _______。7. 设int a[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是_______8.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。main(){float x[1000],sum=0.0,ave,a;int n=0,i;printf(Enter mark:\n”);scanf(%f”,&a);while( (1) ){sum___(2)_ ___;x[n]=a ;n++;scanf(%f”,&a);}ave=____(3)___;printf(Output:\n”);printf(ave=%f\n”,ave);for(i=0;i<N< SPAN>;i++) if (x[i]<AVE) printf(%5f.2”,x[i]);}9.下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空: #include stdio.hvoid main(){int a[10],i,max; for(i=0;i<10;i++) scanf(%d,&a[i]); for( (1) ;i<10;i++) if(a[i]>a[max]) (2) printf(最大值为:%d ,下标是:%d, (3) ,max);} 10、下列程序的功能是:从键盘输入10数,找出其中的素数并按降序输出这些素数。请根据给定的程序和程序的功能完善该程序。(每空2分,共6分)。#include#includeint f(int x){int i; for(i=2;i<=sqrt(x);i++) if(x%i==0) return 0; (1) }void main(){int a[10],i,n=0,j,t; for(i=0;i<10;i++) scanf(%d,&a[i]); for(i=0;i<10;i++) if( (2)) n++; else a[i]=0; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if( (3) ) {t=a[j];a[j]=a[j+1];a[j+1]=t;} printf(共有%d个素数,它们是:,n); for(i=0;i<9;i++) if(a[i]!=0) printf(%d ,a[i]);} 11. 从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。 #define N 10 struct student { char name [20]; char sex; int score; } stu[N]; void main( ) { int i; float aver,sum=0; for(i=0;i<N< SPAN>;i++) { scanf(“%d,%c%s”,(1)__ _______);/*第一空*/ sum=sum+_(2) ________; /*第二空*/ } aver=_(3)_ ________; /*第三空*/ printf(“aver=%6. 2f\n”,aver); } 12. 从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text. txt中。 #include “stdio.h” void main() { FILE (1)______; /*第一空*/ char ch; if( (fp=fopen (“text. txt’’,_(2)_ _____) )==NULL) exit(0); /*第二空*/ while( (ch=getchar( ))!=’?’) fputc(ch,_(3)_ ______); /*第三空*/ fclose(fp); } 13. 用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。 递归公式如下: age(n)= int age(int n) { if (n==1) return (__(1)_ ____); /*第一空*/ else return(_(2)_ _______); /*第二空*/ } void main() { printf(‘‘%d\n”,_(3)__ ______); /*第三空*/ }14.依据下列提供的程序回答问题(1)提供程序的功能是什么? #include stdio.hvoid main(){int score[10],i,max; for(i=0;i<10;i++) {printf(请输入第%d个学生的成绩(0-100):\n,i+1); scanf(%d,&score[i]);} for(i=1,max=0;i<10;i++) if(score[i]>score[max]) max=i; printf(最高成绩为:%d ,最高成绩是第%d个:%d,score[max],max+1);}(2)请依据提供的程序画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,若输入数据如89、87、77、67、87、80、97、80、97、74、58、84,则输出结果是什么?
6 C5 N; S6 Z% C F( u3 T; ` y! k8 O' O( y) B, e6 M0 J
论述题
; a! r3 k/ g/ O+ R+ M2 I& w55、下列表达式的值是多少?处理表达式后, a的值是多少?,假设整数类型变量a的值为12(1)a+=a (2)a-=2(3)a*=2+3 (4)a/=a+a(5)a%=(n%=2) n的值等于5 (6)a+=a-=a*a, l1 h% b9 S( z5 }5 Z
+ ^7 O m* y9 D7 r& B
论述题
' x% Y2 C o" R; q56、请简述算法、程序设计语言与程序的区别与联系, ~2 g4 y2 d6 X' X- j1 i" D
+ `, W. Q* N$ U' I1 k; Z5 l
论述题
/ S) p' C* Q4 N5 {7 s# k1 J57、什么是算法?算法的特征?算法的描述方法有哪些?5 \$ v$ b- Q6 B# m. k
( r2 Q1 [" p2 }- Y, t5 l; n
论述题( `$ {+ l7 P7 E, o* s* H( y5 i
58、4.写出下列表达式所对应的C语言表达式,其中x,y为整数,a,b,c为实数类型内容见附件写C语言表达式</a
4 J& I: Z) A3 A- v" h
2 _8 X) n @- \) Q3 L5 ]论述题
3 N+ f, b4 @4 n) f59、在下列程序中,函数f的功能是什么? 该程序的运行结果是多少?#include stdio.hint fun(int num){int k=1;do {k*=num%10; num/=10;}while(num>0); return k;}int main(){int x=651,y=123;printf(%d,%d,fun(x),fun(y));}
5 @7 E9 Z$ _5 z0 X: |, U i; c
( V3 X- F; u6 C: V4 d论述题8 ^$ x- K0 X4 M! h
60、在下列程序中,函数p的功能是什么? 该程序的运行结果是多少?#include stdio.hvoid sort(int x[ ],int n) {int i,j,k,t; for(i=0;i<n-1;i++) {k=i; for(j=i+1;j<n;j++) if(x[k]>x[j])k=j; if(i!=k) {t=x[k];x[k]=x[i];x[i]=t;} } }int main() {int a[10]={34,50,89,67,102,11,75,30,125,145},i; sort(a,10); for(i=0;i<10;i++) printf(%10d,a[i]);}
) o* t3 P) Y! ?' O0 u. X3 X
! X; c/ P/ e0 d# c, W& A论述题) S' \ A7 o" k0 j0 D) a3 M. i
61、结构化程序设计方法的内容是什么?划分模块的基本原则?采用结构化方法的好处?6 b0 o. p0 R0 r
/ h+ L4 ]5 t) X% q3 p; A9 q论述题9 p0 Q, g# ^8 a7 ^) f
62、通过你对C语言程序设计课程的学习,你认为C语言程序设计具有哪些特点?并简要说明。C语言有哪些局限性?针对这些局限性,是如何解决这些问题的?
0 d* U8 o5 n/ r. Z# O. \7 ]2 H4 R p2 r1 L
论述题- i8 k" z, a) G; S& C9 E7 b* [
63、程序的功能是从键盘上任意输入一个正整数,求各位数字之和。请用模块化方法改写下列程序,功能不变。#include stdio.h”void main(){int n;int r,s=0; scanf(%d”,&n); do{r=n%10; s+=r; n=n/10; }while(n>0); printf(%d”, s); }( y' B$ m2 @, @ u* \3 q- c
" V$ [) O- q0 I7 I; X( o+ r& N
论述题' U& \$ ^1 K' `( C! P
64、有如下程序#include stdio.hint fun(int x){ int p; if(x==0 || x==1) return 3; else p=x-fun(x-2); return p;}int main(){ printf( %d,fun(9));}该程序的输出结果是多少?
* M7 C/ Z) O6 F) ?. x# Q E1 c2 o- C; F+ k
论述题7 R- {. r9 r; r, i# Z
65、下列函数的功能是什么 int fun(char *x){char *y=x; while(*y++); return y-x-1}
# ?# m1 N u }6 c' S/ p7 v" k
* U Y+ X) Q3 h4 ^4 U论述题- Y5 l$ m4 @: _+ b! f8 {! c+ k
66、什么是指针,什么是指针变量?指针所指向的变量?给一实例说明
/ y9 X7 x# C5 j4 ^: h& ~ ]) z
$ H# s; d' h9 G3 X& ~应用题
, I+ w. t2 j+ k67、从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。要求:(a)编写一个sort(int word,int a[])函数实现排序功能。(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。(c)程序必须有输入输出提示。
7 C. b. ^' T) @0 }' z# c. w5 {* T
应用题4 r: p: U' P% H" E7 j6 H4 V3 Q- x/ W1 X
68、依据下列提供的程序回答问题#include stdio.hdouble fun(int a[],int m){int i;double sum=0; for(i=0;i<m;i++)sum+=a[i]; return(sum/m);}void main(){int x, count = 0,a[300];for (x = 1;x <= 30;x++) if (x%2==0) { a[count]=x; count++; }printf(\n这些偶数的平均值是:%6.0lf\n, aver(a,count));}(1)上述提供程序中,函数fun的功能是什么?(2)请依据上述程序思想,画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,其输出结果是什么?' ]* H: w# B) I( }( A7 X! P. e
4 ^7 p N$ S4 q" p
应用题9 j. T6 X! s) u& a L; `
69、编写一个函数计算函数f(x,y)=x2+y2+sin(x)的值,要求有输入输出提示,结果保留小数点后3位
+ T: e y/ ]7 h8 f; j+ s# r9 Y" ^1 e7 a3 Z# y
应用题
# c& \9 v% q0 r) y/ `2 @& _% s7 Q70、输出100-900之间的所有奇数,并求出这些奇数的平均值输出9 M0 G" W( C% z' L/ e6 _; B
* S6 s) h- X, c4 j8 O/ ]
应用题; m8 ?! L, a' C1 j$ Q
71、编写一个函数fun求出分数序列的前n项之和,再写一主函数测试其功能; u: g& m* P3 d. ^$ x" u b; W
) u: O& |* I7 e' @) ^$ I% l: p
应用题. n2 c6 S9 ?( n8 x, X3 T
72、输出1-500之间的所有偶数,并求出这些偶数的平均值输出。0 j0 B( F4 ^) H9 D3 `: C
; N2 X& z- T1 ]应用题0 m4 D! N, k' x3 O2 l ]
73、依据下列提供的程序回答问题#includestdio.hint fun(int a,int b){ int r; r=a%b; while(r!=0) { a=b; b=r; r=a%b; } return(b);}void main(){ int num1, num2,a; printf(Input num1 num2: ); scanf(%d%d,&num1,&num2); printf(num1= %d,num2= %d\n\n,num1,num2); a=fun(num1,num2); printf(The maximun common divisor is %d\n\n,a);}(1)上述提供程序中,函数fun的功能是什么?(2)请依据提供的函数fun代码画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为24,,36其输出结果是什么?
9 Y! ^" H* e. ?3 J2 `" p. x% u* |6 ^2 A/ F
应用题% i' ?: l% A; D
74、 9 m7 w x* |. M9 M! E! A
D) |# n0 L! v$ I
应用题
& h& h# L4 S: x: H% s( f# Y/ a75、编写程序打印下列图案
6 }$ W2 N2 R2 _& ^) c2 Z" ?3 T# h
$ [+ X9 d6 a. ]应用题
) C. W1 i) E+ L+ {2 Y# {76、编写一个函数fun计算公式的前n项之和,再写一主函数测试其功能。( H, i& \6 f+ Y1 R! m0 N( H
) o/ L9 G" D/ A, o( }3 {0 m3 j应用题+ q8 p8 x9 [1 g7 U0 t* U% E1 h
77、写一个函数将一个字符串中的大写字母转换为小写,再写一个测试函数测试其功能。不允许使用strlwr函数
. E3 s: }% U6 D' t) v
2 A: o/ Z- S3 z6 p应用题
# k" Z3 L8 h4 V, t6 X78、编写一个函数计算函数的值,要求有输入输出提示,结果精度为3位
' a9 k# v4 G% R) Z0 u( ]
% B+ _0 E7 Y/ ?- K* I应用题/ b, W7 R- F7 s, W
79、#include stdio.hdouble aver(int a[],int m){int i;double sum=0; for(i=0;i<m;i++)sum+=a[i]; return(sum/10);}void main(){int a[10],i,max;double sum=0; for(i=0;i<10;i++) scanf(%d,&a[i]); printf(平均分数:%6.0lf\n ,aver(a,10)); max=0; for(i=1;i<10;i++) if(a[i]>a[max]) max=i; printf(最大值为:%d,最大值下标是:%d\n ,a[max],max+1);}(1) 所提供程序中,函数aver的功能是什么?(2)请依据提供上述程序,画出其的传统流程图或N-S图或自然语言描述。。(3)若输入的数据分别为:45,87,89,90,77,88,88,78,78,78,则在VC6.0环境下运行上述程序,其输出结果是什么? k/ a' Z9 f( H) ~# S
( [' j, C3 l, k+ E5 \# o
应用题% Y1 r! p3 i' u# M9 B: O
80、依据下列提供的程序回答问题#include stdio.h#include math.hint f(int x){int i; for(i=2;i<=sqrt(x);i++) if(x%i==0) return 0; return 1;}void main(){int a[10],i,n=0; for(i=0;i<10;i++) scanf(%d,&a[i]); for(i=0;i<10;i++) if( f(a[i])==1 ) { printf(%5d,a[i]);n++; } printf(\n满足条件的数的个数为%d,n);}(1)上述提供程序中,函数f的功能是什么?(2)请依据提供的函数f的代码程序,画出其的传统流程图或N-S图或自然语言描述。。(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为97,35,17,110,3,11,45,43,7,89其输出结果是什么?
) T% W! e( ]+ u0 [; T0 o' }0 c( G; q# O. q& ^- v. L1 h0 J* g$ ?
应用题
: a* l# A ], J/ ^! L81、写一个函数将一个字符串中的小写字母转换为大写,再写一个测试函数测试其功能。不允许使用strurp函数
9 n1 B9 ]; |0 R9 o t/ I. h H! N: o2 S3 c% X& m0 y! g
应用题
! U0 x! Z+ Q& J2 r0 G# t82、利用随机函数产生20个100-300的随机整数放入数组a中,从键盘输入查找关键字word是否在数组a中。要求:(1)编写一个函数find(int word,int a[])查找关键字word是否在数组a中(2)主函数中产生随机整数,并调用find函数进行测试。(3)程序必须有相应的输入输出提示。
5 H0 W( w/ T8 {3 u. ~* F: x0 V
7 b3 b/ x$ R3 q应用题
; k u3 W6 i9 [; S83、编写程序打印下列图案
: Q: @, \( y8 ?5 |# T |
|