姓名: 学校:
第一届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次反弹多高?