C语言程序设计试卷b(07级)标准答案
2008 ─2009 学年 第 1 学期
《 C语言程序设计 》课程试卷(B卷)
专业: 年级: 考试方式:闭卷 学分:3.5 考试时间:120 分钟
一、选择题(每小题2分,共26分)
1. 设有语句:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;以下对数组a
中的数组元素的不正确引用是( D )。
A a[p-a] B *(&a[i]) C p[i] D *(&(a+i))
2. 下列程序的输出结果是( A )
#include
#define MIN(x,y) (x)
main()
{ int i,j,k;
i=10;j=15;
k=10*MIN(i,j);printf(“%d\n”,k);}
A 15 B 100 C 10 D 150
3. 以下描述中不正确的是( B )。
A 数组是一批类型相同的若干个元素的集合
B 数组的各个元素的类型可以不同
C 数组在内存中占用一块连续的存储空间
D 数组是一种构造类型
4.可用作C语言用户标识的一组标识符( B )。
A viod B a3_b3 C For D 2a
define _123 -abc DO
WORD IF Case sizeof
5. 已知i,j,k为int 型变量,若从键盘输入1,2,3回车,使i的值为
1,j的值为2,k的值为3,以下选项中正确的输入语句是( C )。
A scanf(“%2d%2d%2d”,&i,&j,&k);
B scanf(“%d%d%d”,&i,&j,&k);
C scanf(“%d,%d,%d”,&i,&j,&k);
D scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
6. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是( A )。
A if(x>0) y=1; B if(x)
else if(x<0) y=-1; if(x>0) y=1;
else y=0; else if(x<0) y=-1;
else y=0;
C y=-1; D y=0;
if(x) if(x>=0)
if(x>0) y=1; if(x>0) y=1;
else if(x==0)y=0; else y=-1; else y=-1;
7. 下列程序输出的结果是( A )。
main()
{ 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 31 B 13 C 10 D 20
8.下列程序中,while循环次数是( D )。
main()
{ int i=0;
while(i<10){
if(i<1)continue;
if(i==5)break;
i++;}}
A 1 B 10 C 6 D 死循环,不能确定次数
9. 以下说法中正确的是( C )。
A C语言程序总是从第一个函数开始执行
B 在C语言程序中,要调用的函数必须在main()函数中定义
C C语言程序总是从main()函数开始执行
D C语言程序中的main()函数必须放在程序的开始部分
10. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( B )。
A 地址传递 B 值传递 C 由用户指定传递方式
D 由实参传给形参,并由形参传回来给实参
11.设有:int[10],i=5;,以下对数组元素引用不正确的是( D )。
A a[9]