|
吉大《C语言程序设计》在线作业二4 y6 n% A# F+ d' m9 G& i
* j0 F: h: Y# f% h6 D试卷总分:100 测试时间:--- r6 k! X1 I' N3 a
9 \; w! l( y$ s7 G" U# k' U3 A$ J" a& U
1 O5 r8 p$ e1 L2 q% B% w% h. Q9 r0 z8 J. Q
1 f" ^4 r9 _3 V1 t3 \0 e! \% `
% y4 J' S: }' i8 d/ v" d$ i% Y- n+ p L
$ C# G8 [% O. G5 N! P, Z
单选题
: q5 H7 t9 V& O( V) R/ s: h8 V) A多选题
0 ]& b1 f* f6 ?& H. g, E判断题1 a! ~" _: J1 Z7 J7 ], X, Y
9 K( c2 x: \& }' D
1 b& U" e1 L3 C! V
, T, W0 Z" R4 }1 `- i- v
: _! k7 s: a0 h# P9 j4 [一、单选题(共 10 道试题,共 40 分。)# {, N) [/ B) J& j& |
4 p+ _6 f9 g n' c B8 U8 f
V
3 E# P9 @; P# V, |3 m
5 Y' C! s W, c3 Z2 ~0 w/ \; V" o! j5 J: h7 ~! S( v4 X2 v
1. 下列各数据类型不属于构造类型的是
) I6 n s8 f0 i e& [% k1 bA. 枚举型2 U. A7 I2 k7 {- g! \) z+ U
j% A. f2 [' }* n+ h
B. 共用型: |$ |. w; V; k) U1 A+ S2 u4 T
* A( S( W3 }0 uC. 结构型 f1 [! X: V/ g3 R% X
: r; ~/ s9 Z% s mD. 数组型
2 m2 z+ e# D/ {
* O* Z5 {$ Q7 h; X& K4 k+ Y2 [ 满分:4 分* _: ^- J0 m" z4 J% f0 v
6 t& v z4 x0 w7 e8 E) V
2. 设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是9 K" e& m( C3 w& H' ?5 ~
A. 000101009 Q6 {/ V& S5 I; l
$ \8 F# P, H6 FB. 00011011
; d+ b; x0 R5 r$ M* H& l5 T. I( [8 x6 M; K+ U
C. 00011100 ^& C7 ?, }# n) h1 A5 \- P0 d' y# }
( `7 i* Q' X: j0 C' r
D. 00011000
5 M' n6 ]+ W1 p ]* D! {! t
5 C" ?! v( Q6 b& ]. L 满分:4 分
% H1 i& v* ]/ J* s3 T! l2 J6 J/ I& c) m
3. 请选出可用作C语言用户标识符的是4 u" }7 w& `0 l9 j: E; L
A. void,define,WORD
+ F" c* S/ Z1 B% _' h2 E h8 w; M) @2 x3 K
B. a3_b3,_123,IF
1 S/ E& V* p1 V/ }; J& Q. i, x" G% C7 w6 Y# G$ _5 ^# R! Y
C. FOR,--abc,Case
4 H* z' a$ F$ E3 `$ G, O- e' L3 f- A: v" ]) N
D. 2a,Do,Sizeof
# k+ b8 F' u7 N: c5 G8 ~% E/ Q7 l5 S
满分:4 分
, i8 z' r& e; p& @2 Y% p! K6 a9 ]6 d$ w
4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是% h+ ~; {) J" u! j; z# `+ z
A. 2
3 D" q/ U5 H3 w: p
: i8 B! H9 {' F& e/ aB. 4- e, m. s+ h+ [" Q$ b
" F6 q8 ~# l( ?+ P) k. o9 J/ fC. 6
5 ~* t8 {: I; x. b; a- v$ h( J; Q" Q5 a
D. 8
# F% B: X. M0 s, Q3 q' m! G2 v7 g
1 f' l. P* p# [: X1 I+ ]: k) @ 满分:4 分
3 D; W9 s/ F/ `9 `3 X# X5 E& {
& t$ s. Q7 T" M6 ]9 ?5. 下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }* k- p- Q2 q% f( I- W; ^
A. 1; C+ c @8 e0 t! J% M8 B% E
: {. x% s( Z5 s( _, W
B. 1" ~% b' `; S: |& C7 J$ Z
% G# G. q; U7 z8 MC. 8
+ o# u" w8 {' Z# I/ @) n
: u! |. J# ]0 Y3 s( O' t" fD. 0: \- k2 e: C5 \3 n
7 u* Q" q1 ~. i
满分:4 分. e3 P) c7 {% N4 x& k. L
8 U2 a3 X7 r3 h2 e* c( H6. 下面程序的功能是把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); }! }1 ?! }+ _ `
A. k/116 f4 t% P* l! Z3 h/ W! }- T
, a/ c" W2 T$ D; g/ h1 D
B. k
; n& x$ \ w6 w1 ]7 `+ I
8 X' y( m" @( l# aC. k/11==0
' @( Q' {3 I" }* E0 R4 C3 {- k' M# U; Z, H" O
D. k==0
/ D0 _( }0 F9 A* ]) P9 P. P
* F. N9 C4 B) g6 S; N 满分:4 分
9 l" y( C. J, Y; v" `, c% r
0 j# d1 f9 z9 X7 l4 \9 Y7. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是" W7 Q+ Z) M: M+ @
A. a[p-a]
+ ?% P. \, A2 T; I. V! k
% W( s: ?# z* e: iB. *(&a[i])
6 [; r+ K, X) Y- M7 m2 l! b, K; D8 q; C9 j+ G8 ]
C. p[i]
0 O' U' V. q V( m E: P8 b7 H5 t' v2 c- d1 V( i. W% V
D. a[10]) n5 D1 R4 z0 B, j* i, _( d
4 m: W5 g" Z- a) F* I) t- C 满分:4 分
% s) D9 C7 v7 L' s" r& ~0 R p9 V4 i0 J$ i+ B' Y; ^& ^$ I$ m
8. 下面能正确进行字符串赋值操作的是
1 c* K, r [% SA. char s[5]={"ABCDE"};( ?# d/ m/ l0 d1 _& Y' ?
: K1 ^7 ~/ I# K$ V/ p. b
B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
$ t( @" L) j+ `$ C/ q1 g x: P9 i$ M; O$ J( ^
C. char *s;s="ABCDE";3 q# O3 Y1 b; U+ b( V
. ]% ^# o- E/ K f
D. char *s;char a; scanf("%s",&s);/ A6 {/ S8 ~0 l8 l5 [9 a* ~3 Y" A
2 @$ I. g, K) H 满分:4 分' X$ V* ~4 w/ |: B
; w8 z7 k' v1 R6 s9 z. ~
9. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
3 ^& H, ~: M/ ?, cA. ABCDEFG% ]& W# a6 e* S- b+ N: r
" ~, ?# B( H3 l& a9 |B. IJHL
) X% u7 s, L- R# i
: Z/ S5 t2 ]# t! T* [5 e5 K/ dC. ABCDEFGHIJKL7 y n/ g' k# \8 O! n
* u+ `: o/ ]- ?9 a. F% ?* TD. IJKLABCDEFGH
, S: i8 n; [8 i7 @9 T; \- B- ^! @9 s2 E9 v8 V
满分:4 分
' F/ i3 H4 _6 ?5 C5 U: `, x4 g; O! q, d0 V
, R1 [7 g3 M) J9 }) k10. 下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }
- R+ i" |4 e& o0 F" I; Q, EA. 3
5 ^8 b4 |" ^6 ]4 g* C+ V& [$ ~& O
5 h+ W' \0 z$ s3 P* E y9 bB. 3.2
. ]4 J* H7 U& q4 J6 z/ @. i1 j" M' @% ]
C. 02 D2 \" n' ~5 x
0 u e$ ]% i( K# AD. 3.077 P( _5 S, z# V
% v! _5 P i U2 g1 h多选题(共 5 道试题,共 20 分。)0 g# L: G+ E: v2 c. O8 [
/ V5 E0 `3 ~4 q# f8 NV
0 g F6 @) g. H. t3 h' i( N5 q( \! q
7 h6 A& y% s' X5 ~
1. 带参宏定义与函数的区别是:______。% W6 M) l1 g% \- i4 o
A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换( G4 H' M* u0 h" M
' v/ V7 ?9 z$ d$ B1 r) C. _
B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
) [3 R- H8 T/ ~ o9 P: y, I3 w" Z5 h' O! R$ f% g
C. 宏不存在类型问题,宏名和参数都不存在类型问题
% _ ]* |2 h, w1 Z
% Y; x! x0 u+ e V" q# TD. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果8 q3 V& l w7 J9 X+ v$ m$ N) {
+ t/ B$ }' T7 G& Z: Y) B+ {. Z
满分:4 分
9 m7 N- }2 e, g q3 f" ^
4 S$ g& i) u, x) R* n. e9 G2. 内存中供用户使用的存储空间可分为:______。
4 ?' E# ?: D1 A2 [A. 程序区
( C) D. R) U2 Z/ L0 i
1 y: m! W/ H3 ~3 |, q5 }! U; ?B. 静态存储区8 F4 |/ H7 i8 u* @0 B& M+ q
y( R6 T7 d' }& J3 y( _+ v
C. 动态存储区
' n6 Y+ a8 q S: N. K# \+ V; z5 o& A" I6 S! n
D. 数据存储区% ]4 ]' [3 [- w* K1 m/ V2 v
n% ]4 ] f4 ] 满分:4 分
4 M) Q5 q, @; ~6 l1 S {; ^ z" x5 r! j% x8 L
3. 以下______是正确的转义字符。( )# F4 u/ J3 D* [8 E t6 [/ _
A. ‘\\') W+ S7 J" Y1 x7 g) t' W1 {7 l# W
+ i! A0 _* r% l
B. ‘\’
8 c7 {! l5 N+ u, r' X1 V# @0 b! O
+ N8 k* l* `5 U( S% f- K1 x- TC. ‘\81'
# C% u, E0 a, V% t# m& P
+ Y0 \7 J1 V. h/ J5 LD. ‘\0'
) m: ^) O& X/ K- k
) A$ J) q1 R* v0 x 满分:4 分, @+ r' |4 y) B% S) `6 u
! G- [# X2 X5 C% I; }& F4. 以下不正确的描述是______。
h2 j3 p2 o0 Z0 o! vA. 函数的定义可以嵌套,函数的调用不可以嵌套* k# ^/ _/ E) C6 Q" d5 {
0 g7 E. k4 `* G6 A. B1 t9 K$ ^2 h
B. 函数的定义不可以嵌套,函数的调用可以嵌套8 S* L8 w- Z* q2 l0 {
. W+ m( `" Y. x5 Q
C. 函数的定义和函数的调用均可以嵌套
- X/ q; n7 o9 }' T9 P
. t: M8 ^9 Q+ k, S( AD. 函数的定义和函数的调用均不可以嵌套
5 |& x* U7 H" D) `. O% S* b4 ?2 b& j( U$ I! C
满分:4 分2 b5 u; n& E# I/ _9 R5 @
, v7 k4 H0 c! S6 |5. 对函数的正确使用方法描述: e! K/ [1 I- x4 g$ @
A. 用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
: t5 }/ U1 o5 v1 Q, x' P+ f
, f- j4 C# Y h; s' b' o& p) EB. 实参数组元素和形参数组元素类型可以不一致
3 m4 P; t# Q% l- S/ c& c
( `+ H' w$ k O1 }# bC. 形参数组长度可以不指定 / w8 ~% z7 t$ @
7 y' X: [8 i1 w8 O& }3 v5 y
D. 形参数组长度可以大于实参数组长度, L7 D) ~1 G" `. x1 e- [
: t9 t8 h e/ o5 H 满分:4 分
& y0 \: u1 F' z5 Z7 n4 Q( t5 o/ [ 满分:4 分) l* ^& H( r" ^+ R" U$ f! {# ]
判断题(共 10 道试题,共 40 分。)0 Z3 Q" c* \) y: b
9 K0 v5 X* k' d+ [: V7 _
V1 \" W& Q, X" o' y) {9 o
( f' g& l+ D0 r$ K
0 T* {4 y+ `% ~9 l3 P; T
1. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )/ q5 X* L" p H; q$ Z
A. 错误
4 |5 ?& T9 b/ `" W8 H7 G$ b: ?$ y6 I# p* m$ k+ \2 G, |
B. 正确
+ F2 ~/ p6 A9 G; d
/ T: W& C7 |8 X3 Z9 C" V 满分:4 分9 e# z6 U% X2 ~ g/ l
- e' ?1 P% y2 I5 ~& n2. 数据结构指的是数据的组织形式,数组就是一种数据结构( )$ [: K/ S5 G+ P$ A: m4 z
A. 错误8 _0 [" N$ ~* U7 K1 W
( G( |3 n! ~6 `4 ]
B. 正确/ J) F7 v* }5 f0 `
$ a! x& u' ^* z7 }0 j4 X8 D
满分:4 分
; [: g4 A* Y0 Z% o- s5 |0 s! \2 Q8 V, P$ c- a+ K$ I
3. C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )7 `5 N- x4 M$ j: e
A. 错误
9 O0 F/ T& @, Y/ H$ v7 A
, @8 f$ J; [+ [- W' o% Q) S. UB. 正确' `( J6 G* n) Z' i5 ?
* J2 Y" d$ t) J. S# Y$ ?5 Y 满分:4 分( z8 K$ G1 u2 E6 l$ m; H
2 _3 Z' K, \6 E# ]9 H6 t6 p2 w8 D
4. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
! O: }% u6 D1 S/ K$ LA. 错误
9 z5 F: n; }! @& T- |5 M2 R! F2 i7 ^8 \
B. 正确
; R. U6 G/ U. N _1 B& B0 \0 M
' {: `0 \# B4 e/ Q 满分:4 分
" Y; h( r0 S0 A& ?* T& Y4 j8 U3 A1 e0 ~
5. 模运算符要求两侧均应为整型数据。( )
% ?0 O# `: n* R4 H4 BA. 错误. M4 u$ B& @, P( H" F
" [7 o) {# P, q( {% R5 T7 c3 V, p4 g
B. 正确9 k! ]% V g1 t$ O
1 T3 \! P9 s" z7 c
满分:4 分& B7 Q5 O2 D3 u2 A' A4 \2 t* ?9 l
1 a) j& Q( D( u' |0 _
6. 主函数和其它函数可以相互调用 \) U( x7 r9 x3 J
A. 错误8 a: Y- k$ K: i' n) [
& V) z! }) y( V1 e m0 q& q
B. 正确; o3 Y: p- q4 r" g+ l! Z
& u* P" r4 |1 Y% o3 P2 x% N% u 满分:4 分
- |2 `1 Q3 ~. J; _
/ Z) h3 h' U4 ?- |% s7. C程序中各函数之间既允许直接递归调用也允许间接递归调
: P3 I+ r I$ ~" M. q8 Q+ pA. 错误
4 L' K) m5 T% f4 d" X" H5 D0 e
% R' q1 h+ h8 p5 P6 c4 AB. 正确; V+ B" e3 K5 N+ X6 w2 `' S+ y
/ N- K0 {8 M% \% }# F5 h 满分:4 分
, ~. H6 \. z; z( W4 A. i/ g3 E2 G% \. g
8. 一个int型与一个double型数据进行混合运算时,其结果是double型。2 d, h% w* V6 f! ~2 H7 o. q1 n3 J
A. 错误* }- w) X+ z1 Y$ X8 ~0 U* y( s2 h
8 ?7 Q" b: `. E, p- c5 [' LB. 正确
6 n6 ~6 [; n% a1 w' G
! O: U4 ^6 R3 S. H 满分:4 分
4 N2 o* O$ I1 t2 ?) C, [+ z, x! i0 P- ]+ z9 H6 w$ i
9. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
9 L2 ~0 b' M q: d: `1 nA. 错误
+ D+ ^8 @6 x, {# t+ Z2 @# a0 u
. q& p. J9 [5 a9 DB. 正确
! |$ M2 V' G7 u8 x& [4 X) P+ z! b3 D' t% i1 A5 j+ {
满分:4 分
* _& @3 P: S( k7 {
4 a+ P$ G! a5 |$ R( U- w9 w1 f10. 使用getchar函数可以不添加#include <stdio.h>命令。( )8 E1 u( ~, S/ _' `7 |4 `3 {
A. 错误
* |6 h* Z2 s1 W4 m' X6 F, ?
! K" h- } U' a% I7 o, {3 dB. 正确4 N" R# U1 Y' r/ e
. Q- A% @9 m6 T \ 满分:4 分 |
|