C语言考试试题(大一组)

2014-12-25 21:23:03

姓名:                               学校:
第一届C语言联考试题(大一组)
 
一、            选择题(每题4分)
1、以下选项中不合法的标识符是()
A、FOR
B、_00
C、print
       D、&&a
2、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是
A、i=a%11;
B、i=(a+k)<=(i+k);
C、i=!a;
     D、a=a++,i++;
    3、有以下程序
     #include  <stdio.h>
     main()
     {
       int s,t,A=10; double B=6;
        s=sizeof(A); t=sizeof(B);
        printf("%d,%d\n",s,t);
      }
    在VC++6.0平台上编译运行,程序运行后的输出结果是
       A、4,8
       B、4,4
       C、10,6
       D、2,4
    4、有以下程序
              #include<stdio.h>
       main()
       {
       int a, b,c, d;
       a=3;
       b=5;
       c=a,b;
       d=(a,b);
       printf("c=%d" ,c);
       printf("d=%d" ,d);
       }
    这段程序的输出是:
       a、c=3 d=3
       b、c=5 d=3
       c、c=3 d=5
       d、c=5 d=5
5、有以下程序
      #include  <stdio.h>
      main()
      {  int  c=0,k;
         for (k=1;k<3;k++)
           switch (k)
           { default:  c+=k;
             case 2: c++;break;
             case 4: c+=2;break;
           }
         printf("%d\n",c);
      }
程序运行后的输出结果是
      A、3
      B、2
      C、7
              D、5
二、填空题(每题4分)
       1、进制转换:0xc6=(____)2        709=(____)2
    2、请填写循环部分,要求能输出数组的每个元素。
              #include<stdio.h>
              main()
              {
                     int a[5]={1,3,5,7,9},i;
                     printf("a[5]={1,3,5,7,9}\n");
                     for(                      )
                     {
      
                     }
                     printf("\n");}
       3、以下程序输出结果是(  )。
              #include<stdio.h>
              main()
              {
              int x=15,a;
              for(a=0;a<x;++a);
              while(x--);
              printf("x=%d\n",x);
              }
       4、当执行一下程序段后,i的值是( )、j的值是( )、k的值是( )。
              #include<stdio.h>
              main()
              {
                     int a,b,c,d,i,j,k;
                     a=10;
                     b=c=d=5;
                     i=j=k=0;
                     for(;a>b;++b)i++;
                     while(a>++c)j++;
                     do k++;while(a>d++);
                     printf("j=%d i=%d k=%d\n",j,i,k);
                     }
       5、#include<stdio.h>
             main()
              {
                     int i,j,m=0;
                     for(i=1;i<=15;i+=4)
                            for(j=3;j<=19;j+=4)
                                   m++;
                            printf("%d\n",m);
              }
输出结果:
三、编程题(每题30分选做其中两道题道题,多做加分)
1、从键盘输入五个整数x,y,z,a,b,并按照从大到小的顺序输出。
2、编写一个程序,使输入一个字符串按反序存放,在主函数中输入字符串,            调用函数后输出。
3、一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿询问篮 子里有多少鸡蛋。那妇女说,她也不清楚,只记得每次拿两个只剩一个, 每次拿3个则剩两个,每次拿5个则剩4个,若一个鸡蛋0.4元,请你     帮忙编程计算应赔偿多少钱?
4、请编写一个算法:要求能计算出1-3+5-7…-99+101的值?
5、一个球从100m高度自由落下,每次落地
       后反跳回原高度一半,再落下,再反弹。求第10次落地时,共经过多少       米?第10次反弹多高?