rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » C/C++

C语言期中考试答案

《C程序设计》期中考试试卷

班级:            学号:            姓名:             成绩:

一、选择题(每题2分,共40分)

1.下列不正确的标识符是( B)。
A. _char          B. a?b            C. x             D. st2_flag

2. C语言的源程序( C)main函数。
A. 可以没有                         B. 可以有多个
C. 有且只有一个                     D. 若有,只有一个

3. 若有变量定义:char c; int i; float x;则表达式i+x-c*8的结果为( D)类型。
 A.float          B. int           C.char          D.double

4. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( C)。
A.2              B.6              C.8             D.7

5.下列字符中不属于转义字符的是(D )。
A. ‘\n’         B. ‘\t’         C.‘\b’         D. “\9”

6. 在内存中应该开辟( A)个字节来存放字符‘\n’.
A. 1              B. 2              C. 3             D. 4

7. 下面的(C )不是合法的C语言常量。
A. 123            B.‘M’           C. 0892          D. “Flag”

8. 在一个C程序中,main函数的位置(B )
A. 在最开头       B. 任意           C. 在最后        D. 在中间

9. 有变量说明int a=3;, 则表达式a<1&&++a>1的运算结果和a的值分别是(B )。
A. 0和4          B. 0和3          C. 1和4         D. 1和3

10. 设int x=5;, 则执行完语句a+=a-=a*a; 后,a的值是(D )。
A. -15            B. 5              C. 25            D. -40

11. 若已经定义x和y为double型变量,则表达式x=1,y=x+3/2的值是(C )。

A. 1              B. 2              C. 2.0           D. 2.5

12. 若有定义double x=3.5, y=2.5, z ; 则表达式z=(int)x+y的值是( A)。

A. 5.5            B. 5.0            C. 6             D. 6.0

13. 在C语言中,5种基本数据类型的存储空间长度的排列顺序为(A )。

   A.char < int < long <= float < double

   B. char = int < long <= float < double

   C. char < int < long  = float = double

   D. char = int = long <= float < double

14. C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C)。

   A. 必须为字母                       B. 必须为下划线              

C. 必须为字母或下划线               D. 可以是任意字符

15. 在C语言中,要求运算数必须是整型的运算符是(D )。

   A. /              B. ++             C. !=            D. %

16. 有如下定义和语句:int a,b;  scanf("a=%d,b=%d",&a,&b); 若想让a的值为10,b的值为20,正确的数据输入方式为(C )。

   A.10  20                           B. 10,20

   C. a=10,b=20                        D. a=10 b=20

17. 当a=3, b=2, c=1时,表达式 f=a>b>c的值为(A )。

   A. 0              B. 1              C. 2             D. 3

18. sizeof(float)的值为( D)。

   A. 1              B. 2              C. 3             D. 4

19. 若有代数式|x3+lgx|,则其对应的C语言表达式为( C)。

   A. abs(x*3+logx)                    B. abs(x^3+log10x)

   C. fabs(pow(x,3),log10x)            D. fabs(pow(x,3),logx)

20. 以下(A   )不是C语言的语句。

   A. x=x+1                            B. scanf("%d",&a);  

   C. {t=a; a=b; b=t;}                 D. ;        

二、程序阅读题(每题4分,共20分)

1、main()

  {  int a = 3;

     if (a = 2)

       printf("ok");

     else

       printf("hello");

运行结果为:          

2、main()

{  int a = 65;

 printf("%d,%c,%o",a,a,a);

运行结果为:          

3、main()

{  int i=3, j=4;

   printf("%d,%d",++i,j++);

运行结果为:          

4、main()

{  int a, b, c;

     a = 10; b = 20; c = 30; 

if ( a > b ) a = b;  b = c;  c = a;

     printf("%d,%d,%d",a,b,c);

运行结果为:          

5、main()

  {  int x=1,a=0,b=0;

     switch(x)

    {  case 1:  a++;        

       case 2:  a++; b++; break;

       default: b++;

 printf("a=%d,b=%d\n",a,b);

运行结果为:          

三、编程题(每题10分,共40分)

1、编程实现:输入圆柱体的半径和高,输出其体积。(已知圆柱体的体积公式为∏×r2×h)

2、输入一个三位数,输出其各位数字之和。

3、输入一个正整数,判断其是否既是5的倍数又是7的倍数。若是,输出yes;否则输出no。

4、有一函数:

                   x<-8

      y =    3x+6   -8≤x<0

             x2-9   x≥0

要求输入x,输出y的值。

参考答案

一、选择题

1-5: BCDCD   6-10: ACBBD   11-15: CAACD   16-20: CADCA

二、程序阅读题

1、ok     2、65,A,101    3、4,4     4、10,30,10    5、a=2,b=1

三、编程题

1、 # include <stdio.h>

    # define PI 3.14159

    void main( )

   {

      float r,h,v;

      printf(“请输入半径r和高h:”);

      scanf(“%f,%f”,&r,&h);

      v = PI * r * r * h;

      printf(“体积为%.3f\n”,v);

2、 # include <stdio.h>

    void main( )

   {  int n,x1,x2,x3,s;

      printf(“请输入一个三位数:”);

      scanf(“%3d”,&n);

      x1 = n/100;    /*百位数*/

      x2 = n/10%10;  /*十位数*/

      x3 = n%10;     /*个位数*/

      s = x1+x2+x3;

      printf(“%d\n”,s);

3、 # include <stdio.h>

    void main( )

   {

      unsigned num;

      printf(“请输入一个正整数:”);

      scanf(“%u”,&num);

      if (num%5==0 && num%7==0)

         printf(“yes\n”);

      else

         printf(“no\n”);

4、 # include <stdio.h>

    void main( )

   {

      float x,y;

      printf(“请输入x:”);

      scanf(“%f”,&x);

      if (x<-8)

         y=x/5;

      else if (x<0)

         y=3*x+6;

      else

         y=x*x-9;

      printf(“y=%.3f”,y);

顶一下
(0)
踩一下
(0)