《C语言》期末机考6 |! a W8 y4 R+ i- h" a9 R$ w* y
1.[单选题] 已定义以下函数
/ D" _7 p6 j/ f1 l" R; H; Lint fun( int *p)7 c/ Q& b3 f1 n3 ]+ K( Q6 f
{ return *p; }1 @6 K1 f( o" T0 j2 h
fun函数返回值是 ( ). L1 ]$ Z1 y( B. n. R
A.形参p中存放的值1 d0 u! Y/ b2 {% b1 }2 A
B.一个整数; e1 j( }+ Z. R" e
C.不确定的值2 [! r- M/ A! U% h
D.形参p的地址值
- q; ?" n/ W4 m 答:——B——2 n+ [5 C( k% E, B
2.[单选题] 假定所有变量均已正确说明,下列程序段运行后x的值是:
a=b=c=0;x=35;
if(!a)x--;
else if(b);
if(c)x=3;
else x=4;3 E, \5 a* V# d) L; _
A.34
( N6 l: y& W. W0 [ m9 [ B.35% J% H# Y, r5 Y0 v0 F. Y
C.4
' D5 G# U& J5 ^7 }. K6 m D.34 q. r2 a- S v) `, e& {$ e3 Q4 O
答:————4 {- U7 C" [# h3 r/ c$ u
3.[单选题] 在宏定义 #define PI? 3.14159中,用宏名PI代替一个:
; C8 C8 V) X: G4 O( O A.字符串
& k+ B" h1 [7 G1 t' S B.双精度数
# p n- x% c, J# L9 Z C.单精度数
) D( S$ ]" p* } I D.常量8 |) w: e2 n, F7 V( Z
答:————% |( q& f* @& p% T' D4 |
4.[单选题] 以下程序的输出结果是:
#include
main(? )
{??? char??? *p1,*p2,str[50]="ABCDEFG";
p1="abcd";????? p2="efgh";
strcpy(str+1,p2+1);??? strcpy(str+3,p1+3);
printf("%s",str);
}
7 D j) C2 h7 A/ P A.Afgd8 N0 t4 ?) r# A. a1 n
B.Abfhd& k& \1 y# S# _0 e% b! O7 y
C.AfghdEFG
) [7 M) S( u+ p; ] D.Afghd
' W8 f: w7 L2 O& r" x; \' a0 Y 答:————
, X) i( o4 O9 H3 I1 | [5.[单选题] 在C语言中,合法的长整型常数是:
# e( A/ u" S3 O7 j' e A.2.1869e10. j5 a- P! {8 V
B.4962710) G" m5 `9 L* [; H6 F8 }1 D8 h) }' X
C.0.054838743
; ~! k% l @% \0 l' }9 q$ X D.0L
; Z8 G% t: V% }' z3 N 答:————1 s9 I- u2 k8 _/ y4 S
6.[单选题] 若以下程序所生成的可执行文件名为filel.exe;当打入以下命令执行该程序时;
FILEL? CHINA? BEIJING? SHANGHAI
程序的输出结果是:
main(int argc,char *argv[])
{?? while(argc-->0)
{??? ++argv;printf("%s? ",*argv);}
}4 N% k0 e5 h) f1 z5 j" i* p9 q
A.CHINA BEIJING SHANGHAI
1 Q% x6 ~4 {3 {0 Z B.FILEL CHINA BEIJING
3 M# S$ N3 P$ U# ?( K C.F C B# C/ G5 Z7 ?1 b; N* r
D.C B S
D% t& ^, S4 f3 r, e9 l 答:————+ o# y8 U! ]: J) G+ a0 B
7.[单选题] 能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假“的表达式是_______。2 C; Z ]! V) y ]: T
A.(x>=1) || (x<=10) || (x>=200) || (x<=210)6 A1 p: P& V& z2 A
B.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
' P8 Y! T! a9 ~! u/ a/ i$ @ C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)
3 v1 q/ i- B3 Z D.(x>=1) || (x<=10)&&(x>=200) || (x<=210)
* ]0 s* D5 g" N( P 答:————
m0 L- s7 `" [8.[单选题] 在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则( ): R d8 P$ O& J
A.称为函数的循环调用
5 q. X1 b, U' N. D2 \4 B B.称为函数的间接递归调用
3 o }! w# D( S/ j2 b C.称为函数的直接递归调用) `" f0 S W: D. P! G6 N" _
D.C语言中不允许这样的递归调用" u2 Z5 F" g1 k: W
答:————
" g2 Q6 x4 q8 S5 A! t" M; h9.[单选题] 请选出以下语句的输出结果:
printf("%d\n",strlen("\t\"\065\xff\n"));
! Z1 V- W) ?% Y A.输出项不合法,无正常输出
" K. j2 ^' `" ? B.8
: p( p4 f! ^! Q: [0 ` C.14+ _4 ^ e3 \. h6 ?) h' o8 c/ T# X
D.5~# n2 l. V) D8 n1 P8 z( G( B: c
答:————
# [+ _# |4 s u9 P) N9 r- X8 m7 n10.[单选题] 不能把字符串:Hello!赋给数组b的语句是:+ S8 |# [) E. N W2 m( \+ I
A.char b[10];b="Hello!";* D$ R, y- K; ^+ }8 B2 m8 ]$ V g
B.char b[10]="Hello!";: @5 W. G, i% t! ]/ D, g
C.char b[10]={'H','e','l','l','o','!'};
. }, O+ x6 T! U$ b# [ D.char b[10];strcpy(b,"Hello!");- C/ C/ O1 y* d* ^# y/ i
答:————
. a8 O4 Y7 b8 {+ p11.[单选题] 设有如下程序 :
#include<stdio.h>
main()
{ int **k, *j, i=100;
j=&i;?? k=&j;
printf("%d\n", **k);
}
上面程序的输出结果是
J- c/ Y% E" \5 K A.100
# `$ }) ~7 t' p. { @ B.运行错误
8 D* J) a3 P0 b# e2 u8 T% `, n C.j的地址
: i7 j+ r" v& m9 J/ s D.i的地址2 l g! x( w' n5 q
答:————/ j* @# W; f9 r( g. Y T1 a" y
12.[单选题] 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。, `5 N, O4 l) E2 o* _5 {7 ?1 o- s
A.只能是整数0或非0整数2 L4 w# t/ b/ m9 s( ~5 V3 N
B.可以是任意合法的表达式z! b1 O0 n8 V- @. k7 [+ o. G( c
C.只能是整数0或1
- x- B( A8 Z% _" T) P" v D.可以是结构体类型的数据8 i% M- \6 R" K" [
答:————" E! L8 R' Z& L6 s) H" E
13.[单选题] 执行以下程序后,b的值为__??? ___。
main()
{ int a, b, k=4, m=6, *p1=&k, *p2=&m;
a=p1= =&m;
b=(-*p1) / (*p2)+7;
printf("a=%d", a);
printf("b=%d", b);
}, u8 _9 X- y- ?( ]6 P, k
A.a=0 b=7
& t6 f% F4 ?* t' Z7 M5 E: V B.a=0 b=-7.67/ M) j) V8 U+ j) s; P8 D9 h8 r
C.a=1 b=7
3 M! v3 O; Q+ V D.a=1 b=-7.67: ?! \) M8 Q( B
答:————5 R( ^0 s" ~7 u5 S
14.[单选题] 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:. q( f Q5 C( M& e+ P9 ~# @, y
A.2.0+ a+ q1 }2 B& E/ L: r) k9 ~* f# e
B.2! T- J: a' g2 w, d) ~4 Z
C.2.5
6 e0 T0 X% n/ m* z0 `, q+ Y D.1) n' b5 N# y- D6 _
答:————" u b/ p% |) u9 I9 |7 v* |
15.[单选题] 有以下程序
#include
main()
{ int?? a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是:
" q/ ~, L8 d# Z9 ^$ L B A.2,1+ J7 F4 M2 |% m; ^5 b4 |& M. k# h' |& {
B.4,3$ j# i' g1 e7 Q4 F( N
C.2,-1
. N( |; _/ n4 q' ^- T% E D.3,2
1 A+ X; A4 C" c 答:————
. L7 p. h- x8 B- p" ]! \! L16.[单选题] 执行以下程序段时:
x=-1;
do? {x=x*x;??? }?? while(! x);4 l# c* ] O6 b h6 ^
A.系统将提示有语法错误
) @3 [7 B0 M- ~* W8 Y ^9 {. P7 H' w B.循环体将执行两次
" g/ Q' R7 P4 G d ~ C.循环体将执行一次9 A1 O, A# z" B9 j; N- k9 \4 ]
D.循环体将执行无限次* r% ?. _5 h7 y" c4 I1 q
答:————6 q; u. c4 a' C' Z9 Z
17.[单选题] 有以下函数
char *fun(char *p)
{ return p; }
该函数的返回值是:
/ ~- D; R% }. V) w1 Y- C A.形参p中存放的地址值
3 T# r0 K1 s8 ~6 }' m3 h, }/ }0 |6 d) | B.形参p自身的地址值
' D5 _, P2 W, e! J# x$ e C.一个临时存储单元的地址, {' S2 Z- D e7 I
D.无确切的值
9 y9 m4 _1 K/ c 答:————5 a& `) k1 Q* _8 W b
18.[单选题] 请选出合法的C语言赋值语句( )% \% m; U5 Y2 o3 ~9 Y0 H. x7 i$ u
A.k=int(a+b)6 w+ |: s! o8 v4 I, k
B.a=58,b=589 e# A* A+ u6 S1 L! f
C.i++;2 B$ e* I0 U, y9 Z+ H. ]0 j( V d! `
D.a=b=58( s; Y# j5 Q$ E& G' a( t
答:————! m* o2 m, [* F" Y' s
19.[单选题] 下列运算符中优先级最高的是_______。% Q+ A; ^+ Z& U- w4 `
A.!=3 n- i: Y, @3 y! r4 N
B.+3 H6 Y) N6 i. Y+ i- F
C.</ P# }5 ` X' f4 b: }
D.&&1 f8 g% d( F4 ?, H: f* n
答:————
+ `2 Q4 F3 q# q, E5 c20.[单选题] 设有以下宏定义:
#define????? N?????? 3
#define????? Y(n)?????? ( (N+1)*n)
则执行语句:z=2 * (N+Y(5+1));后,z的值为:
% D9 n( k5 {% W; o! f9 p+ q6 o A.42; q( G: l* r7 i) j# f5 X' J
B.出错5 l1 f/ a1 u d4 g5 K# X2 @8 X
C.54: P6 [4 m) L' o" P* p3 G: {& Y
D.48
/ z, k+ z) }. I# _, g1 G, b 答:————" l* K4 c6 v' |) f
21.[多选题] 以下能对二维数组a进行正确初始化的语句是( )
+ G0 {6 d( \- r9 B& W% h, I A.int a[2][3]={{1, 2}, {3, 4}, {5, 6}};$ q c7 {6 c/ {& t0 ~" T8 S, X( d, a
B.int a[2][ ]={{1, 2}, {0}};
' N8 S, ?! Y4 W2 N9 o C.int a[ ][3]={1, 2, 3, 4, 5, 6};4 u7 D: q! N0 ]# m
D.int a[2][3]={0};
. Q1 V4 b4 J, T3 O 答:————; [( u/ X7 P- W6 Q
22.[多选题] 能把字符串:Hello!赋给数组b的语句是( )Y/ g' J5 ~, S# U: v4 [0 E
A.char b[10]={‘‘H‘‘,‘‘e‘‘,‘‘l‘‘,‘‘l‘‘,‘‘o‘‘,‘‘!‘‘};
$ f8 I& Y7 Y* X0 o2 l- H# X B.char b[10]="Hello!";
; H% ^( t# v- }7 Q2 m C.char b[10];strcpy(b,"Hello!");7 M4 ]$ s6 ]+ T8 n' b- A% _) [
D.char b[10];b="Hello!";
]7 n( n9 l* v/ _: g( [* m, I 答:————W; v7 D. w" a% ?( [; w& E4 u
23.[多选题] 以下不合法的字符型常量是( )2 v w, \- X2 X! Q$ q
A.‘‘\081‘‘
; W& p Z% \$ U3 j. V# x5 D B."\n"
, e! x+ g* v( E6 Z2 a% x- \ C.‘‘\x13‘‘
+ l# }' l! s i+ a D.‘‘\065‘‘( k1 z* T# E* Q4 }8 c i" }
答:————" T4 _! P1 M+ W/ |8 _
24.[多选题] 若要求定义具有10个int型元素的一维数组a,则以下定义语句中正确的是 ( ). p$ V0 S: T0 J6 Q. w$ W x
A.int n=10,a[n];- i R" X5 n9 z' h. F- e) h
B.int a[5+5];
5 C- }, o# q; I8 Y# @ C.#define N 10
# t+ U* }+ E) F2 Sint a[N];6 c+ t8 ?# q. N; z" {& H
D.#define n 5
8 P5 N0 L. M. S8 i( N/ l# p4 J% Eint a [2*n];1 W. g4 }4 |9 s& {( ~2 t* v
答:————+ |* Z+ q$ C+ t% O) C
25.[多选题] 对于基本类型相同的两个指针变量之间,可以进行的运算是( )
" p4 E4 g# X1 y5 M8 M9 H& S A.
B.+! f- h3 y$ k7 w; f" A4 {3 g2 L
C.=
/ {; ^9 B, { y7 u$ w. m" y, L0 X D.-1 ^4 ]2 e" w6 Z6 x) r
答:————! ^$ O" Y/ n; g* f, d& g+ j
26.[多选题] 下列定义变量的语句中正确的是( )
8 W! y2 a5 s& N3 W, F }* |& @ A.float US$;" }$ L" c$ u& V' R: ]* I
B.int _int;: _, S" z' X9 ?0 s0 R2 L Y
C.char For;
4 ~ |3 p9 G9 U4 t( L) b D.double int_;
) s- G: i" s ?" k1 ~ 答:————
6 p+ j5 Z+ X/ ?5 [% Y27.[多选题] 已知大写字母A的ASCⅡ码是65,小写字母a的ASCⅡ码是97。以下能将变量c中的大写字母转换为对应小写字母的语句是( )
) k9 a& i( r! f; h, D A.c=c-‘‘A‘‘+‘‘a‘‘
% T* l, r+ R( k+ z# k4 T B.c=(c-‘‘A‘‘)%26+‘‘a‘‘
2 a1 i4 v6 I% L2 m/ w5 w! S* p C.c=c+32
: s+ r2 |7 { T B4 c/ y+ L D.c=(‘‘A‘‘+c)%26-‘‘a‘‘8 v7 ]! H# e" O+ \' N" X
答:————
' v$ R. F% W% d28.[多选题] 设a为整型变量,能正确表达数学关系:10
8 d* g, i$ y: a I" y7 ?3 j) J A.a==11||a==12||a==13||a==14
0 D6 b, m) p' C: W$ _0 [ B.10