二、填空題(每小題2分,共20分)
21.如果在定義局部變量時省略了存儲類型符,則默認(rèn)的類型是________。
22.利用運(yùn)算符__ __,下列兩個語句
b=5+a;a-=1;
的功能可以僅由一個語句實現(xiàn),這個語句是________。
23.“n是小于整數(shù)m的偶數(shù)”的C語言表達(dá)式是________。
24.定義函數(shù)時,若函數(shù)的類型缺省,則函數(shù)的默認(rèn)類型是________。
25.語句for(i=1;i==1;i++);循環(huán)的次數(shù)是________。
26.在C語言中,優(yōu)先級最低的運(yùn)算符是________。
27.設(shè)
union
{
int a;
char c[99];
}b;
則sizeof(b)的值是________。
28.設(shè) int a[10]={1,2,3};則*(a+3)的值是________。
29.設(shè)short a[3][4];如果數(shù)組a首地址為2000,則a+1的地址是________。
30.設(shè) int a [2][4],(*p)[4]=a;用指針變量p表示數(shù)組元素a[1][2]為________。
三、程序分析題(每小題5分,共25分)
閱讀下列程序,將輸出結(jié)果寫到各題右側(cè)的空白處
31.min()
{ int a =10,i=1,j=2;
printf(″%d,%o,%x\n″,a,a,a);
printf(″i=%d\n″,i++);
printf(″%c\n″,i==j?′A′:′B′);
}
32.main()
{ int k; char a[]=″LANGUAGE″,b[]=″PROGRAM″;
char *p=a,*q=b;
for(k=0;k<=5;k++)
if(*(p+k)==*(q+k)) printf(″%c″,*(q+k));
}
33.main()
{ int a,b,c;
a=10;b=20;c=30;
a=(--b<=a)||(a+b!=c);
printf(″%d,%d\n″,a,b);
}
34.int x=30,y=50;
sub(int x, int y)
{
y-x>y? x:y;
return y;
}
main*()
{
{
int x=100;
printf(″%d\n″,sub(x,y));
}
printf(″%d,%d\n,x,y);
}
35.f()
{
int x=1;
return x++;
}
g()
{
static int x=1;
return x++;
}
main()
{
int i,a=0,b=0;
for(i=0;i<5;i++)
{
a+=f();
b+=g();
}
printf(″a=%d\nb=%d\n″,a,b);
}
21.如果在定義局部變量時省略了存儲類型符,則默認(rèn)的類型是________。
22.利用運(yùn)算符__ __,下列兩個語句
b=5+a;a-=1;
的功能可以僅由一個語句實現(xiàn),這個語句是________。
23.“n是小于整數(shù)m的偶數(shù)”的C語言表達(dá)式是________。
24.定義函數(shù)時,若函數(shù)的類型缺省,則函數(shù)的默認(rèn)類型是________。
25.語句for(i=1;i==1;i++);循環(huán)的次數(shù)是________。
26.在C語言中,優(yōu)先級最低的運(yùn)算符是________。
27.設(shè)
union
{
int a;
char c[99];
}b;
則sizeof(b)的值是________。
28.設(shè) int a[10]={1,2,3};則*(a+3)的值是________。
29.設(shè)short a[3][4];如果數(shù)組a首地址為2000,則a+1的地址是________。
30.設(shè) int a [2][4],(*p)[4]=a;用指針變量p表示數(shù)組元素a[1][2]為________。
三、程序分析題(每小題5分,共25分)
閱讀下列程序,將輸出結(jié)果寫到各題右側(cè)的空白處
31.min()
{ int a =10,i=1,j=2;
printf(″%d,%o,%x\n″,a,a,a);
printf(″i=%d\n″,i++);
printf(″%c\n″,i==j?′A′:′B′);
}
32.main()
{ int k; char a[]=″LANGUAGE″,b[]=″PROGRAM″;
char *p=a,*q=b;
for(k=0;k<=5;k++)
if(*(p+k)==*(q+k)) printf(″%c″,*(q+k));
}
33.main()
{ int a,b,c;
a=10;b=20;c=30;
a=(--b<=a)||(a+b!=c);
printf(″%d,%d\n″,a,b);
}
34.int x=30,y=50;
sub(int x, int y)
{
y-x>y? x:y;
return y;
}
main*()
{
{
int x=100;
printf(″%d\n″,sub(x,y));
}
printf(″%d,%d\n,x,y);
}
35.f()
{
int x=1;
return x++;
}
g()
{
static int x=1;
return x++;
}
main()
{
int i,a=0,b=0;
for(i=0;i<5;i++)
{
a+=f();
b+=g();
}
printf(″a=%d\nb=%d\n″,a,b);
}

