南开19春学期(1709、1803、1809、1903)《C语言程序设计》在线作业: o. L% P9 P. }; G
1.[单选题]以下对一维整型数组 a 的正确说明是( )
0 e+ G2 [# x( p8 |; qA.int a(10) ;! W9 H6 p7 }) p) [8 |& o1 @5 K( N
B.int n=10,a[n];
# L$ m: e4 ^2 i& r0 H: j0 _+ uC.int n;
& G& m7 Q- ^9 z2 J Y* s- K" ^" @5 JD.define SIZE 10 int a[SIZE];( b; v/ ?; q: f& m2 j
正确答案:——D——
. ~5 c$ t7 F- G2 \/ I2.[单选题]fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )& }' K/ ?5 L% I' n7 x/ C
A.只写% `4 z- Q0 U6 I& w8 m6 Y
B.追加. Y% z4 E+ D% \; w8 m) @2 F
C.读或读写8 q M! h+ M1 l* h+ p R0 `4 W( B9 S# j
D.答案B和C都正确
6 p7 L) D2 a- C1 c' W正确答案:——D——
* u6 M a# _2 j; I H& ^/ ~$ a3.[单选题]当不能正确执行文件关闭操作时,fclose函数的返回值是( )。G0 K z/ L; D3 V& I) v
A.-1
) K0 \% y3 L3 eB.EOF
4 u! P6 J. c' ?C.TRUE3 K3 t. b4 z( Z# [
D.1
* m4 Z" v. {0 K. I正确答案:——B——5 v6 M) t' A% ?! U' @
4.[单选题]下面4个选项中,均是不合法的用户标识符的选项是( )
8 p* I/ I9 @- N, E: @A.A P_0 do
6 i% ?+ D% V+ i" B( B4 Y+ vB.float a0 _A, a, j2 T. k7 ~$ X) }) k) w
C.b-a 123 int6 W3 W7 E( [+ h9 I$ X
D._123 temp INT
* s/ c* W; t6 J$ z: }) _' A正确答案:————4 U3 C5 q% a8 w5 Y+ u0 j
5.[单选题]下列关于数组的特征错误的是( )。) o! N3 x- y+ h" k' h" A+ Q
A.先定义后使用
0 ]2 C' `$ m% }" U" c8 o/ m$ aB.可以有多维+ c; Q3 [$ |3 T2 C# \7 u
C.定义数组长度时可以用常量或变量- r! Z6 z& S: n. i$ n) G+ L+ S
D.可以作参数传递
1 q, T8 ~. l3 G1 D正确答案:————
0 @) c" V& y6 K! q6.[单选题]一个源程序文件由一个或多个什么组成( )
. _( G5 ?$ f- K+ ^1 {# jA.语句
& G9 Q+ A% \9 @5 |* u9 K A2 O6 PB.函数
0 V8 W2 {& G N% b+ k! gC.程序块
7 S. x4 G+ a) iD.子程序# i/ J5 ~: r! j- q# g0 D1 W
正确答案:————; J( I+ O+ D' p9 L, y4 n
7.[单选题]在C语言中,要求运算数必须是整型的运算符是( )。6 N2 n0 d1 P; A: R4 @! v0 B+ D
A./
( p$ s( O+ {& ~- tB.&&9 }8 w7 i$ n' V2 D3 S
C.!=
2 L/ C) t% s% w/ v% c1 rD.%# ?4 d* t& J+ A
正确答案:————
+ |. G) f% H) f8 h; c8.[单选题]struct person {char name[9]; int age;}; struct person class[10]={"John",17,"Paul",19,"Mary"18,"adam",16}; 根据上面的定义,能打印出字母M的语句是( )。
( s6 ?. ^6 n3 U% ZA.printf("%c\n",class[3].name);, H1 e# a+ D: j; s+ N3 n( W3 H
B.printf("%c\n",class[3].name[1]);7 I! X# X# ?- M# \
C.printf("%c\n",class[2].name[1]);
2 v& |6 ?: o$ ^: O0 r, N5 d! `9 R6 [D.printf("%c\n",class[2].name[0])
( C/ K5 o' _; c正确答案:————
2 A% H8 R* f5 m% }4 _9.[单选题]若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10};
- p3 ^" o2 p! V, G: W则下列哪个是对该数组元素的正确引用( )' g& ]) {4 R% o+ A, V+ X! _
A.a[10]
2 k8 t) W6 p9 f rB.a[a[3]-5]
' }# }5 b1 g" g- Y- y- d+ n9 }9 f' _C.a[a[9]]
7 _/ Q9 c3 T5 p0 ^D.a[a[4]+4]
- F2 }2 m& @5 ~& t正确答案:————4 V9 d9 F1 O2 B0 }) n% E; l
10.[单选题]已知各变量的类型说明如下:0 O( _- [1 j# B: N- p( {8 X
int i=8,k,a,b;
) Q( e, G5 j0 c+ S( Tunsigned long w=5;
7 V8 F9 U# j" D0 V Cdouble x=1.42,y=5.2;
5 w, [; ~. D* A则以下符合C语言语法的表达式是:- `! T6 `2 i% g9 n* j, k
A.a十=a一=(b= 4)*(a=3)
% W0 a& W: q8 R0 O; O5 a. o3 W) MB.a=a*3=2
' a, { [8 w) s4 G) v* j- X" Q7 L8 hC.x%(一3)( L! G/ s8 ?$ T
D.y=f1oat(i)
! @& i/ W; b0 a& y8 c# x. O# ]正确答案:————3 s: Z$ @2 N/ X, a
11.[单选题]x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。3 a7 S( p3 X/ m* R
A.1
0 v* e8 ^! N$ M$ k5 f; E& KB.0
7 y/ @6 v1 Y3 k1 R+ J4 FC.-1
# ]# K+ k/ }3 CD.不确定% J c3 W- b9 Q8 ]& k' z; J1 v
正确答案:————) [, |+ ~$ {+ r# c
12.[单选题]若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )
7 D b) K+ ~7 UA.2.500000
( V; k+ V6 r% |4 f' Z& v5 n iB.2.750000# r k: u& \$ |- P: W) y
C.3.500000
' H7 M |/ C4 v* }1 X, B7 `D.0.000000
# A/ @6 V, N/ \! u) d正确答案:————
. Y, \3 o p& ?. p1 f! {( S13.[单选题]若有以下定义语句 union data {int l; char c; float f;}a; int n;则以下语句正确的是( )$ B" y ]4 M6 N
A.a=5;
* F- X* ?: v- J3 ]B.a={2,'a',1.2};1 z1 g+ z9 B+ Z% [$ J% n$ L
C.printf("%d\n",a.l);
, |7 m' w# d- J3 b: r" `) W! G- _( \D.n=a;
( b$ c. K9 Y5 X& f- d. B, M正确答案:————
5 Z% a; P* z5 g* S' Z7 F14.[单选题]C语言中规定,if语句的嵌套结构中,else总是与( )配对
2 s$ X4 z- W% @A.与最近的if 配套
4 S0 R7 A! P- i+ _; `B.与第一个if 配套
6 p$ t/ S! w2 a+ ?5 SC.按缩进位置相同的if配套: ~2 V2 S) k; [% Q' R6 l
D.与最近的且尚未配对的if 配套
0 l, T7 b! C: K4 C8 J% \ h* A正确答案:————
; i1 ^: B5 {0 Y( {2 \) [+ I" E15.[单选题]main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的输出结果是( )。& ^/ z4 V% \- h6 {" H
A.2 0
1 m; M" N4 q* O7 p0 \- p8 TB.3 1: A2 |" J) l" m0 \- L( }+ M
C.3 2 1 0/ c. D* F- f6 v5 j! u
D.2 1 0
1 Z* j( D4 t( u( E! P正确答案:————2 ~: P, g R9 Q: l4 O- Y" L
16.[单选题]若有定义char str[]= “very good”,则str的长度为( )/ S, Z& G$ ?" F+ L6 a$ `
A.82 l0 Y* R9 q j& k9 [
B.94 n% l: y4 U J) O& ^
C.10
% Y2 s( H+ C" J% WD.11
2 I: f5 ?% `7 s: ^正确答案:————' L( \: n l% e4 ^0 [8 n6 v8 \6 S0 ^
17.[单选题]判断字符串a是否大于b,应当使用( )3 Y5 |7 i7 ~& X N# G; d
A.if (a>b)
' R$ K; h) y3 O2 lB.if (strcmp(a,b))* u/ W9 ^# G) ?
C.if (strcmp(b,a)>0)0 _, D) p$ U! A; c( s- @" k$ f& V
D.if (strcmp(a,b)>0)c3 B3 l# E# F3 _; z% f" B' d
正确答案:————8 m: s/ ?& @% |& t; D
18.[单选题]main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的运行结果是( )* M: `2 x+ D a! N! ^
A.65 ~) I' Q# { n* s2 I
B.8
& `' S |' _. wC.10" c. f* \, q2 z, P5 f
D.123 P$ C7 s# } u6 c/ E; X& I
正确答案:————
8 R# |( f" [) B& b( j. d4 o/ a19.[单选题]以下符合C语言语法的赋值表达式是( )
8 G2 _* c0 n7 X' rA.d=9+e+f=d+9
' \- Y4 W$ Y0 XB.d=9+e,f=d+9+ f3 V8 w6 C1 T0 L: J; }
C.d=9十e,e++,d十9
. u+ H$ b2 O+ @ D5 b# m& g BD.d=9十e++=d十7' Q9 R& C9 A( {& B
正确答案:————* ^7 k" a0 G! v+ Y
20.[单选题]若已有定义int x=2; int *p=&x;则*p的值为( )
( x1 W1 l7 @" g# R! ^A.2
}/ s2 M1 Z% a5 oB.&x: |7 }8 p3 a+ g) A+ p7 o; {: N
C.*x) J! i7 I: Y9 e
D.&p8 F6 ]% I/ T# y3 o4 G
正确答案:————& I8 M& P5 v* V
21.[单选题]设有如下程序 # include<stdio.h> main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( )
" X# l9 ?, g, Z$ U4 RA.程序的输出结果为大写字母A
8 m3 y# T8 p% T# P5 G# i2 }7 }B.程序的输出结果为小写字母a
) `, B2 U% E' Y% fC.运行时产生错误信息b! V2 H4 e; d& S' R3 f" Y% t
D.格式说明符的个数少于输出项的个数,编译出错1 Z" F0 Q7 l) i2 e2 z+ v
正确答案:————
. F( H( x( e# ^2 } F* }7 {22.[单选题]C语言结构体类型变量在程序执行期间( )。
4 j h6 V i1 F8 @& CA.所有成员一直驻留在内存中
$ m1 ~+ N% H2 SB.只有一个成员驻留在内存中
. g! z$ ^0 X" n5 b( W1 J0 ?/ `; IC.部分成员驻留在内存中9 e3 z" }9 Z0 @: }2 _
D.没有成员驻留在内存中9 y) R/ `- ^1 g3 x" U! H6 n
正确答案:————4 ?0 J5 l o V9 `
23.[单选题]以下对C语言中共用体类型数据的叙述正确的是( )
+ |- C: r* Y& }/ KA.可以对共用体变量名直接赋值5 { \% S# S' m& }) d) o
B.一个共用体变量中可以同时存放其所有成员
8 H- h8 l. v* E+ O* XC.一个共用体变量中不能同时存放其所有成员
: F, S$ `8 R# YD.共用体类型定义中不能出现结构体类型的成员4 m! ~' z- D* ]. k
正确答案:————
, M. [+ c* _' T$ V7 K: L24.[单选题]下面正确的字符常量是( )
- a6 X0 e! m* ~/ Y4 n* ?9 |1 DA."c"
/ s- b( L( w6 `2 ], V" `B."\\"
8 I; n8 \3 Y j/ q& x, F$ fC.'W'
6 p* C2 R1 O9 N) E- s0 O q. l1 _D.''(中间没有空格)
# j+ x1 o- `1 T3 P- M正确答案:————
' Y" G& L+ |+ p, M: _25.[单选题]设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( )3 P+ B1 U" B' }* t+ l
A.stutype 是用户定义的结构体类型名- L- x7 x' V+ j# J7 |8 y
B.a 和 b 都是结构体成员名+ N; X! z7 [- g m" S
C.struct 是结构体类型的关键字6 y0 X2 E% o( Q) ~
D.struct stu 是用户定义的结构体类型
0 ^1 ]- ? K6 X3 l+ j Y$ H正确答案:————
4 E( y" R& t& `( G# _1 Q- W26.[单选题]x=-1; do { x=x*x; } while (x); 以上程序段( )3 }* p' E% n$ C8 |
A.是死循环
. P9 U+ r* Y; T) s/ L+ E% K' GB.循环执行2次
, m& P/ N J# Q) F0 u1 c$ U; RC.循环执行1次5 a' s& f m! r
D.有语法错误2 q- ]. z4 i" S& N: I# s8 v
正确答案:————
( @7 j; W7 p( C& g- g27.[单选题]main() {int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%d\n",z); } 以上程序的输出结果为( )。9 ~0 g+ P& c/ C) K L6 N9 i
A.3
; z* D6 u p& l$ wB.2
9 k8 P, Z4 Y8 [/ L' O+ kC.1
9 K1 K# y& O7 @" x @' I" i3 ?0 JD.0& i+ a( @7 |$ W# }
正确答案:————0 E+ h( h: d' o( l0 F# N! E, \* ^
28.[单选题]int k=1; while (k<=10); 上述语句执行后,变量k的值是( )。( u7 `9 [* O$ |1 p; G/ p' w4 k
A.10+ _+ }$ [- N2 |) m d
B.11
+ |1 ?0 V' } D$ j: s& d' m/ O; I ?C.93 E: M- D$ {, {# _( K
D.无限循环,值不定( ^6 i R2 C7 K* y8 e! K4 g
正确答案:————
7 V7 \" _) i+ Z% b29.[单选题]从用户使用的角度看,函数有两种,它们是( )
! w8 x/ x% h/ N7 y; iA.库函数和用户自定义函数
# Y4 A0 M8 Z" _8 {) b% }* TB.库函数和主函数
& D0 t" P- O, I/ N$ X( ?0 hC.用户自定义函数和主函数
, C! f6 A. L5 wD.主函数和子函数9 B2 s/ K& t8 o
正确答案:————3 A, p( P. g2 n6 h# u; m" M
30.[单选题]C程序的执行从哪里开始( )5 h9 Z) y6 f, m6 s8 ^( j$ v
A.第一条语句
. C/ O k u$ K: x- T- P! _( GB.第一个函数
) _& h' r4 X6 R8 D4 B8 JC.最后一个函数" n X: [( B$ e- u$ m0 E$ K1 {
D.主函数
* H( _! G3 ^$ Z2 |- h1 _正确答案:————, K8 b9 I. s& w7 D4 J, @6 J E2 ^
31.[单选题]若调用fputc函数输出字符成功,则其返回值是( )
2 @) I( B) |2 N$ x- b" [6 SA.EOF
! l( _+ f" u' v6 {B.17 f. X( Y* O5 d5 U5 H+ N2 ?2 Q
C.0
. r5 w) [! [& b# x# VD.输出的字符. Y" t' }+ i0 W6 B7 E r
正确答案:————8 ]' J. N% k" Y4 P e( u) O: X
32.[单选题]若执行fopen函数时发生错误,则函数的返回值是( )( K8 G5 ?2 H2 t6 k: [
A.地址值
" d0 U3 x% J+ }0 iB.null; P, C$ O A, Q% P1 k
C.1
4 o# L4 s; e5 k; @6 w6 }6 U' R9 KD.EOFw* b, f i0 t
正确答案:————# m# \) a7 Q0 q2 Y( u! E' e- J! `
33.[单选题]在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。9 P+ X/ T. A7 Z3 h
A.由用户自己定义5 @ e. z) X2 x8 Y
B.均为2个字节" Z8 [: l. _% P0 d" R
C.是任意的* j! G0 V1 d8 ^ \, h3 N( e* _
D.由所用机器的机器字长决定
# N' `) j$ ]8 o" U! A正确答案:————
% D) o' k4 d2 Y. {) P) m0 m34.[单选题]若已有定义int x;下列说明指针变量p指向x的正确语句是( )
! r" k+ b o* k& K0 v+ aA.int p=&x;
6 Q9 j0 f, x! H( u$ c/ ]3 {B.int *p=&x;
; P* p5 s) M& ?+ f' jC.int p=x;
+ F" |7 g# }5 {$ Y3 B" P+ h' Y' [# zD.int *p=x;# u, ^8 H9 ]" I. K7 ?9 w
正确答案:————' C( e1 ]" G- Q+ G
35.[单选题]在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
# ~) `1 G% T. V; }% b8 TA.整型常量
7 w8 f2 N# m& v' F, }B.整型表达式
v7 [1 ~+ m) {9 \8 z {C.整型常量或整型表达式0 L$ J$ ]; V- Y& l1 I7 S
D.任何类型的表达式
$ L; \& q/ g$ e$ [* I3 \. G正确答案:————
8 ]7 g4 O8 G5 o. E. Z36.[单选题]下列哪个是读写文件出错检测函数( )。
+ l$ h8 Q8 s% ]A.ferror
. s+ A. A# |8 U3 F/ |' QB.clearerr
' A* J I/ v/ [" |1 _; l# nC.feofd( a( s' X7 b5 L# k9 I0 x& o
D.fwrite
5 X: E' k/ e! B9 h" r; q7 g正确答案:————t* y# d$ n( N# O5 L/ F
37.[单选题]for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( ); d. p/ l# |) P7 ?& k9 f2 _% M
A.2次1 R' O1 O. Q: c4 ]) g& u" y+ f
B.无限次. g4 i8 E6 s5 V; K; q V
C.0次f8 b1 N1 q( a( i9 V
D.1 次
) J% m+ F6 U8 ]- z+ X6 u' `正确答案:————! z: L: W% f5 w7 f$ j1 `
38.[单选题]main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 输入数据的形式是25,13,10<回车>,则程序的输出结果是( )5 m) q/ h+ x& B8 B8 h
A.x+y+z=48
1 ~. [& N e- ]! Q. N+ lB.x+y+z=35
3 b" `9 V9 a4 qC.x+z=35
8 v3 j) C. u4 s1 ^+ ZD.不确定值6 M# }: U4 c. F" l3 E( {! g
正确答案:————% |; h2 v* R5 l8 w
39.[单选题]如果在C语言中一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。$ e5 P; D3 _$ Z% P. E6 O. u6 }& z
A.0~255
! n/ T- `- n/ d7 u4 ?2 ^B.0~32 7676 m- w/ S2 X0 x, x% c1 r
C.0~65 535: y* S$ C* ?9 w- f5 T0 D' |- ^
D.0~2 147 483 647
) v! f" B6 J# _: e: g* B6 {: l5 r9 M正确答案:————3 c! U1 N. D! Q, w" Z
40.[单选题]putchar函数可以向终端输出一个:" d" J) d+ U' x# P% \! [ S
A.整型变量表达式值' F- v. z" c) k6 U! r7 [6 _* z
B.实型变量值
: j3 [4 g1 X& b' bC.字符串0 m0 H, P% w2 L5 ^5 J9 q
D.字符或字符型变量值& c5 x. _% ~3 p' Q5 w
正确答案:————
: G4 |% K* X3 v6 e41.[判断题]字符型数据和整数之间是不可以通用的。( )# z, Z m' M5 v/ F# c- [
A.错误% ~# l3 Y; W# l# k1 o+ F( L# c4 \
B.正确/ Q/ p- ]: l: ~! I& a8 S) [
正确答案:————: e* r+ U( O1 a: ]4 r- y
42.[判断题]赋值表达式c=b=a=3是错误的。( )
" [$ V' B; M4 W0 e4 Z6 |- ] JA.错误7 v+ ]0 d8 t" F% F
B.正确: [8 X& o2 @# |
正确答案:————i4 ~( l+ k( ]& r1 Z
43.[判断题]C语言中的标识符以字母或下划线开头,可跟任何字符。( )
3 V% k5 ~1 _) ~( o [A.错误
/ S2 {: d9 Y! _B.正确
% P: R( q: i& c正确答案:————
& U1 @" ]) D: A( W+ B$ J! }44.[判断题]对整型常量可进行自加或自减运算,而对变量或表达式不可以。( ). d3 G- q) N7 [( e
A.错误
% E# _* r8 [( {# i2 UB.正确: ]- C8 S1 T4 G' [8 H: F2 Q' d1 Z3 U
正确答案:————
& r3 c$ z3 X) e* I8 i! a5 J45.[判断题]C语言中没有依存于硬件的I/O语句。( )& t: q, o% p- ~" c& M9 i
A.错误
4 Z+ t) a+ w) \8 C4 YB.正确
2 i* I+ |. {1 N' } } g正确答案:————
# U5 |; C4 p" A46.[判断题]对C语言中用到的任何一个变量都要规定其类型。( )K& @; x& t- e$ I
A.错误
. A7 O5 K S9 EB.正确9 o* @0 r( {- E, s
正确答案:————
, d. y0 Y b* P47.[判断题]PI可作为标识符使用。( )
, x4 f7 C: _! a* h. uA.错误
1 @4 [# l0 h* ` \: kB.正确
* s' f, z& G+ k正确答案:————, G2 w7 q) ]2 u0 T& \
48.[判断题]在Visual C中,实型数据在内存中占4个字节。( )
6 @& L6 W! L9 _2 y# d* y5 f7 MA.错误
3 q* n8 U( P0 d0 ]* fB.正确/ n# R' K+ @. f
正确答案:————) w1 d" ^6 r0 P+ @. R9 V% o& e
49.[判断题]在Turbo C++中,字符型数据在内存中占1个字节。( )
4 I9 g& |. L* M, t; C( t/ eA.错误
0 g: f" C! I) f9 o3 p* Y' kB.正确5 M; }5 h5 y5 e( }5 s3 k) n
正确答案:————
3 N" V' s9 B: R( j% X" Y* O: B50.[判断题]C语言采用解释方式将源程序转换为二进制的目标代码。( )6 t! n& k! ?7 _! C! c
A.错误, P t2 t4 o6 j
B.正确
: L, b5 }8 d: n4 E正确答案:————
7 w4 k9 a( t0 p( A7 K! L7 h6 E/ B \$ e9 B+ Z
( T+ T8 I$ m* R2 _, l+ K