XX 大学 C 语言程序设计 期末考试 A 卷及参考答案
课程名称 考试日期
考生姓名 学号 专业或类别
题号 一 二 三 四 五 总分 累 分 人
签名
题分 20 10 15 30 25 100
得分
考生注意事项:1、本试卷共 页,请查看试卷中是否有
2、考试结束后,考生不得将试卷、答题纸 稿纸带出考场。
教师注意事项:如果整门课程由一个教师评卷的,只需在累分人栏目签名,题首的评卷人栏 目可不签名
一、单项选择题(每小题 2 分,共 20 分)
得分 评卷人
1、以下选项中不合法的 识符是( )
A) _123 B) A$ C) printf D) Dim
2、定义 int i; float f; 表达式 i*f+’c’-20 的值是( )类型
A) float B) int C) char D) doudle
3、两个指针变量不可以( )。
A) 比较 B) 相加 C) 相减 D) 指向同一地址
第 1 页 共 10 页
4、程序中定义:
char str[]="abcdefg";
char *ps="hijklmn";
合法的语句组合是( )
A) str[2]=‘x’; ps[2] =‘x’; B) ps[2] =‘x’; ps = str;
C) str = ps; str[2] =‘x’; D) str[2] =‘x’; ps = str;
5、在 C语言中,要求运算数必须是整型的运算符是 ( )
A) / B) % C) < D) !
6、以下程序的输出结果是( )
#define ADD2(x) x+x
void main()
{ int a=3,b=4,c=10,d=ADD2(a+b)*c;
printf("d=%d",d);
}
A) d=50 B) d=70 C) d= 7 D) d=140
7、已知有共用体变量 定义如下:
un on message
{ int i;
char c ;
double d;
} data1;
则变量 data1所占的内存存储空间可表示为( )
A).sizeof(int) B).sizeof(char)
C).sizeof(double) D).sizeof(int)+sizeof(char)+sizeof(double t)
第 2 页 共 10 页
8、以下程序的输出结果是( )。
#include
void main(void)
{
int a = 0, i;
for (i=1; i<5; i++){
switch ( i ) {
case 0:
case 3: a += 2;
case 1:
case 2: a += 3;
default: a += 5;
}
}
printf(“%d\n”, a);
}
A) 10 B) 13 C) 20 D) 31
9、以下程序的输出结果是( )
#include
void main(void)
{
int a = , b = 2, c = 3;
printf(“%d”, c>b>a);
}
A) 0 B) 1 C) 2 D) 3
10、已知:int x;int y[10];下列( )是合法的。
A) &x B)&(x+3) C)&5 D) &y
第 3 页 共 10 页
二、填空题(每小题 2 分,共 10 分)
得分 评卷人
1、结构化程序由__________、__________和__________三种基本结构组成
2、下列程序段的输出结果是_____________________。
char *st[ ]={"987654321","7890","abcdefgh","i klmnop"};
printf("%s", *(st+3)+3);
3、设 x是 double型变量,请写出判断 x值是否 区间[10.0, 30.0]的关
系表达式:
____________________________________
4、表达式 5.5+1/2的计算结果是________________________。
5、以下程序的运行结果是________________________。
void main()
{
nt x,y,z;
x=1 z=0;
y = siz of(--x) ;
x=x||y&&z;
printf("%d ",x);
}
第 4 页 共 10 页
三、阅读程序(每小题 5 分,共 15 分)
得分 评卷人
1、阅读程序,并给出程序的执行结果。
#include
void main()
{ int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d%d%d\n",k,a,b);
}
以上程序的运