川农c语言题库,川农网院《C语言》期末机考

《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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值