2003级信息学院《C语言程序设计》考试试题及答案
一。 判断下列语句或程序的对错。(“&TImes;”表示错,“√”表示对)(10分)
1 int x=y=z=20; ( &TImes; ) y,z需要在前定义
2 #define M 50; ( &TImes; ) 不能有分号
3 printf(“%\t”,(40,50,60)); ( √ )
4 float a[100],*p;
p=a++; ( &TImes; ) 数组名是地址常量,不能做++操作
5 char str[20];
str[20]=0; ( × ) str[20]单元不可用
6 int data[4]={0,1,2,3,4}; ( × ) 0,1,2,3,4是5个元素,与data[4]不匹配
7 int x=’\014’; ( √ )
8 int xyz.1=2; ( × ) xyz.1不是合法的标识符(变量名)
9 char *p=”c:\test\prg.c”; ( × ) 修改为c:\\test\\prg.c
10 int *p;
*p=20; ( × ) 指针不能用常量进行赋值
二。 计算下列表达式的值 (10分)
设unsigned int a=15,b=21,c=5,d=1;
float f;
(1) f=b/c ( 4.0 ) b/c是整数除,先得到4,然后赋值给f
(2) !(a+b)+c-1&&b+c/2 ( 1 )
(3) a^b+b&0x55+c《《3|015 ( 0x000f )
(4) d*=c--%b++ ( 5 )
(5) a%=(c%=2) ( 0 )