|
吉大《C语言程序设计》在线作业二
- m5 u- f, m+ S: c+ ~* D$ \% A {) j% W ]/ b
试卷总分:100 测试时间:--
|7 k& `* F7 b( R/ n& e7 X. C/ L5 I" h
@- k: x1 c8 n) a* G
& {; c$ b3 B7 f+ z& x* B& O; W7 Z
/ ]; d0 E2 U1 L
! @+ j+ A$ y9 H L
" v, [+ d/ W/ q* o" t' W9 K: s: q, m
, x, {9 `' z# M) g) a+ T& ]7 Y单选题1 ~/ A, C" c, n2 O
多选题$ ], E# Q S0 h! j- M
判断题3 q- Q- b- K/ U' d8 B) F: b
' b0 b ^% J4 u, j# \# T2 \
! H/ H1 o, c$ A# f# c# A: ~8 I; g0 S
8 ?/ G) b+ h* y7 }7 l& N
/ z% G0 A) |- i2 v2 u
一、单选题(共 10 道试题,共 40 分。)1 \# B0 c- b$ b. Z1 d
, q0 v" v) m" v0 b/ k: G/ gV
" t4 S6 N# F1 r, ]" V7 A" Z" r/ V/ E: F- p; j B2 @* v
+ x4 t; k2 ^: U0 G: i1. 下列各数据类型不属于构造类型的是6 a' X" K6 T7 o3 K
A. 枚举型" y3 Y3 n% }5 \( A( J: e
' W3 f8 ?0 Q% k7 s; P+ I/ w7 _' PB. 共用型
2 n/ o9 K. Q) \/ \$ C4 Y! s8 ~4 ^ T/ U7 [" ^. m4 u( j4 D
C. 结构型+ n$ }: l' ~" ^" D) P& @% I7 W# |
- u+ t4 G5 l- r( x: T3 B7 L
D. 数组型6 {) \$ K7 v5 P- k! |8 M# B. N
1 T' [# p/ j9 l& }* [
满分:4 分$ L6 J5 |% C% V/ V, I! m6 ]
+ q; g% u* ?. g7 i6 O2. 设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是
0 j9 c" u T9 m& z3 O0 Q) H* kA. 000101004 E* {8 T2 A7 @9 `' m; ]4 X& r
( U! w) d K! V+ u1 x3 q3 ~B. 000110110 l4 F+ b! {& }: j( i
+ e5 n% o! G, Z @+ T7 CC. 00011100
1 d% p$ g' w) i& T+ h
, R+ N9 Q j3 F* ]4 G4 [# m( x% vD. 00011000
! \8 H# D5 H# T# f! t6 E7 N. m' K
1 `7 D/ O7 L# H. C. u& X _ 满分:4 分% Y( P) Y7 Q/ ^7 M6 b
$ \$ c# V5 z- V7 M
3. 请选出可用作C语言用户标识符的是
8 |7 k) Q+ {" m$ A5 |2 {1 H9 WA. void,define,WORD
1 n4 l# e' B* S0 ?9 K+ A3 L0 x$ x# O8 `& e. D* O+ Z+ l
B. a3_b3,_123,IF
0 Q, E( u' k9 [( Q) m0 v/ z2 E9 @' D5 x, |
C. FOR,--abc,Case' V" p! H8 u4 J- z- Q) t4 J
& P$ G# r( F# }/ }9 G: \- b/ l4 GD. 2a,Do,Sizeof
" c d1 X1 N* V: i. G7 o7 N3 F' x' b. M) W- A! e3 N
满分:4 分
) D: ^9 d. W# v9 }, w& u( ~0 F, O: U2 }6 d$ Z
4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是7 a% [9 j* h' o. } {! a, s1 w
A. 2# p }( _, a; h4 v, D
; a: ?8 O' w' e2 y0 s( G
B. 4( [5 _. u9 u" Y: B
1 \2 {: J& R8 o0 M4 l( g; K8 B; D
C. 66 l. e: U. D: a; u0 A4 m0 z- x) {
1 ]' b* L+ G8 R
D. 8$ Y/ V, Y1 c- O4 d" R
& i" B9 p8 ]8 V2 ^
满分:4 分
9 H; B3 @. \: [6 h3 a& m2 q+ w1 s7 d& S# j$ c: \( M% O0 a
5. 下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
% v; {; R% x; d) ~A. 1' I2 O6 s$ z5 N- s# _
; o, S7 Q9 V( }$ _
B. 1
5 L4 [: d% E G. s0 l3 p( J7 z/ g! T% w, m! p0 c
C. 8
! h8 ?! k. H& z8 X+ ], j& ~( e _+ Q' C% A0 p6 P& L
D. 0
2 {0 p7 A5 d/ |) U5 @1 g! b! w: W- V& b6 F c. y( `# q9 T9 [
满分:4 分7 @5 v# W6 D& j* K
4 }8 [9 o9 Q5 K9 B3 p6. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include main() { int i=0,j,k; do{i++;k=316-13*i;}while(______); j=k/11; printf("316=13*%d+11*%d",i,j); }
/ @- D/ D$ Z# O3 c7 ^/ } w) dA. k/11
1 ?( r w8 b( E7 f, G! g: r2 U8 P
B. k! U2 o+ D. E0 E7 V; A% C. I: t2 @
2 `. c3 C# [0 z' l; L8 q
C. k/11==0
7 m, R' Y$ G4 L8 z1 N* {, ] k: f6 o. W; ?1 p. B; ~+ _
D. k==0
9 t- k- c9 h' N( ?
: n4 T- s! ^2 d) k' u" W$ S2 X% U4 m 满分:4 分% e% C5 E, E( w+ C2 K# p
" b1 z5 W8 g7 ~2 ~/ Z- o) @7 K
7. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
* v. @# j) S2 fA. a[p-a]7 x4 i1 _4 Z+ }" s" l
" v. E4 E" u; Q {
B. *(&a[i])) G: H6 O) h p6 Z
8 N2 N! ?4 l/ A | P1 H7 f; y9 u/ _C. p[i]
) D! n& f K9 d) H! {$ l. p5 p, M9 l( E8 V* \6 n0 I
D. a[10]/ b! P/ J0 M: e0 {3 V4 j
1 q% \9 d6 [$ j& s1 m! q
满分:4 分
& g7 M3 y3 p; q! S i: b! l
. k3 P* r. l$ j& m+ U! _8 B8. 下面能正确进行字符串赋值操作的是9 G5 g+ X( h0 c) r0 \1 ^* b
A. char s[5]={"ABCDE"};
: u _ n$ k/ ^6 D$ p8 u. b
6 z3 k) p) |$ ^1 C0 {8 |B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
2 b# C$ ?! W5 u6 w; Y
- ~3 \) a0 N% R* X0 w& _" |3 OC. char *s;s="ABCDE";
: P N" F8 Z6 a3 F2 X7 k7 a5 H7 x6 c; T* D' V
D. char *s;char a; scanf("%s",&s);; a1 s( }# |9 |0 J3 `
" z+ \* @1 ]1 x 满分:4 分
2 d n6 p& t% o2 g
6 A9 v% p7 m, R, U3 H: P3 R+ W1 i; E) p9. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }; R7 ~% s, `) M( ~/ @5 R
A. ABCDEFG; }' r: Z. P q* q% C, `) Q
) F1 O, U/ @* ^* G! R$ [" PB. IJHL 9 |, n) N9 d' U4 G8 N$ f! D3 J" a
2 r6 V0 B/ D3 u J( ?C. ABCDEFGHIJKL
/ K: z! k' `( G! P, Y/ x* S. K- o" f1 D: H) ~0 G1 k# d, u
D. IJKLABCDEFGH# i, j8 W2 N7 e
: u" D2 f0 j2 y, P [5 j1 a
满分:4 分) P$ ~( i+ x. m& D) Y# Z) t! f
" i7 D* x% {+ R( n10. 下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }
& B3 k2 s" K, {5 `A. 3$ r# h% Y" ^/ J% h
8 ?: w9 `+ W% q& V
B. 3.2" ]" E. z9 [& W
' `# |* I+ j* f' a9 `C. 0
8 |0 ~$ p, U" |+ a5 v# s& Q4 s2 M9 d/ T% Z( D
D. 3.07
0 A6 q. G( ~3 h3 S p( W+ Q
3 D3 f9 P' C- C" }% `5 U; a多选题(共 5 道试题,共 20 分。)* ` K2 ^! C3 m8 x6 a
7 T4 O) ^# o% O; @) j
V
' O$ c/ e& p8 g
7 P2 k% q4 V' d- X Y3 N0 r. T3 M6 N+ f( i! w3 C& s: }# B
1. 带参宏定义与函数的区别是:______。# d8 Y+ d. g+ ^/ U, v+ F& C+ q
A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换 a! K6 E1 Q; [8 G% N' i2 d
$ _( }- ^" W2 I$ R( Q0 ~; ^B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
- f1 X4 `3 M$ u! y& j( a, M5 N' B4 i
C. 宏不存在类型问题,宏名和参数都不存在类型问题
8 E' |" U# R; G% U8 J4 c8 ?# Q o2 {' `* o1 o
D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
# q% V& v# U. U+ T9 w! ]# E0 G1 |' a" l& J) d# G( h
满分:4 分, R$ m% S6 n3 l8 t7 c
! u4 R7 z& B0 t5 C" [, X
2. 内存中供用户使用的存储空间可分为:______。( `" y1 K3 t& N: ~
A. 程序区
# x9 m+ G# z3 a( N# [$ d7 i
9 l' Q% u6 S3 ?( `: o+ Z+ vB. 静态存储区$ C% \; Z( j& z& C
( X- g- t- v) s/ L# NC. 动态存储区' `6 F( l: c1 s/ `. u1 ^
+ v: ^' W! U, h* v
D. 数据存储区5 V6 m2 @3 s6 _( {
4 R P) D% ^% _/ F7 G
满分:4 分1 P) f5 ^/ y, {
8 W8 q7 o: F( |1 C7 M3. 以下______是正确的转义字符。( )+ j/ w) l# U1 l7 K O
A. ‘\\'
3 ?1 F. Z/ Y* b1 }% B4 O7 R: U
5 v( K( `/ D. b# `7 v, NB. ‘\’$ n" X8 D0 z/ g# P1 k
; b4 w' ?/ r8 nC. ‘\81': _% S8 }1 W; T: |+ Q
; V5 p" c! O/ G- B& c# oD. ‘\0'1 z2 G: u |! r
5 G8 D4 g. `: [% l7 g v
满分:4 分
0 }) ?& T P2 q9 U. u& P1 f, {
: A7 d9 H( m1 A3 ?! w- N. }4. 以下不正确的描述是______。
% S- q! q0 Q4 r. DA. 函数的定义可以嵌套,函数的调用不可以嵌套
# B6 g, A% n# n2 F8 n: C5 o# r' v9 g2 Y% K/ b ]! D
B. 函数的定义不可以嵌套,函数的调用可以嵌套. p" z `# q$ F. y: Y B6 ]
$ I' V: [/ b# l3 cC. 函数的定义和函数的调用均可以嵌套
% A2 k" G+ M a6 M/ @( T
/ ]4 O5 q; [/ v$ d4 @! D3 v6 QD. 函数的定义和函数的调用均不可以嵌套
& t9 i3 P; W9 U) u2 `( j+ G7 P/ z% g; w8 C: R- O7 m/ {% k9 J
满分:4 分
5 | t# ~5 y- V) E: J% @( P( m" s. E$ w4 ]/ N0 c, S+ o# K
5. 对函数的正确使用方法描述7 o/ c2 F3 f, Q3 v( `/ y6 Y
A. 用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
4 ~# q8 v5 {0 v4 e1 J# G2 n5 {" ~, P1 K: F: d1 H+ V9 ]1 l
B. 实参数组元素和形参数组元素类型可以不一致! T! C( T. O x9 w+ x5 T, ?3 v
$ l& [! R5 X9 `( I4 r$ H+ I
C. 形参数组长度可以不指定
6 @- h! W9 R9 o' z
4 b/ c5 v! r- Y' LD. 形参数组长度可以大于实参数组长度
7 B/ X. S* {; Y* f
: u/ i" Z$ P; J 满分:4 分% W9 `4 h, z# D, Z- w% s1 R
满分:4 分, g4 z6 y0 `8 r4 ]6 Y: y
判断题(共 10 道试题,共 40 分。)* [7 b7 I& {3 D
8 \0 o2 s: A m- e, s% K; h- _V% j+ V1 p% g* P2 D
5 H0 u! Z; S3 M
' t L0 H4 g' Q" v+ j3 b1. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
! u2 J5 e2 g3 z. Q7 o$ N7 a. TA. 错误$ j) B" m7 \7 ~# G4 e4 u
' k$ n A8 m: c6 b2 l" u) K4 q
B. 正确
. E: L2 x( Z4 T" X+ J2 C4 x! |7 A3 o7 S6 A
满分:4 分
7 S6 F/ b* K9 j- D1 {9 p
* e; L) {& j5 F# L, e( x2. 数据结构指的是数据的组织形式,数组就是一种数据结构( )$ G z$ c1 k- b' c8 }2 o
A. 错误. K9 d1 v! ^. L% J! i/ M8 l- W% y
) u. V/ v- v0 d* H: b8 z# a
B. 正确
5 ]! Q0 ?6 z5 b% F8 |& T' y# k$ o, [3 q# o
满分:4 分
7 Y {$ x* R3 z* O& G
' ^# }% N! x& n3 e6 m1 x L3. C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
" n+ C0 m i8 l5 xA. 错误
- z4 e4 U5 H- H* w, Z! s+ S% a1 g/ @
B. 正确
* s3 e( B" o% k9 v
( s3 \% [2 f, U7 q 满分:4 分
6 c) L8 k U9 a$ E. u
# O" x) W" m( Q8 z. ^- B0 C4. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )( ^3 S P J- r0 `! N& t
A. 错误
4 M9 e- @% Y1 m/ J3 M- }' W' X( b) p1 m R( S6 u
B. 正确
6 J( [( F" |- }& {4 N w$ C( Z1 } J+ {7 g9 V$ K. |
满分:4 分1 y5 x: A0 s ?3 {; {$ P2 x7 `
: p9 ?! ~6 g; ^! ?! v5. 模运算符要求两侧均应为整型数据。( ): V: h" \5 [. {5 W% P2 u- y
A. 错误0 P; C3 W& w* u2 P, ~0 v, j' a
9 I+ E" t' c+ U7 q+ Z
B. 正确
1 ^' j3 l" R6 b1 t* b
& |# p/ X5 f& R/ e" k 满分:4 分
8 Q7 f4 I. t3 Q- ^5 b3 [) b' W: u' j3 r! E7 ]! _' c" Z
6. 主函数和其它函数可以相互调用
$ r. g" W1 s' m3 ZA. 错误/ o! w% }0 U$ G$ b
+ F$ z/ m2 A4 J DB. 正确
% e; q* F# ]) j7 Y) f3 n6 z" g. v! o9 s
满分:4 分
9 t& n, O* h* E' b: {: T+ w$ j1 C% m1 }* Q6 t
7. C程序中各函数之间既允许直接递归调用也允许间接递归调! W+ x5 R0 [3 x
A. 错误' z/ ], W, O0 W7 ]% t
! C x! _3 R% c0 e5 v) z4 O
B. 正确
3 n9 K1 o6 |& e. ^6 Z' g1 `' |! u4 n) Q# V
满分:4 分: }8 b3 c n+ y0 }+ X+ J. ^
5 l. |0 z. V0 M1 r8. 一个int型与一个double型数据进行混合运算时,其结果是double型。
; B" Y9 i+ |- C) b' }# X) T- H% kA. 错误' t( x5 @9 h# n
; i' c0 b! A4 L2 x. i
B. 正确
6 g* |7 f. S0 V
+ o1 ~) D7 c: {/ L }* u' k 满分:4 分
# D) X% g. u6 l0 X
' k4 \0 ^2 H$ {9. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
8 b4 ]5 k4 P* zA. 错误# x1 ~" |. ^9 G1 `
$ S: V- T8 L+ z; o5 y
B. 正确
3 m3 s% A1 K6 u1 I8 A% U6 v; T0 ~; Z& |
满分:4 分
. A5 z/ }% z5 Y: o( L0 C+ k2 p% L% t1 x+ D: F
10. 使用getchar函数可以不添加#include <stdio.h>命令。( ) [8 l4 k$ Y3 ?2 o" I1 q( \, s i
A. 错误
# y. n" C2 m9 [5 M' R7 C3 k1 b% Q) Q9 j0 k
B. 正确) z: w8 b4 i+ X7 m/ R4 P" b
7 f9 b0 ?: Z3 n$ n7 ~* r' m- r 满分:4 分 |
|