|
资料来源:谋学网(www.mouxue.com)-[南开大学(本部)]《C语言程序设计》20春期末考核
( ?4 k, Y- @: A Z& x. S9 e试卷总分:100 得分:1000 r% K! r7 l' K5 r: [# h
第1题,下面正确的字符常量是( )3 g A7 U$ _% a9 q7 W6 k2 L/ ?* Z
A、"c"* O$ u3 v) B1 u( ~# F
B、"\\"
8 n" r, x- |* ?( o8 Y1 X5 a! Q. p2 XC、'W'! g7 ]) o- T+ ~, w/ O J- ^7 `; ]
D、''(中间没有空格)
1 d! p/ m N& \6 Y& ^$ L/ a0 a+ D1 q正确资料:' v& B3 N4 l/ f4 P
/ M) Q6 F3 Y+ C, H. t. x& i
" Z" }$ F6 Z3 u7 I' c第2题,变量的指针,其含义是指该变量的( )
& o, N; R' l, \# rA、地址5 M, T. h+ {; F
B、值: i6 z! T9 y) a6 Q# c7 M- y( C) x5 }
C、名字
9 H+ B! k/ J# t% N7 `6 sD、标识
2 b' V8 n, U3 w正确资料:
1 v% i8 g" C+ [( O$ D' t: p( M* `6 J6 B7 G: s
, L+ d* F* y. f
第3题,下列关于数组的特征错误的是( )。8 ?) ^0 [, l; X
A、先定义后使用* ?6 i& C r1 [
B、可以有多维
3 {, ^* y; f( \ ^5 @& kC、定义数组长度时可以用常量或变量/ K c6 q l7 r3 o
D、可以作参数传递
! f: t8 y1 _ d6 e* r正确资料:# u7 t& I1 j( ?8 f
: J* `6 x: s$ X; `. y8 B% z% r. G9 O. m% E
第4题,main() {int x=2,y=-1,z=2; if(xy) if(y0) z=0; else z+=1; printf("%d\n",z); } 以上程序的输出结果为( )。# G5 Z. o1 r) n0 v2 ^1 h3 o# j
A、35 |+ r8 _" }% C+ j
B、2
6 {" a* v& O& W7 k* D9 yC、1: O/ d, b$ \( `* E% p. U$ B: `
D、0. @' ], Y! d! S$ G; V7 W' M9 ~" g
正确资料:
: g5 i) Q* o- `0 k3 n! u# R5 \+ Z
5 g2 l/ }) O8 z/ k: U0 U$ T
- f; m0 |3 ~3 C C% F) ?- `资料来源:谋学网(www.mouxue.com),在C语言中,要求运算数必须是整型的运算符是( )。8 T+ S" J* B$ L, W! u5 Y
A、/
# G; b4 C0 N* X% PB、&&
* B) D$ j# c! v& W% H. K9 T! Q+ G$ P+ |C、!=
1 J. g/ s# I: X2 d4 B ^5 s! o0 q" v- BD、%
( U8 z1 ?8 l/ L+ G- l; I正确资料:
% q, J5 t- s1 Q% g' b! p; l1 F5 y* \' r9 a6 l3 X
) N( U+ U, v# R8 B4 ?- \7 k1 P& y第6题,关于return语句,下列说法正确的是( )。
; U6 i" ~; y/ P! IA、不能在主函数中出现
% {" L/ s8 V& {# c8 }B、必须在每个函数中出现5 {9 ?# `8 C7 z0 D' b; A" O
C、可以在同一个函数中出现多次0 r: f6 X* r6 B
D、只能在除主函数之外的函数中再出现一次- h! \3 \/ j7 E" b6 s& _0 d
正确资料:
. R8 m; _# d7 g$ r7 O( k- e
7 a; y" ~4 R$ i- W; L U( n) {' X2 \: \% f! Y, ? Z
第7题,在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。
: p7 l, Z* a$ M/ h$ \A、由用户自己定义
# q6 {) K7 i; P; M. L' L: yB、均为2个字节
1 ]2 }1 {: K, i. _9 t; |) [C、是任意的
: p7 q# B9 f( Z! H' }D、由所用机器的机器字长决定
4 ?& `- Z# i& `2 s) Y正确资料:( v+ U5 f/ |/ M2 L a
' K% W3 T# l# ]0 a7 W( S2 A. } q2 W I. C8 ~8 H8 F) Q2 ~3 _# S' F
第8题,printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( )
/ n& D( z2 U) D0 `* QA、从左起输出该字串,右补空格
: T- H6 O' G: s% q/ x4 r$ UB、按原字符长从左向右全部输出
; \# L. P7 Q. [0 Y" v$ F DC、右对齐输出该字串,左补空格
5 B) u, S7 _8 D1 F$ E' UD、输出错误信息
" c+ \: S) F7 \- u; Y正确资料:
% K5 v {4 r* m( D- |4 [% m" N+ `7 L* H) N5 N% h; {
7 T3 Z2 o1 f" O0 a第9题,fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )7 K8 y. b4 M. W; u
A、只写
v8 T7 A( M3 e( A- }B、追加8 _% j/ w5 _/ w5 ?& b9 D1 Z5 b" s
C、读或读写: c* V/ b! W- u% X$ s
D、资料B和C都正确
: b3 ^' T$ M4 C; c2 U) j R0 j# S8 o正确资料:
, J8 C+ [7 k. @: C, j1 y1 x4 [/ ~" e+ [- M
# i9 q$ B, B/ N, ]9 @9 A
资料来源:谋学网(www.mouxue.com),for (i=2; i=0; ) printf("%d" , i--) ; 以上程序段的循环次数是( )。
_) }/ S, W6 \1 I0 a/ Q8 B9 s& T, @A、2次
) v& B# l& g( H' O5 @B、无限次
# O% R1 Z1 p% I1 _C、0 次% G/ v, N" x8 I& |5 S
D、1 次
( B. C$ d" E3 u: M( f" U. x正确资料:
* W3 a1 z- a! ]" N4 D% {) A" q4 i7 w; v; f9 b* a
6 h; o4 p c* w9 u- s1 H第11题,以下正确的叙述是( )/ d. O3 H0 n- _9 I2 d
A、在C语言中,每行只能写一条语句
7 i/ u' ?1 `# eB、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数( C1 f( ?& r4 I, v- }3 V: V
C、在C程序中,无论整数还是实数,都能被准确无误的表示6 S) z; c' r( o# K) E
D、在C程序中,%是只能用于整数运算的运算符 O4 {, F& E4 H
正确资料:( e& M% \/ `0 h+ M2 P% x
7 p# @ t" \/ H7 n2 C4 A& [" K
/ w. q0 _% R# \资料来源:谋学网(www.mouxue.com),已知各变量的类型说明如下:4 S: s/ ~) |+ }. [4 I5 H
int i=8,k,a,b;3 L8 s6 u1 l# Q( P( U& z# V( q$ t
unsigned long w=5;* U4 r6 ^% E) m2 ]/ u s
double x=1.42,y=5.2;
) l- f' O3 O4 |/ Q5 T则以下符合C语言语法的表达式是:
6 G+ A: C h4 h& N% fA、a十=a一=(b= 4)*(a=3)
% [9 y# U' Y4 C8 a; x4 fB、a=a*3=2
! |3 \$ j' X% U. M2 sC、x%(一3)
" j/ I$ Z7 L9 n! ]D、y=f1oat(i)$ k k9 q' o2 R8 m1 W- y4 X W
正确资料:4 E* c/ Q4 E$ ?, e6 E
5 Q6 x0 j8 L0 r! W0 p2 @8 r1 _8 V0 a7 I8 l# X
第13题,当不能正确执行文件关闭操作时,fclose函数的返回值是( )。
" t1 H u/ W$ j2 F- s+ \" I0 A# kA、-1
+ i/ f2 W& U8 H# v5 O0 ZB、EOF
. H# G. j: x& V+ C7 T T4 \C、TRUE
0 s8 Q4 I- L, W+ T, QD、14 v6 @# R3 `+ R% d% e
正确资料:
. n+ A1 i6 B9 P$ P! U6 i B2 b1 G A
8 H F O P* J# E; Z
第14题,main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的运行结果是( )- i7 N0 e+ _9 M ?* A; d% k& [
A、6* m" T, |' L: U
B、8% g; d2 h3 V( F
C、10
7 ^$ d+ p' B2 f$ ]" _D、12
9 y6 J5 u5 o7 y' X y正确资料:; Y8 J8 z! v8 s* T& L N" [
( g# v5 Q% s: I+ O3 f
' |" y5 p% s: e/ F& o
资料来源:谋学网(www.mouxue.com),x=-2; y=-1; if(x!=0) if(x0) y=1; else y=0; 该程序段的输出结果为( )。
8 N/ M; ]. c0 `! u, eA、1. p- W. I, F8 @0 J+ b+ G3 Q5 q( t
B、0
2 M# O8 P0 q5 U- \5 BC、-1
0 b# T% E1 k$ t6 ?D、不确定* G' X5 x5 E7 q4 D+ z. ^, y
正确资料:
8 s* K. K8 }) Y7 [ S7 ?2 X
_& J: }% X" A4 T0 s% F* h: Q& \2 G7 M" j3 ^$ H- b
第16题,判断字符串a是否大于b,应当使用( )6 h6 ]: o6 s6 W( d; H
A、if (ab)
6 }+ `% b, ?' f; GB、if (strcmp(a,b))
3 k& E7 ?3 ]6 \: w9 T9 tC、if (strcmp(b,a)0)6 @, w6 e0 S. L! \: O9 ^
D、if (strcmp(a,b)0)
# ^$ { x1 Y5 ]) T: s2 g6 t正确资料:
5 M( T5 ~! a* @! @. Y$ c) k0 [% ]
& v3 I" p- \( k0 C
第17题,当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是) M% y4 U" @ Q6 x2 P& A
A、k%2, S! g: m+ u6 z, m; s' \/ \
B、k%2==0# h; s1 A! N6 J- J) Q
C、(k%2)!=02 \8 c w7 | M j+ R; U
D、!(k%2==0)5 R, c5 ~5 ^8 \
正确资料:( w9 |) p/ A% X) K
- S& c0 C1 X; o2 v! b
" u0 f4 ^+ [- J, v; @1 E第18题,以下不正确的叙述是( ): M' x" B0 m: }: W
A、在C程序中,逗号运算符的优先级最低
" I4 b% E* u# D; j/ j7 wB、在C程序中,APH和aph是两个不同的变量
! s. d |3 f. w# \C、若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。% I0 A6 H7 x/ X3 \9 G5 u5 ? ?4 p
D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。3 k8 e( x4 l% `! P
正确资料:
7 g. `: S$ k+ {
7 p: _+ R" H2 K7 {& r& E3 p. v+ B' N) s+ w$ G4 d' @
第19题,在C语言中,char型数据在内存中的存储形式是( )
, b$ S: h/ K% I7 D9 k7 cA、补码
1 l# S; y/ Q1 O8 W5 w* _* V* X2 eB、反码# A! E- ~8 N3 R6 ~1 k, Z/ h" p" i# D
C、原码3 U( `) D2 u+ Z4 X
D、ASCII码
6 Z0 `' g7 q/ Z' Z) J3 B正确资料:
6 b. l7 m8 y3 m. K
3 S1 b/ j# t' Z* f' n
6 O. w; K7 R, |3 h资料来源:谋学网(www.mouxue.com),以下符合C语言语法的赋值表达式是( )
: g! k4 _, x; VA、d=9+e+f=d+9
! t y$ y' V' Z; O: |; z; zB、d=9+e,f=d+9
8 W, I. {. b( H" ^: Q% T3 DC、d=9十e,e++,d十9
9 ]' r2 P9 ?& D3 }& a! K4 N0 E7 {D、d=9十e++=d十7
2 \: x* s' s2 }: X正确资料:- \ k g. \- Y9 _0 d v6 n
* G* D& c- b3 U; R
& [$ i' u' `, @: }第21题,#includestdio.h main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的运行结果是( )。4 L+ M/ s4 q5 X9 t1 u; u
A、2% q1 N8 I' ^- h/ Q ^; E6 Q
B、4% G5 W; g" v5 c$ T: J
C、6% ~! t, @8 H$ \3 a7 S$ ]
D、8
& T2 u: S9 G" @正确资料: p" }) V* i5 g( X
) @! o$ p9 H9 r3 A2 }8 J, A& X$ [) ~0 Z6 C' Q- N. o
第22题,若有以下定义语句 union data {int l; char c; float f;}a; int n;则以下语句正确的是( )
# K- J- b- S, ?* H& e& D" lA、a=5;
- a4 v( a8 R8 I# b+ o5 IB、a={2,'a',1.2};
" |! j7 q; k( C& d4 R) z. @/ aC、printf("%d\n",a.l);5 }( i2 G* s* C, ?8 X3 }: ?: D
D、n=a;# L$ @- [# L" Z+ i+ k& @
正确资料:3 q7 y* c4 B& d! E2 x, M2 b
" a- f# i/ W$ } x1 m/ n( j# K' Z3 L9 K5 J3 C/ }
第23题,下面4个选项中,均是C语言关键字的选项是( )。/ v; j% l! ~- e$ l N9 Y* T
A、auto enum include
- ~4 L) w1 I) B8 c, @2 a3 m1 Y0 LB、switch typedef continue# l+ i9 a+ x. I0 r- c
C、signed union scanf
( Z5 P5 Y1 x/ U8 f& gD、if struct type/ O S( e& l! S$ I% K e
正确资料:
' @0 c/ c& v% W" B- v
+ T6 d0 S$ z% E1 J; Y8 j9 ]' O6 }' O9 k! ^# I- i4 c, K4 j3 o
第24题,putchar函数可以向终端输出一个:
0 l* ]2 a$ Z/ _A、整型变量表达式值: w1 w- T" R9 u
B、实型变量值
7 U# ^# N) S p% `! fC、字符串' w6 \* V$ k- S; b& p/ x9 l
D、字符或字符型变量值
6 c; `) i2 v% V5 Q正确资料:8 _* ~& }1 n8 Q0 A5 E
l3 T. x3 C. Z
5 }- d/ i" P/ \ I/ J) y资料来源:谋学网(www.mouxue.com),main() { int x,y,z; scanf ("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); } 输入数据的形式是25,13,10回车,则程序的输出结果是( )
1 E! d( |! x* s9 O' LA、x+y+z=48
1 }/ {; x% m2 _: w7 VB、x+y+z=35/ S" _; f: z- |% r
C、x+z=35! _! F1 u7 c' ]/ i* M% s8 F; T
D、不确定值
5 ?% @+ i6 V) C: b( D正确资料:# a. u0 y4 g; p+ u7 D
6 ~0 M' Y, m: i% C, r/ S7 ?5 Q
$ F: o) [6 S# ^! o第26题,字符型数据和整数之间是不可以通用的。( )
$ _! ^( ]: u- t* sA、错误
7 f `& a. D( F% W6 bB、正确
$ c1 O: Y& _9 T5 k! V正确资料:
M1 `. b0 Y6 I: ~
4 s4 q4 R( v; C" s3 {( y# ]3 Q
5 B9 R. g/ ~- ?9 P9 S第27题,对C语言中用到的任何一个变量都要规定其类型。( )/ s' a0 G5 O4 h$ ?5 ^: ?, G8 [2 w
A、错误
( @2 Z0 k* y& kB、正确, [" S, k! t: k) y9 U c2 ^
正确资料:1 \7 x. ^# J& b/ f
- k9 f5 H3 }7 ?2 e- U
! R$ Z1 W5 e$ p& P( Z/ h1 ` M
第28题,字符常数和字符串常数的存储是相同的,都是以字符的ASCII码值进行存放。( )
/ J2 ?3 @, Q0 Z& h8 HA、错误 ^2 z6 e" w U6 ` e( J5 Z& y- y# w# B
B、正确% W/ F" s H7 F5 V* F( [- k
正确资料:
1 Y: ~3 n, P* H& k- U4 f" m, J; z4 @& V; T3 z% w. {
- c7 w# T9 j- W& k3 S a+ L
第29题,按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。( )
% C& Q6 z: }# WA、错误
/ T4 n& R# f3 ?4 a# i5 YB、正确' M! s" k" S+ x
正确资料:
1 B9 o+ Y3 d* }9 i
' \( t! K/ e- E6 W3 Y
1 C" A% V9 x( r& h! e+ r4 U资料来源:谋学网(www.mouxue.com),C语言采用解释方式将源程序转换为二进制的目标代码。( )9 e# z I4 r+ `2 E0 p. U
A、错误1 o% k! G) [- j5 q: K
B、正确: ?2 G4 P; H! ~+ r" ?
正确资料:# Z) L4 P- D* O
7 \: h' ^+ ?* l* D1 [0 V# l
# r" q7 |9 V# f# H% V第31题,在Turbo C++中,存储字符串常数时所占内存空间是不固定。( )' R3 O: o7 {$ h' {) s
A、错误
: |0 R9 l& P) x7 W! _# KB、正确
7 H% z& I5 x# c5 G正确资料:) \* k& i8 v( ~, X" [, _/ T; ]
0 d$ n* D4 W' i m( k I
, \7 U3 N! O, j3 C" G. k1 A% _第32题,在Turbo C++中,字符型数据在内存中占1个字节。( )
9 g9 p3 C8 u0 y" @$ J/ mA、错误
( Z4 X, q; H3 R, `B、正确" g |: ]6 z$ }0 j
正确资料:
/ _* q6 C! h& t) F2 l
$ q; S, R. i& p
0 o7 W3 E4 K! Q/ R/ d第33题,赋值表达式c=b=a=3是错误的。( ): z( i8 C9 q; g- R9 W- z: B
A、错误
9 M, H# g5 T8 c c$ f9 w/ h4 d6 jB、正确
8 t& A/ Y4 g# }# L7 A$ I: F正确资料:
( W+ L9 V, V2 N# j! k! D: w
2 H4 @9 c$ g+ E; V2 v: p
& L, s* [) J+ | p) D# L第34题,C语言中没有依存于硬件的I/O语句。( ) P H+ _, u; O
A、错误9 v; D7 D8 e& R2 V3 B+ g; _9 o/ x
B、正确 g4 q7 Y2 e$ f& Y! U- T6 w; P) P) {
正确资料:
% l x: f6 l @! w" K- f b2 u1 [6 C- h. {% }0 c
) o1 R& m+ i z& T第35题,C语言中的任何类型数据都可进行四则运算。( )# P8 K# j3 t7 H) N4 J
A、错误 |- b( ?+ T4 _* C/ }$ B
B、正确1 T# A$ p% C( Z
正确资料:
/ D. Z C4 {* d# |7 o
2 Y6 c" t2 i: e! [
% w; w) @# O5 _, S6 J, b, x& t第36题,下面函数的功能是将字符变量的值插入已经按ASCII码值从小到大排好序的字符串中。请完善该程序。 void fun(char *w,char x,int *n){ int i,p=0; while(xw[p]) ##; for(i=*n;i=p;i--) ##; w[p]=x; ##;}
! u2 k& b4 u! D8 i& g$ y正确资料:8 G/ v4 P8 l( z6 B4 R" f! L
' |: L' ]6 T1 r. S
; V7 f6 r& ]. j' b第37题,程序填空题下面程序的功能是将字符串s中所有的字符'c'删除。请选择填空。#includestdio.hmain( ){char s[80];int i,j;gets(s);for(i=j=0;s!= '\0';i++ )if(s!= 'c')##;##puts(s);}' H' `4 t o. S4 m# Y
正确资料:
Q. W8 S% l' t; O1 c6 j" D5 z
" |( H5 D( `# d% F. V7 G) E7 d, ^
第38题,读程序写结果main(){int a,b;scanf("%2d%3d",&a,&B);printf("a=%d b=%d\n",a,B);}以上程序的输出结果为:
* X* W0 M, k, A7 c# t# Q& S正确资料:2 e7 G% v( p4 \$ h- h
8 x- u. u. P- g$ Y
. ]- E$ c0 Z& s第39题,请写出下面程序的输出结果。main(){ int i,j,x=0; for(i=0;i2;i++) { x++; for(j=0;j-3;j++) { if(j%2) continue; x++; } x++; } printf("x=%d\n",x);}, W0 v3 n y: H+ O* {+ J
正确资料:
: N- q. A' e) y: B2 _2 e: P+ a
' b5 t! m- ?( ?
; y6 P" w/ Q* w p& v第40题,读程序写结果main(){int x=1,y=0,a=0,b=0;switch(x){case 1: switch(y){case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;}printf("a=%d,b=%d\n",a,b);}以上程序的输出结果为:
& \7 ~* L. u# ^2 L6 a$ {# R正确资料:4 K4 ?$ ^+ Z* `9 o6 o
5 l& x- q" {& p& w" V8 U! W
3 x# k* H7 v( J H. I7 Y第41题,请写出下面程序的输出结果。#include stdio.hmain( ){ int a[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4}; int i,j,n; n=9; i=n/5; j=n-i*5-1; printf("a[%d][%d]=%d\n", i,j,a[j]);}
" U) b$ h( Y6 g5 t. A/ G1 ]正确资料:# e- e8 e6 {$ N: m) |# r& v+ J
/ k, s) L+ J% e6 T6 P0 _# Q4 g4 X( F3 l, u& r; H! g
9 Q/ f% `7 V- o4 a( D
Z) k5 a' o7 y5 o/ q& m, i8 T+ i) ^: @4 P7 F2 W1 k+ o7 D
7 d/ y) t! X" c% }4 K# I/ ?
& N2 M! b- j) b% O- O6 v, p
9 h% A9 y/ Q1 Z' F0 E
B& q, P7 G5 {! y$ e" M: H7 }6 A
+ b3 q- _5 V6 _- |! n' i# q: l* D8 t1 h2 X! J2 z; B
$ h7 ]% G& B, ^& d) a. Y
5 T V, _. X* G, D" k O$ w6 l% i, _$ M9 U+ j$ g. ^4 E/ ]) G
|
|