分享

C语言期中考试题

 职中丁雪 2016-12-02

一、选择题:(30分)

1. 在每一个C程序中都必须包含一个名为(    )的函数.

A. main      B. MAIN       C. name D. function

2. 以下叙述正确的是 (   ).

A. C程序中注释部分可以出现在程序中任意合适的地方

B. 花括号{和}只能作为函数体的定界符

C. 构成C程序的基本单位是函数, 所有函数名都可以由用户命名

D. 分号是C语句之间的分隔符, 不是语句的一部分

3. 若有定义int a; 变量a占用内存的2个字节, 则a所能存储数据的最小值是(   ).

A. 0    B. -32767         C. -32768        D. -65535

4. 在下列4组八进制和十六进制数中, 全部正确的是(   ).

A.123   089   0x23af   0xbd B. 0a21   056   0xabc   0x789

C.010   052   0xdfa    0xff14     D. 0x123  0283  0xabc  0x25f

5.  设有定义int x=8,y,z; 执行y=z=x++; x=y==z;后,变量x的值是(   ) 

A. 0 B. 1 C. 8 D. 9

6.  能正确表示关系3<x<5的语句是(    )

      A. x>3 and x<5   B. 3<x<5       C. X>3||X<5     D. x>3&&x<5

7. 下面表达式正确的是(    )

      A. a+b=5      B. 56=a11       C. 5.6+6.2%3.1     D. a=5,b=6,c=7

8.  已知a为整型变量,表达式a!=0真假情况不同的表达式是(    )

      A. a>0||a<0 B. a C. !a==0   D. !a

9. 下面程序的输出结果是(    )

     main()

{ int x=\23;

printf(%d\n,--x);      }

A. 19 B. 18 C. 23 D. 24

10. 以下运算符优先级别最低的是(    )

A. ++ B.  , C. ?: D. /

11. 下面程序如果在运行时输入18,18,那么b的值是(   )

      main()

     { int a,b;

scanf(%d,%o,&a,&b);

b+=a;

printf(%d,b);   }

     A. 36 B. 34       C. 输入错误,b的值不确定 D. 18

12. 有以下程序,执行后输出的结果是(    )

main()

{ int a=5,b=4,c=3,d=2;

if(a>b>c)

printf(%d,d);       }

    A. 2   B. 无输出   C. 5    D. 有语法错误,编译不能通过

13. 执行下面程序段的输出结果是(    )。

     int x=4, y=-55;

     if(x>0) if(y>0) printf(AA);  else  printf(BB);

     A. AA B. BB C. 无输出 D. 程序错误

14.以下程序的输出结果是(    )。

     main()

     { if(2==3-1<=8!=4*3)

printf(true\n);

else printf(false);      }

     A. true B. false  C. T D. F

15.选择i正确的运行结果是(     )

int i=10;

switch(i)

{ case 9: i+=1; break;

case 10: i+=1; break;

case 11: i+=1;

default: i+=1;  }

A. 10 B. 11 C. 12 D. 13

二、填空题(30分)

1. 设变量num和变量x的数据类型均为float, num的值为2.5, 则执行语句x=(int)num+3.2E-1;后, num的值为______,x为_______。                                

2. C语言规定: 在每一个字符串结尾加上个______,以便根据此判断是否结束。

3. 当a=6,x=6.8,b=4时,表达式x+a%7(int)x+8/3+b的值是 _____

4. 执行int x=4,y; y=x--+3; 语句后,变量x的值是 , y 的值是  

5. 在C语言中逻辑运算符的优先级 算术运算符.

6. 若有语句int i=-19,j=i%4; printf(%d,j); 则输出的结果是 .

7. C语言规定了运算符的优先级和结合性, 其结合性分为 .

8. 在C语言中, 数据类型分为基本数据类型和 ,基本数据类型包括整型, 和字符型3种.

9. 若有定义int i=10,j=0; 则执行完语句if(j=0) i++; else i--; 后i的值为 .

10. 分支语句if(x>=y)max=x; else max=y; 用含条件运算符的赋值语句表示为 .

11. 执行循环结构或switch结构中的 语句能够立即退出该结构.

三、写出下面程序的运行结果(12分)

1. 下面程序在执行后, 屏幕上显示

main()

{ int a; float b;

a=4; b=9.587;

printf(a=%d, b=%4.2f\n,a,b);     }

2. 有下面程序段, 若输入5和2:结果为

#include<stdio.h>

    main()

{ int s,t,a,b;

scanf(%d,%d,&a,&b);

s=1;   t=1;

if(a>0)   s=s+1;

if(a>b)   t=t+s;

else  if(a==b)   t=5;

else  t=2*s;

printf(s=%d, t=%d\n, s, t );     }

3. 下面程序的运行结果是

main()

{ int I;

for(i=1; i<=5;i++)

{

if(i%2)  printf(*);

else continue;

printf(#);       }

printf($\n);

    }

四、补全程序(20分)

1. 从键盘上输入一个正整数, 求这个数的阶乘。

main()

{ int n,i1,p;

Scanf(%d,&n);

For( , i1<=n; i1++)

                                ;

printf(n=%d,n!=%d\n,n,p);     }

2. 有以下程序段:

     s=1.0

for(k=1; k<=n; k++)  s=s+1.0/(k*(k+1));

printf(%f\n,  s);

使下面程序段的功能与上面完全等同。

s=0.0;

k=0;

do

{   s=s+d;

   

d=1.0/(k*(k+1));

}while ;

printf(%f\n,s);

五、编程题(8分)

1.键盘输入20个数,求它们的平方和。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多