《C语言程序设计》19秋学期在线考核试题
2 z" @ z: N2 L* S1.[单选题] 以下程序段的输出结果为()。 char astr[5]="1234"; char *pstr=astr; printf("%c",pstr[1]-'0');: \' W! w- N2 U! Z5 q5 q5 P
A.17 r4 l% K" Q- j
B.2
: X0 D0 m" k2 V9 \8 M, v C.ASCII码值为 1 的字符# e& Z. d R* ^6 ~$ s8 ?
D.ASCII 码值为 2 的字符
3 x4 r1 v$ T& G! c 正确答案:——B——6 N3 V( S h$ K: j
2.[单选题] 以下叙述正确的是()' d3 @5 @. J+ A# p2 b
A.C语言的源程序不必通过编译就可以直接运行。
I$ J9 R5 I3 N) ` B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。) u a" y# H' o4 M
C.C语言源程序经编译形成的二进制代码可以直接运行。
9 J) o& X1 o9 j& v6 o" C D.C语言中的函数不可以单独进行编译。' R1 _( T( n) Z5 S
正确答案:——B——
; B0 \" f! v: ]( P/ j3.[单选题] 设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )。+ Y+ i. G8 z0 R5 Q
A.float *p=1024;
% O" t6 [' q* [. w B.int *p=(float x);
1 s, R7 n+ V0 ^ C.float p=&x;
5 V2 d6 s% u/ K. D f, g5 }7 z D.float *P=&x;
$ A. z2 o) b- J3 l. S 正确答案:——D——
9 T; ^2 U. n! Y4.[单选题] C语言规定,函数返回值的类型是由( )。0 e. l2 A9 a2 ]# q$ L# t
A.return语句中的表达式类型所决定
: f7 D: v! G7 ]1 d7 Z B.调用该函数时的主调函数类型所定决
4 [3 c5 e' a0 A; w ?4 s C.调用该函数是系统时决定
. w+ g8 U1 E& O- {0 q" s1 ]& z D.在定义该函数时所指定的函数类型所决定* {4 N+ W0 e) {
正确答案:————- E3 M( G5 B5 H7 E
5.[单选题] 下面不是C语言关键字的是( )。
* n) V! f& _3 v- U5 ^9 V A.Do) Z. i" o* U. M, h
B.Void; c/ J) Y) F/ ~$ I
C.volatile
- i5 f, m+ `* y8 @7 M3 o& S D.unsigned
1 m+ d& E7 A$ a1 s' M( e( d8 X 正确答案:————: f, m2 N" [, Z, A% R" a8 {) _" A
6.[单选题] 以下数组定义中不正确的是()7 c ]! g+ Y3 z3 z6 j, F0 s
A.int a[2][3]2 n% C% E. r8 t( p" j
B.int b[][3]={0,1,2,3};
, a/ J4 \9 s9 k C.int c[100][100]={0};5 f# C0 X& x4 ^7 _
D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
7 G: A" P6 U+ G) u& o 正确答案:————
- ~* O% G, S) A" Y! b( t7.[单选题] C语言程序的三种基本结构是( )* b6 ?- Q2 K: U) [( T
A.顺序结构,选择结构,循环结构
, n0 F/ A, ^4 ?- t3 u' o3 Z0 J B.递归结构,循环结构,转移结构2 ~8 p, K! i" S% K/ Z
C.嵌套结构,递归结构,顺序结构$ H% \% ]% c2 Q7 G; W
D.循环结构,转移结构,顺序结构
) e, E" ~. n2 s. A4 O 正确答案:————3 ^5 ^4 z3 X) i$ m0 m
8.[单选题] 若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是()。* A9 k# Z; K% o' o) e" R
A.1
4 i9 a2 }# J$ E: M B.27 P% h6 @. A& v3 y9 N
C.2.0
* w: X9 g: R3 g2 M* p/ ~- H D.2.58 S$ {7 N7 }3 j! t( h: v' s0 ~$ s2 B
正确答案:————
9 ~" O6 p$ I7 ^9.[单选题] 以下程序段()。x=0;do{x=x*x;}while ( x>0);$ ]/ k1 A9 a+ ?3 E0 _5 n
A.是死循环Y9 L( _1 [+ X$ F6 X0 X* t
B.循环执行一次
! S1 Y7 v( ~& a! U C.循环执行二次
! A# G$ n, z' E; ]/ g, o D.有语法错误, x5 m7 |- r G! _- Q& T( v
正确答案:————
0 Z. }7 o: z" J* ~4 Z& b10.[单选题] C语言中提供的合法的数据类型关键字是(); l) | ]# K. ^1 Q' j& r% T/ O, i
A.Double, m7 D; P4 M7 ~) r; R1 V7 _! ]
B.Short
1 U1 |- w, S1 i/ a6 Y$ c) i4 ^ C.Integer3 S2 X# ]* `& l3 g% O
D.Char) M: [9 ]2 q5 q9 V: J" u
正确答案:————
# p3 B0 a7 @" n) o11.[单选题] main(){int i,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++) {if(j%2) break; a++; } a++;}printf("%d\n",a);}以上程序的运行结果是( ). L0 g7 O7 L' h, W2 L# P
A.4
6 Q x& G4 S, w M2 L/ x B.5
) V: r. M5 i( v/ Z3 }1 H' p7 b C.69 u8 F( C: P2 u S, J
D.7
! c" l# O# y/ i 正确答案:————* @' P# T1 t$ m! b6 M" f
12.[单选题] 凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是( )
- q+ N0 M- x2 z7 B* c* ~ A.静态(static)5 D" u7 q R; t2 z
B.外部(extern)
3 y7 L5 |) Y* ^; ~ C.自动(auto)
. y" O% }' g; ^2 l- K( Y- F D.寄存器(register)
6 l! _! Z" h; A4 D 正确答案:————
" u; e4 o' x- @2 `# d# J, p13.[单选题] C语言中char型数据在内存中占()个字节。
$ k/ Q* f9 p) I/ r$ p8 T A.1
1 a, P; n7 p: |: F B.2
% I) M! k1 b& T, g9 R0 j- g" o& O) ]# m C.3
0 r: ^' y6 d" [) H( R8 z D.4' l+ G# }7 _$ J8 Z, ~7 m3 y
正确答案:————
% ~- b" k* R6 b% a14.[单选题] 设有如下定义:struct jan{int a;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是:()
! p$ u, Z* p( z8 E$ a A.(*p).c2.a
7 G$ p" Q4 E4 W; F B.(*p).a
1 d$ J. _9 O9 q8 ]% A8 v C.p->c2.a
! x1 {1 G+ d/ Q& j D.p.c2.a
8 M+ V. @0 X+ i 正确答案:————. j! D& y7 f6 t- z( G- v- ?3 N% W% i
15.[单选题] 程序char c[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’}; printf(“%s”,c);的运行结果是()。( p' Z* Y+ m) E: F, j- o- a) T
A.'a''b'
~9 N3 E. b/ \! V8 i7 w& Y B.ab( V5 l5 [, R5 h# {0 H
C.ab c+ q. l" I) b9 \
D.ab+ M1 `/ @" t9 g6 e# |* C: H
正确答案:————% Y/ {* s' I, H% B; a) F& h w8 C
16.[单选题] 在while(x)语句中的x与下面条件表达式等价的是:( )" J# d2 H1 V. S- ~* A5 q
A.x!=0
; k, E: N8 B$ A, _ B.x==1
. ]+ S( c% K0 w+ O" L# d) S C.x!=12 h4 L C3 X7 V2 f! i+ V7 u
D.x==0- d$ n: }& n& N$ x; G
正确答案:————+ S0 Z, L! U8 p3 w- C8 q9 \: d
17.[单选题] C语言中提供的合法关键字是(). C! e; }2 F2 f% [' z
A.swith
( B7 C0 }9 E6 ]0 z2 r9 n B.cher
8 C' M+ p1 b4 g" o. N C.chase/ U+ f$ @; u0 g; d; H+ c
D.default* H4 }" Q* e4 i2 @
正确答案:————
* A7 m3 l8 J+ L4 _% ^4 o18.[单选题] 根据定义和数据的输入方式,输入语句的正确形式为( )。
( m! [( R/ @0 e/ O A.scanf(“%f,%f”,&f1,&f2)
; g% [! B& h( p" @& m' G6 _ B.scanf(“%f%f”,&f1,&f2);
# W; B" N2 B1 d: | d( A: y' N C.scanf(“%3.2f%2.1f”,&f1,&f2);
: f2 b. j& W. t6 y D.scanf(“%3.2f%2.1f”,&f1&f2);
0 U/ T" i& J" t7 g" J( h 正确答案:————
3 U' Y: D; P; s19.[单选题] int *p2表示的含义()7 h1 d. v, x, t4 U5 |
A./*p2是指向整型变量的指针变量*/5 e, K& U/ p) l/ t L5 H4 D3 V
B./*p2是指向浮点变量的指针变量*/. X5 f, G J: u. s: k# {
C./*p2是指向字符变量的指针变量*/
( G; i9 I; m! o( H/ y1 D* q D./*p2是指向函数变量的指针变量*/
) J$ j. {1 N9 n. p1 o' w4 X 正确答案:————
, E( I' E) p, z1 Q1 R; X* Q2 @' h* v7 N20.[单选题] 以下叙述不正确的是( )。) _+ B9 G5 D# I, s+ r) R+ M/ O
A.一个C源程序可有一个或多个函数组成。
* N" C. _8 p3 G) v7 F B.一个C源程序必须包含一个main函数。
) i0 X2 W" |7 r& g b C.C程序的基本组成单位是语句。
9 V; q# W E1 E% D0 B: l$ G D.在C程序中,注释说明只能位于一条语句的后面。4 ~0 y8 `. I! {* @9 W
正确答案:————5 s8 j) |" k" ~7 T+ E' N2 _
21.[判断题] char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。()0 z9 W1 C- P# d; E5 [" y0 i ?
A.正确
e# E" Y) N0 y9 C B.错误
2 @5 h6 d( l% a! r 正确答案:————
) c, ]4 [. c) c! A$ p4 p22.[判断题] 为了向二进制文件尾部增加数据,打开文件的方式应采用″wb+″' y' d n( c v( T
A.正确" L" Y4 T) P: n6 A; N
B.错误
4 ~8 M; o% V& @ 正确答案:————9 n# V6 N0 A" T5 q' m! I
23.[判断题] C语言程序总是从main()函数开始执行。()
/ R/ j- p' {# P1 | A.正确% u0 V) y/ W5 j3 b
B.错误
6 U! q [3 u \, n6 C- ]0 H0 U 正确答案:————
2 J1 P) c5 l! [; C24.[判断题] integer是合法的C语言关键字2 k/ ~* C- z/ z. n: `) | D9 Z
A.正确
m: l" {3 N1 R5 t B.错误0 U6 O# _+ K4 P6 M9 |% s' |+ n
正确答案:————- C* o9 V! c* D: {6 R2 Q! T* U8 P b
25.[判断题] 用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化+ Q4 [* d r3 I6 a
A.正确: ]4 H- @2 G3 T4 R! l7 G6 c7 Z: \
B.错误
0 v3 Y- `$ Z/ f3 t3 F X4 e 正确答案:————
$ z p, {, Q& Q- D9 s26.[判断题] int a=24; printf("%o ", a );输出结果是30。()* f2 H: Q- g- D, d# @: |
A.正确
- S1 T6 S& @0 |$ D1 _ B.错误
3 _$ t% X; n0 x8 f c 正确答案:————: Y& s# I( v; l! Z; q5 s
27.[判断题] 如果被调用函数的定义出现在主调函数之前,可以不必加以声明
& {& c* z; L r1 | A.正确8 \: ^; T' a6 g+ K
B.错误
; r0 ?0 d/ \3 Y7 v. z/ }7 q" i% J 正确答案:————" K# z' e2 [- k! q
28.[判断题] 在Turbo C中,整型数据在内存中占2个字节。()
* a4 B* V* z+ L/ u A.正确
+ R, E, V3 y3 v B.错误9 | t6 w) Z/ x- l# X( ~
正确答案:————
. C) e) _$ W3 L, q29.[判断题] 在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环结构;continue语句用来结束一次循环0 |0 K3 P, X R% n) r8 G
A.正确7 U7 P* n7 G, { _. g* Q9 C4 S
B.错误
8 g. B* E9 e! B# _ 正确答案:————, C5 B3 p) l" o# r2 |
30.[判断题] 字符串是C语言中一种基本数据类型,字符串总是以‘\n’作为结束标志
& U9 k" P2 l s5 S, @) h- Z A.正确
' r6 i; o Z7 o B.错误
- g# r3 I3 @9 G 正确答案:————: c4 y' W \8 i3 x; Z
31.[主观填空题] 一个完整的C程序必须且只能包含一个##。
! }" U- ]. I* q/ j+ g3 q& O 正确答案:————. U b- R* X- z* H
32.[主观填空题] 已有定义 :int x=3 ;则表达式 :x=x+1.78 的值的类型是##。& r$ ~. Q4 i8 R# ]2 J
正确答案:————
0 m8 t* E1 Q; V3 k% g. q33.[S6-31] 将20个整数放到一维数组中,输出该数组的最大值和最小值。L% a5 R0 {- H6 f; K7 i' v; Z9 a g
正确答案:————8 O7 N" Y5 F5 I- S8 q+ s
34.[S6-31] 已有变量定义和函数调用语句:int a=1,b=-5,c;c=fun(a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。fun(int x,int y){ }3 `9 I3 W6 u+ q% i- ?& L$ m; }
正确答案:————
1 E6 x6 G) A! a# h35.[问答题] #includemain(){int a,b,c,d,x;a=c=0;b=1;d=20;if(a) d=d-10;if(!c)x=15;else x=25;printf("d=%d\n",d);}程序的执行结果是- a; Y$ C" I( x8 @* b5 F, i* _
正确答案:————( c5 j7 `' y# }
) o- |$ q& R0 V V4 v) u6 L$ x/ z3 y. p _