|
一、单选题(共 20 道试题,共 100 分。)V 1. 若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。% p" ^" z$ R B2 S& c
A. *pc[0]代表的是字符串"aaa! o( ^2 C8 B& f- I+ G: n ]0 C0 T
B. *pc[0]代表的是字符'a'# G, l* c6 a' ?: V% e% i# s
C. pc[0]代表的是字符串"aaa"
) }0 C5 U) A2 a( f5 ] s pD. pc[0]代表的是字符'a'
- N% `1 X, I. S; {* t3 \* Z) o 满分:5 分5 b0 s* \4 y8 u- T$ S
2. 以下判断正确的是( )。* K8 `- ?, D2 I2 }
A. char *s="string"; 等价于char *s; *s="string";; s, r8 X* Q) y1 d6 {
B. char str[10]={"string"}; 等价于char str[10]; str={"string"};- f% @2 g9 g+ J# C5 I
C. char *s="string"; 等价于char *s; s="string";( Y6 `0 F+ D# J- z1 T
D. char str[10]={"string"}; 等价于char str[10]; *str={"strint"};"
+ @7 s2 U+ v$ r& l6 h: t$ t 满分:5 分, S3 C8 D6 L0 h+ z0 V" Q
3. 若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
6 o0 l9 V d- m# Y0 }A. *(a+1)
6 C7 R# P, N! MB. *(a[1]+2)
3 r: j0 [# V; G$ g& N/ HC. a[1]+3
( r# P: x9 `: ~4 E0 D/ I# H' bD. a[0][0]
7 r' A3 j4 d$ X+ C+ w 满分:5 分
! A" r/ Y% c: F1 L' p2 A1 n6 m4. C语言结构体类型变量在程序执行期间( )。
5 T5 D* M E4 }* a& |A. 所有成员一直驻留在内存中- u, E; [9 V! C g+ |' c* h
B. 只有一个成员驻留在内存中
5 h4 A: h, b* f5 X4 mC. 部分成员驻留在内存中
- T8 Z- p/ z7 M8 J) {D. 没有成员驻留在内存中& \4 Z2 c: X$ y) h# o1 s
满分:5 分% y5 f) Y$ P9 @
5. 下面程序的运行结果是( )。 main( ) { int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b; printf("%d\n", *(q+2) );}' r. k- M0 f! C) ?; |2 ^
A. 1
+ O, ]! O8 {$ K! Q- _, uB. 2+ _( ]" \" E0 w
C. 3+ T5 s' P! m0 O
D. 4
6 A$ ~; ~( ^( j+ x% ? 满分:5 分. V, t7 C) U* O2 Y
6. 以下正确的描述是( )。
' y4 s* S0 n; o. u% YA. 定义函数时,形参的类型说明可以放在函数体内
5 y' S& b5 b/ Q$ N, f3 i9 R8 R7 HB. return后面的值不能为表达式2 b& a, r) n1 x$ n& K- q
C. 如果函数值的类型与返回值类型不一致,以函数值类型为准1 I" ~# u# Q7 k' K
D. 如果实参与形参的类型不一致,以实参类型为准5 m1 V' u! t3 J; M$ c9 x' U
满分:5 分& d9 S+ J6 ^$ z; q3 D' H
7. 以下为一维整型数组a的正确说明是( )。
$ K4 _; X1 O0 Q* C- lA. int a(10);: c. y4 n8 M+ m
B. int n=10,a[n];
* ~" X8 Z0 f y4 nC. int n; scanf("%d",&n); int a[n];0 N. C' O! Z. O7 [/ K) n1 y
D. #define SIZE 10;int a[SIZE];: r/ w& |' {9 p- e0 t: U4 z
满分:5 分6 T2 ?6 R6 I( _9 E
8. 执行以下程序后,m的值是( )。 #define MIN(x, y) (x)<(y) ? (x) : (y) main( ) { int i=12, j=8, m; m=10*MIN(i, j); printf("%d\n", m); }5 x' U' P* |7 R7 _. Y1 h
A. 120
* F- p, q% @1 J& {' QB. 801 B: x9 N2 U- e, H2 c- S
C. 12/ g1 c* K# L$ g4 t: l a' v
D. 8
: Z8 v8 Z. Y! g/ @0 u" `, I 满分:5 分
8 [% x1 j7 p' m- j9 a+ Z1 C. o- `9. 以下正确的函数形式是( )。# k& u+ p5 q z; I5 f
A. double fun1(int x, int y) { z=x+y; return z; } Z B9 b* r/ W' b3 T& `
B. fun1(int x, y){ int z;return z; }+ }+ ~/ \, ~+ C' g2 R, o; g
C. fun1(x, y) { int x, y; double z;z=x+y;return z; }1 ]/ _3 M9 k/ V' S, m& T" _
D. double fun1(int x, int y){ double z;z=x+y; return z; }"1 I- s- ?0 i1 j; g0 i2 q
满分:5 分
+ f2 U( Y1 M6 G8 v% E, |6 l7 ]10. 若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。3 s; W8 A$ u) W
A. i=x[1][1]7 B9 q" U7 o! q! d5 I9 C. |9 c- O
B. i=*(*(x+1))# `* g; b8 Z$ \ n* v1 o+ _
C. i=*(*(x+1)+1) q5 `* q9 H2 `( l% J
D. i=*(x[1]+1)
9 B; e7 m0 s* j: d- G% d 满分:5 分
1 R& V) U, H2 u) \- a: f11. 以下程序运行后,输出结果是( )。 #define ADD(x) x+x main( ) { int m=1, n=2, s=3; s*=ADD(m+n); printf("s=%d\n", s); }
- e" y. b+ V8 ? p! H- }A. s=8/ W8 d* m) L1 E G# N j
B. s=9# D1 q* ` Y' F. K9 P
C. s=6$ o8 e" ]2 x9 {3 p1 T( q! v4 f
D. s=18
3 z# m+ T1 I" U: } 满分:5 分
1 M* P6 u( d; w" y12. 以下有关宏替换的叙述不正确的是( )。- j) `# ?2 O+ t
A. 宏名不具有类型
5 M8 }$ b( d9 ]! UB. 宏名必须用大写字母表示
8 |( M! _5 c. ]8 g( @C. 宏替换只是字符替换6 Z; y$ T$ e1 ~
D. 宏替换不占用运行时间
* F; S$ X: N* @" ]: j 满分:5 分0 t5 v; U! c6 }4 k
13. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。& ^- h4 z3 G6 d3 e' T
A. 该变量只在该复合语句中有效* V6 ]( K( [. M* E& t8 k( A; r' F8 I* d
B. 该变量在该函数中有效0 K' Q) K2 b+ i0 F1 h: i6 ^
C. 该变量在本程序范围内有效
' @2 N4 p6 |) ]! y/ aD. 该变量为非法变量
! ^ F+ q# I% O0 f( G( Y2 e: ]9 V 满分:5 分, T5 b& P. z# r: c6 j2 G0 V/ T
14. 若有说明:int a[3][4];则数组a中各元素( )。
+ ~5 \& v3 ~9 A9 [( B" w8 n' YA. 可在程序的运行阶段得到初值0$ y, W& P. a: ?0 Q& F
B. 可在程序的编译阶段得到初值0
; Q8 t& D7 C* f" a+ {- A; z- c7 OC. 不能得到确定的初值; d% v; g1 n+ k+ B1 B, o' ^% s
D. 可在程序的编译或运行阶段得到初值05 s3 h9 z( g. \; q! B' i2 u
满分:5 分
+ P- y; e) o& _/ T& T2 M15. 以下对C语言中共用体类型数据的叙述正确的是( )。
7 G+ n- o0 r- g' yA. 可以对共用体变量名直接赋值+ B* N0 H* e9 B ]+ M+ A
B. 一个共用体变量中可以同时存放其所有成员: y& r4 |) j1 x3 @& S
C. 一个共用体变量中不能同时存放其所有成员) F6 |# ]/ z3 _1 o# E. g0 n9 c4 a& O
D. 共用体类型定义中不能出现结构体类型的成员0 W( o, r6 p& o+ a( v
满分:5 分, W' O0 z3 b- w6 t8 `8 r7 ~, W) \
16. 设有一段程序: int *var,a; a=100;var=&a;a=*var+10; 执行上面程序段后a的值为( )。
) O+ b% _% L6 S3 _& _6 C& B3 KA. 120
# y$ _9 M" k3 W6 H; aB. 110' e2 }" O+ c$ h
C. 100( u. J- C: f6 t. R* S
D. 90: I, G, U M) y" H; w
满分:5 分
1 g- p; l5 Q6 `+ g# O: K% Z2 f17. 下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
9 r3 c! u0 r/ q) X& x* {2 yA. 空格& R% }; |4 Y, s+ }; @' B
B. \0: |7 y7 C8 r6 l4 ^/ |
C. e: P, Z" z+ r8 d" J: m+ {
D. f' {* m" Y4 J& H* C: j0 e
满分:5 分
, P6 f% O \. O7 e1 g18. 设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);
3 ?; K, H* J3 s, O/ gA. 1234123121<回车>
0 @+ \& ]& x8 Z& o) aB. 1234123412341234<回车>
9 q$ \; w% I" |/ x/ iC. 1234+1234+1234+1234<回车>
; A" n c0 A9 A9 p4 H) x* VD. 1234+123+12+1<回车>( G" l: a1 b& f+ {# `
满分:5 分
! I; b5 c2 x# z; O- W' O; d" w19. 以下程序的输出结果是( )。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d\n",d);}
% I4 v1 t7 @4 a: XA. d=10
: J5 M S8 Q. O TB. d=154 E9 y6 M/ R( H3 C E- `9 ~- `
C. d=20; a. \ f9 y: J+ G! u- o6 c, p
D. d=25
' h. k8 U/ U$ r+ u; q% ~ 满分:5 分* d& b% y- L3 w$ g" g+ r: k1 X6 K
20. 在C语言中,错误的int类型的常数是( )。4 w3 h, r/ B. J C( J& t
A. 32768* k/ n: a& O( H. n1 i6 Q( ]
B. 0+ F1 @, B, s+ a& {0 [5 F. P
C. 37
' @- t& C+ J/ P3 T- w. @$ i5 L. o LD. 0xAF
! `% A5 ?! l/ h& P. a9 T% k 满分:5 分
- c2 ?/ v5 k3 z( a s
9 r( p, \9 v( \ |
|