长安大学20 06 -20 07 学年第 二 学期 试题(A)卷
课程名称
C语言程序设计
考试日期
2007年
共 题
学生姓名
学院
班级
学号
注意:所有答案均写在答题纸上
一、选择题(每题2分,共60分)
1.下列叙述不正确的是 。
A.一个C语言程序可由一个或多个函数组成
B.一个C语言程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中, 注释说明只能位于一条语句的后面
2.下列4个选项中,均是不合法常量的选项是 。
A.’as’ B.’\\’ C.-0x18 D.0xabc
-0ffff ‘\01’ 01177 ‘\
‘\0xa’ 12456 0xf “a”
3.表达式1/5+3%4+4.5/5的值是 。
A.1.1 B.3.8 C.3.9 D.1.85
4.执行下列语句的结果是 。
i=3;
printf(”%d,”,++i);
printf(“%d”,i++);
A.3,3 B.3,4 C.4,3 D.4,4
5.若x、y均定义为int型,z 定义为double型,以下不合法的scanf函数调用语句是 。
A.scanf(“%d%x,%f”,&x,&y,&z); B.scanf(“%2d%*d%f“,&x,&y,&z);
C.scanf(“%d%*d%o”,&x,&y); D.scanf(“%x%o%f“,&x,&y,&z);
6.有以下程序
main()
{int x=-1,y=4,k;
k=(x++<=0)||(!(y--<=0))
printf(“%d %d %d”,k,x,y);}
程序运行后的输出结果是 。
A.1 0 4 B.1 0 3 C.0 1 2 D.1 1 2
7.有以下程序
#include
#define M(x,y,z) x*y+z
main()
{int a=1,b=2,c=3;
printf(“%d\n”,M(a+b,b+c,c+a));}
程序执行后的输出结果是 。
A.19 B.17 C.15 D.12
第 1 页(共 7 页)
8.若有以下说明,变量our所占存储单元字节数是 。
union{long a[2];
int b[4];
char c[8];
}our;
A.8 B.16 C.32 D.24
9.执行下面的程序后,a的值是 。
main()
{int a,b;
for(a=1,b=1;a<=50;a++)
{if(b>=10) break;
if(b%3==1) {b+=3;continue;}
b-=5;
}
printf(“%d\n”,a);}
A.2 B.3 C.4 D.
10.以下正确的定义语句是 。
A.int a[1][4]={1,2,3,4,5}; B.double y[ ][3]={{0},{1}};
C.long b[2][3]={{1},{1,2},{1,2,3}}; D.float x[3][ ]={{1},{2},{3}};
11.下面程序段的运行结果是 。
char c[]=“\t\b\\\0will\n”;
printf(“%d”,strlen(c));
A.14 B.3 C.9 D.字符串中有非法字符,输出值不确定
12.下面程序的运行结果是 。
#include
main()
{char a[]=“morning”,t;
int i,j=0;
for(i=1;i<7;i++)
if(a[j]
t=a[j];a[j]=a[7];a[7]=a[j];
printf(“%s”,a);
}
A. mogninr B. mo C. morning D.