|
谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料和奥鹏毕业论文以及提供代做作业服务,致力打造中国最专业远程教育辅导社区6 _# _ D* F( Y" d6 ^# \6 W6 V
- h# @9 m; G+ M, \+ l# e( w3 p
一、单选题(共 20 道试题,共 100 分。)V 1. 在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
5 J+ `5 |& D0 G3 P( t3 x! ]" [A. [常量表达式]+ j7 g3 H/ ?# i, N0 X7 a8 r
B. [整型表达式]
* ~4 G/ ]) @8 E: f+ C$ Z3 p1 |! uC. [整型常量或整型表达式]. G, C- X2 q5 `, j7 g5 m1 |
D. [整型常量]! Z% C9 X1 Z' C) N" o4 n
满分:5 分5 R+ E4 e' ]% L R
2. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。
# h+ s* o- x" v6 iA. -1
- G b- P9 Z, z2 W; L0 `B. 随机值
8 `% I$ V6 U6 ?2 {3 zC. 06 X1 c- b, x3 Z! `* y
D. 19 Y; T3 D d% \% D
满分:5 分
" h/ Z+ T) X: f3. 函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。5 [* X$ t# P, y4 Z
A. 移动到距离文件头10个字节处
, w7 z7 _6 Y* k: h2 q) s6 gB. 从当前位置向后移动10个字节
! X4 o4 [1 o) ^3 DC. 从文件尾部前移10个字节1 `6 ^6 L! ]" X3 o2 [
D. 移到离当前位置10个字节处
$ k. p8 f9 l- ~+ j# J0 m 满分:5 分# a* r: G& U6 E5 H: |/ Q( l9 D
4. 以下能对一维数组a进行正确初始化的语句是( )。5 ~9 d/ s8 D( j' r( |: W0 Y0 V0 @5 P4 o
A. int a[10]=(0,0,0,0,0);
2 ` [: L& X+ `/ I- Z xB. int a[10]={ };4 U2 P+ u8 u2 \+ V( t1 w
C. int a[]={0};* d) R" k" a3 H1 j7 l( c
D. int a[10]={10*1};/ u4 s0 ~7 k( T1 h- f) H" P$ y, A6 W
满分:5 分
3 b1 m- r6 d) R% U! V5. 以下对C语言中共用体类型数据的叙述正确的是( )。6 e3 A1 x5 t; _/ H$ n; l+ A7 Q
A. 可以对共用体变量名直接赋值7 ?$ z7 D" ]/ a; ]2 u
B. 一个共用体变量中可以同时存放其所有成员
, R8 L) l7 t: k5 q* YC. 一个共用体变量中不能同时存放其所有成员5 }3 J% }, X9 H- P
D. 共用体类型定义中不能出现结构体类型的成员2 Y5 n3 X! _3 z; w/ p0 L
满分:5 分7 D H# Y0 l, M8 h
6. 若有以下说明,并且0≤i<10,则( )是对数组元素的错误引用。int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a, I;% Z V! F8 Z$ ^9 j$ ?
A. *(a+i)
, E( j/ k2 r6 }( l0 E; d, sB. a[p-a+i]
2 t! w2 h1 `1 @C. p+i# l9 u7 O3 Y$ |* U7 |, Q, n% R
D. *(&a)* c; L- C9 l1 V0 s: T
满分:5 分
9 O& V! h2 T" w( ^7. 下面对typedef的叙述中不正确的是( )。# I6 |7 b! z3 k
A. 用typedef不能定义变量名) I3 Y4 d' n( c+ y$ l3 L
B. 用typedef可以定义新的数据类型
+ R: s" |- R4 j" W. cC. 用typedef只是将已存在的类型用一个新的标识符来代表
% y ?/ g v, s; `# H0 [D. 使用typedef有利于程序的通用和移植2 y6 ?0 b3 W' L. F6 M2 s) k
满分:5 分7 @$ q0 ]6 C9 _: C5 s
8. 若执行fopen函数时发生错误,则函数的返回值是( )。
9 n! O: w# ~: v+ G% L. N9 ?A. 随机值
7 S* ], Q/ A( @; I4 jB. 1
: l+ ^1 A& P1 j" XC. NULL" a( l9 R$ W8 h$ Y( M7 R
D. EOF2 w G) n: T% Z+ y9 L; q
满分:5 分6 d- Z* g- o0 J% ~
9. 若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d\n",x%=(y%=2));* N) Q l; _, y2 S
A. 0 }; |" |( n; m. }# _. q* J
B. 1
: a% g9 [5 O- f4 [) j/ AC. 6! c5 T: }' S( q! @0 i S% `" V
D. 120 M) s. |7 A0 r! K7 _; l
满分:5 分4 F- f+ G- p) t- J3 A. l* ]
10. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");
& a' |7 j& l. g' y- M# C- i! Z QA. 循环体只执行一次
4 u/ `+ j n: `' A4 yB. 是无限循环# y% b, q# a* k% C, k1 j
C. 循环体一次都不执行
! n- ?0 ~7 R7 j7 GD. for语句中存在语法错误. j2 d3 M) E. Y
满分:5 分
/ D4 _, [3 r- ~9 A: {11. 若调用fputc函数输出字符成功,则函数的返回值是( )。- a1 ~7 S0 b1 S' {, g
A. 输出的字符3 E( ^# k7 n" R3 e% [
B. -1
6 z4 d! p+ m2 Z- D# n/ ^0 kC. 0
/ ~, e" b* I* V @ }5 ^: a1 {D. EOF
! O5 e4 O) B" y7 C 满分:5 分
: V# R! V& a. ]+ o" b12. C语言程序从main()函数开始执行,所以这个函数要写在( )。
" t% @9 n% C+ m- o8 AA. 程序文件的开始7 j5 C, D- c$ Q, N) Q) M
B. 程序文件的最后
+ a+ a U2 Z+ `$ ~C. 它所调用的函数的前面0 Y d- U% T* A6 u
D. 程序文件的任何位置
# X$ D0 N+ {) i1 p5 k 满分:5 分
5 Z! {2 \% e+ ?) v1 I13. 以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。9 K& D% @/ [# f* f$ Z
A. #define MUL(x,y) x*y7 M: q% _8 i: u
B. #define MUL(x,y) (x)*(y)
, u* _2 v- p& e. ?0 \7 p' T* OC. #define MUL(x,y) (x*y)! R Z: g2 \! X+ Z
D. #define MUL(x,y) ((x)*(y))"6 v/ A, \; a* a4 a
满分:5 分% ?7 P6 E i3 v6 M f
14. 以下程序段的执行结果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);% G2 I& z8 w% O7 D: L: i3 }
A. -3
# o8 F+ t5 R6 i% Y! a2 vB. -28 v; m/ N/ F1 N8 M! }
C. -1
6 d. {1 \ B$ ~D. 陷入死循环
. [& H8 F v7 z' u3 a! A 满分:5 分5 M# t4 z) o4 z: K, M
15. 执行以下程序段后,y的值是( )。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; }' A) [ E. t8 |2 U
A. 1
& l: K9 l' O3 S! D* r. xB. 2
+ [4 z5 Q: s$ h, k8 IC. 40 i$ e5 e3 M6 j
D. 245 G: ?/ p$ o8 P9 H A: O9 e
满分:5 分% {; ^1 S/ E, h6 ^, _( _
16. 若二维数组a有m列,则在a[j]前的元素个数为( )。% A. u) U6 h% F' F5 q; |
A. j*m+i+ i) _0 w3 o% a3 o2 j" A/ Q, a
B. i*m+j" e( h0 Y1 }) q8 Q: s; L' @; ^
C. i*m+j-1 `/ I: M$ L0 X% e$ r
D. i*m+j+1
6 D9 s y% J: `7 i K. E( d 满分:5 分) q# n/ v6 S9 k. P# p
17. C语言中字符型(char)数据在内存中的存储形式是( )。
: N: d' S2 E6 lA. 原码
; L3 X4 f5 l0 D4 h' F; CB. 补码3 B5 P% a' M' L
C. 反码
. Y/ Q. @" J- I/ p9 l6 FD. ASCII码
! Q3 A9 ~( {" @# _2 n9 G 满分:5 分* t7 K/ Q. u1 A, F8 z
18. 有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
1 @9 [2 t& @( F. q% HA. 运行后将输出China- y; X: m" T2 c+ o/ ~+ t
B. 运行后将输出Ch( s3 I! \" Y+ D
C. 运行后将输出Chi2 K0 S& Y+ I: z- U$ _
D. 编译时出错+ P% u0 W3 H [! O4 Q& `
满分:5 分
. C# n9 m' ?8 L19. 以下能对二维数组a进行正确初始化的语句是( )。. A: e7 a. z- X" H2 {8 x
A. int a[2][]={{1,0,1},{5,2,3}};
4 z0 a7 u' ]) F7 }; ]2 jB. int a[][3]={{1,2,3},{4,5,6}};
' N( u) G) S, m; T2 W* d% R1 iC. int a[2][4]={{1,2,3},{4,5},{6}};+ T+ N6 {3 S7 q
D. int a[][3]={{1,0,1},{},{1,1}};"
% |) o% k. d" } o3 f! s$ ` 满分:5 分7 _! f! q5 _$ S' f. @
20. 若二维数组a有m列,则计算任一元素a[j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第一个位置上。)
( k* a; {" W1 d( D( }: tA. i*m+j
- K8 L2 L7 |( l) aB. j*m+i
. q! X7 }9 w7 M! b5 J3 \C. i*m+j-1" F/ a/ k. B7 B( Z5 o' |$ Z
D. i*m+j+1
& H. V2 T; s4 E+ W' M 满分:5 分 4 N# K8 K i( f( `
4 D( G& O. f8 {8 N8 q! h
谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料和奥鹏毕业论文以及提供代做作业服务,致力打造中国最专业远程教育辅导社区 |
|