else printf("###a=%d,b=%d,c=%d\n",a,b,c);
4、有如下定义 a[]="B\172\\\'a%%";则执行语句 printf("%d",strlen(a));的结果为。
5、若有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;
for(i=0;i<4;i++) p[i]=&a[i*3];则*(*(p+1)+2)的值为,*p[2]的值为
。若数组的首地址为 2000,则 p[1]指向的地址为 。
6、设 a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y 的结果是 。
7、设 x、y 都是 int 型变量,初值都为 1,则执行表达式:--x&&y++后,y 的值为。
8、语句 for(i=1;i==10;i++)continue;循环的次数是 。
9、以下程序输出 。
main()
{enum em {em1=3,em2=1,em3};
char *aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
三、 写程序结果(每题 5 分,共 35 分)
1、#include
main()
{int x,y,z;
x=1,y=2,z=3; x+=y+=z;
printf("1:%d\n",z+=x>y?x++:y++);
x=0x02ff;y=0xff00;
printf("2:%d\n",(x&y)>>4|0x005f);
x=y=z=-1; ++x||++y&&++z;
printf("3:%d,%d,%d\n",x,y,z);
}
2、#define f(x) x*x
main()
{int a=6,b=2,c;
c=f(a+b)/f(b);
printf(“%d\n”,c);
}
3、fun(int k)
{ printf("%d",k);
if(k>0)
fun(k-1);
}
main( )
{ int w=5; fun(w); printf("\n"); }
4、#include
main()
{int x=1,y=0;
switch(x)
{ case 1:
评论0
最新资源