c语言程序设计第三版的期中模拟卷,《C语言程序设计》模拟卷

《C语言程序设计》模拟卷 * H) f) R. i( e4 D( a, \

题号        一        二        三        四        总分

: M: z9 ]; z# d' V! v5 z得分                                        0 [4 o6 d  a6 U! e. i! Q

评卷人

; Y4 E' I3 Y) ]5 w% p一、选择题:

+ n4 @* O, [0 d5 O1.一个C语言的源程序中______。- B# @+ _4 \# {, y8 q4 Q9 D$ l2 ?

A)必须有一个主函数          B)可以有多个主函数

2 e% Q. b/ D5 I$ _C)必须有主函数和其他函数    D)可以没有主函数

! V' |( p7 o: E9 @9 C8 d+ D! u# `7 y2.执行以下语句的结果为______。

* w' c) [: [2 T: ^   y=10;    x=y++;

: m: [5 K& S! {% _5 `& ~   A)x=10,  y=10                B)x=11,   y=11

; q0 M; j# I( n/ ]( h% z- T   C)x=10,  y=11                D)x=11,   y=108 }$ D) @7 V* U) n

3.执行以下程序段后,c3的值是______。 0 c+ u$ ^% q& Y/ o) m+ ~

int c1=1,c2=2,c3; 8 Q, p+ Z* P5 n( r

c3=c1/c2;

8 s& l8 g  L! L, N4 HA) 0       B) 1/2       C) 0.5     D) 1

" O4 S; U% r; v7 [7 a' y4.C语言中字符型(char)数据在内存中的形式存储是______。9 B! z: T, D: F! ]" o9 j2 S1 F

A) 原码    B) 补码      C)反码     D) ASCII码

/ J* L! m, f" L5.下列常数中不能作为C的常量的是______。/ `6 G8 z7 r* i

A) 0xA5   B) 2.5e-2   C) 3e2   D) 2e32.6

3 B. i) t# U& y4 C8 Q; G% k" ], \' {6.C语言中整数-8在内存中的存储形式是______。) L( ~4 M6 O" U" i

A) 1111 1111 1111 1000       B) 1000 0000 0000 10003 D1 u6 V" O% q4 i4 e' B7 T

C) 0000 0000 0000 1000       D) 1111 1111 1111 0111

- k! b# i/ n% n# e3 h$ o8 u$ z- Z7.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是______。% \& T/ e) {2 A

A)6         B)12       C)30      D)361 F' _* s& c+ T4 \# O1 k$ H# e% N; P

8.执行以下程序段后,a,b,c的值分别是______。. v' ~  h. {. A; M

int a,b=100,c,x=10,y=9;. f1 M8 G9 S% a5 M

a=(--x==y++)?--x:++y;

" S, ?# w' j. X+ R& h$ C6 N     if(x<9)b=x++; c=y;& K3 B) H/ }+ k9 r. y+ `# E# E. Y+ V& w

A)9,9,9      B)8,8,10    C)9,10,9   D)1,11,100 L$ E% g5 ?6 x5 C, O" x5 X

9.一个C语言程序的基本组成单位是______。

. x( o  P0 w, B4 t0 r4 O     A)主程序     B)子程序      C)函数     D)过程

$ q# L9 P# S+ j: Q. G" A2 ^10.已知函数abc的定义为:/ W" Y3 r' t# P; k! X" ]

void abc ( )7 |5 L' j& x; _- B

{ ....... }

3 n7 Z7 R8 y! o4 i    则函数定义中void的含义是_____。7 ~5 v# Y8 V! ^5 d  c6 m

A)执行函数abc后,函数没有返回值

" v+ W, `3 {8 A0 _+ A3 kB)执行函数abc后,函数不再返回

/ I3 z  j, E8 T7 t, F, ]* x      C)执行函数abc后,可以返回任意类型

2 R: f+ e: p7 |9 @  F) p/ `% z; xD)以上三个答案全是错误的

& X* E& x( E; h: w( L11.以下程序的输出结果是____。5 u- E/ K; K/ p$ S

main(); L1 @7 K0 l1 S

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};7 Z4 t0 S$ m$ {, D7 S

for(i=0;i<3;i++) printf("%d,",x[i][2-i]); # I+ o; n3 {. G

}

1 h' W9 z6 N& H+ v  D+ r2 e, SA) 1,5,9,     B) 1,4,7,     C) 3,5,7,    D) 3,6,9,+ u1 O* ^% k- g0 S

12.已知:double *p[6];它的含义是_____。

( ~+ K0 k' V* C; d     A)p是指向double型变量的指针   B)p是double型数组 * d1 J& B% C! {" q9 x; O/ e3 d/ E' `

C)p是指针数组                  D)p是数组指针+ z' u$ k  F9 R8 F7 u8 K. z4 \

13.已知:int *p, a; 则语句"p=&a;"中的运算符"&"的含义是_____。; h1 _* X7 ~5 k1 X

A)位与运算  B)逻辑与运算 C)取指针内容 D)取变量地址& n; G4 s) r* J" O, J0 @- E( p

14.变量的指针,其含义是指该变量的(  )% l, U. D8 d+ F& ~1 X

A)值           B)地址       C)名       D)一个标志

! z. W9 E  o' c( V7 `* |15.下面程序段的运行结果是:(  )

* Q  [4 c; g0 w4 I     char c[ ]=”\t\v\\\0will\n”0 _/ C3 Z5 U# E: y, W6 A5 q

printf(“%d”,strlen(c));% O9 J0 T8 Q7 P: O6 J  g

A)14   B)3    C)9     D)字符串中有非法字符,输出值不确定+ M; d* {1 v  a; ]8 [. i$ X$ h+ H

二、填空题: 7 T% V! x! ^, m. W% e2 y* a( H8 c

1.表达式10+16%3的值为___________。0 [# T1 }6 m' S1 ~& `: f+ a

2.写出满足下列条件的表达式:a和b都不小于c______________________。

9 h, t! r% v' B& d3 A3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为_____。0 S/ b: B$ X! |$ P8 x

4.下面函数的功能是求整数1到n的和请把程序补充完整。

( A+ M0 |5 w+ G: l+ Wlong  sum( int n)

$ R* T/ j  |/ R5 Z( j{ int i;

, f& v" O" ~3 h5 z  __________

8 i7 J& K, L9 r: I3 I for(i=1;i<=n;i++)) k& ?" }  f+ J9 f

_______________" J  P; d8 y$ y! i; _0 N6 q

return s;

( g( F+ L9 [' R9 ^; T9 U" B}

* i+ ~, C/ x* [5 r' ?三、程序阅读题,写出程序的输出结果: ; m  E- o2 Y% g% C5 X4 N2 f  R

1.#include “stdio.h”

2 X% f4 X5 G  g# J3 Y3 i& m   main()

4 A' Q) C* w3 D2 a" v+ j   {int i, j;

/ @  Y/ K" J+ m' ^) S    i=j=2;

( Z$ j1 k) Q) C    if(i==1)

5 Y- B% E9 f: P. N; K       if(i==2)

7 @3 b$ H1 }; e" c0 E      printf(“%d”,i=i+j);

G1 ]- ?6 `8 z" {& O      else

& d) A3 _0 A3 B  x$ ^; h4 A7 L+ E       printf(“%d”,i=i-j);/ ^- B/ O1 q$ F" ~+ u7 E

printf(“%d”,i);

; x" ^$ S$ M, ~) k0 r   }

, K' k. f' Q7 K___________________________________。

# L" K6 P- U" q! k$ E. m2.main(). G# I4 z' G( e. q, c9 }, ?5 Z

{int i=3, j  r( k8 c; h; f

while(i<10))B0 K! y8 |1 j, l4 F

{if(i<6)

, L5 m& w- R3 a1 z        {i+=2;) i6 u5 M* b  A) [2 N0 p' j

continue;

# C6 v) ]: E9 s- i8 A0 m        }

$ q: j6 }) I$ J     else$ t9 K% `' A  e) y

printf(“%d  ”,++i);Q2 n1 v* e7 K$ I' s  e" b

}

% _& l5 H; A1 w# p8 P0 D( W) a   }1 w5 J! Z; Q. N) }: k% b

___________________________________。) i( @# K. q: I4 r

3.#include “stdio.h”/ U  f) h# R4 k  q

#define X  5+ ^6 m! ]0 b; W) o! l

#define Y  X+1/ U; ?$ p" U) {$ z, v

#define Z  Y*X/2

5 R1 ?' Q, w5 A( y& ~' P   main( )

. p" Q, J- k7 Y" K+ A   {int a;

8 V! }4 E1 m0 Z1 W3 h    a=Y;9 F5 Z5 i  M$ O$ g4 m7 H3 w

printf(“%d  %d\n”,Z,--a);9 c0 T- u# u# A: i- n: Z* m

}7 k8 c. Z- k5 f8 p! y  {6 ]! t

___________________________________。

% g# C' G/ N/ u5 H1 J四、编程题:(共45分); T0 T; z; ^& Q' O6 g  ~9 _$ D

1.编程求分段函数y=f(x)的值,f(x)的表达式如下:

& R& t2 Y) r  g, f6 X6 L- s                2x+3   x

7 T) }7 Q8 j0 ]! X2 }4 a0 y       f(x)=    5x+10  -1≤x≤16 `1 W& @0 D% R: c# P- H$ K! r

12x      x>1

- D$ }5 H& w  p1 T2.用switch语句编写程序,实现以下功能:从键盘输入数字1、2、3、4。分别显示excellent,good,pass,fail.输入其它键时显示error。

3 ?1 z. \- o  [3 O( ?9 o3 G! @" H3.编写一函数,找出一整数的全部因子。* ?0 ]# p& @, w# C" i2 W% M

参考答案:7 Q; J  S% A; j& A4 i* t7 [

1、w4 ^1 Y% v7 s

#include "math.h"' f9 ^  O5 H! y, M1 @

main(  ) : _6 O5 O2 P) p7 B' b

{float x,y;

5 _/ G% A- i, H printf("input x\n");

! f/ J8 h1 d2 _scanf("%f",&x); 3 j3 U& H4 s2 e3 c) _5 s

if(x

0 J  d, F# u9 S0 e) D    else if(x>=-1&&x<=1)  y=5*x+10;

( ~7 W' `6 g9 F/ t1 L" G5 B       else             y=12*x;

7 l& _4 R3 J- J9 ~# s2 u0 {printf("x=%f,y=%f",x,y);; p( L7 l# x* Q2 }6 |3 J9 t

}

, G: D& L; w0 |( j: K2、2 ?3 u7 M: H" U- c8 V

main()# T; z+ f4 O& c; x

{ int x; 9 a2 N2 O0 m$ w" Z

printf("please input a number\n");+ O) a" T6 o4 I9 i

scanf("%d",&x);

}3 A' t1 j8 a+ v     switch (x)

" X( N1 l3 V& w! W* G0 C5 ^) U" m+ b/ |      { case 1: printf("excellent\n");break; 3 ^$ x$ \) H1 K; z- K% D

case 2: printf("good\n");break; / G: i7 G0 R5 w

case 3: printf("pass\n");break;

* S( [  I5 S6 W      case 4: printf("fail\n");break; ! i# i: g: |  R) V

default : printf("error\n");

R" M( `! @4 c# w5 E6 q     }

+ Q. |( K$ k( t( z   }4 v3 P5 ~6 M- K

3、

) m: \9 t+ X5 [  xvoid yz(int n) + l# H* n' V" P/ Q% T

{ int i;

1 y  S5 K% A# z' T; M# w9 ?   for(i=1;i<=n;i++)/ s5 j: ~) r) l* \+ T

I f(n%i==0) printf("%5d",i);

; d6 ~8 u4 v6 {; O   return ;

- T6 Q7 w% A8 U  D: B: ^4 m  }3 y( f2 p6 _3 R" _2 R

. }, o; d( y+ f! V% p6 j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值