漳州师范大学真题

1.如果已知a = 1,b = 2,那么表达式!a & ltb的值是1。

2.如果有以下定义

双a[10];

那么数组A中元素下标的上限是0,下限是9。

1.下面这个程序的输出是2,1 main()。

{ int a=1,b = 2;a = a+b;b = a-b;a = a-b;printf("%d,%d\n ",a,b);

}

2.以下程序的输出是16.00,请填空。main() { int a=9,b = 2;float x= 6.6,y=1.1,z;z = a/2+b * x/y+1/2;printf("%5.2f\n ",z);}

3.下面这个程序段的输出结果就是地狱。main() { char b[]= "您好,您";b[5]= 0;printf("%s\n ",b);}

4.以下程序段的输出结果是passwarn。int n = ' cswitch(n++) {默认值:printf(" error ");打破;case ' A ':case ' A ':case ' B ':case ' B ':printf(" good ");打破;case ' C ':case ' C ':printf(" pass ");case ' D ':case ' D ':printf(" warn ");}

5.以下程序的输出是10。main() { int arr[ ]={30,25,20,15,10,5},* p = arrp++;printf(" % d \ n " ,*(p+3));}

6.下面的程序用于输出结构变量ex在存储单元中占用的字节数。请填空。struct ST { char name[20];双倍积分;};main(){ struct ST ex;printf("ex size: %d\n ",sizeof(struct ST));}

7.下面的程序运行后,会显示:c=377。

主()

{ float a = 365.7189;

int b=12,c;

c =(int)a+b;

printf("c=%d\n ",c);

}

8.下面的程序是用来输入5个整数存储在数组中,找出最大数和最小数的下标位置,并进行切换,然后输出调整后的5个数。

# include & ltstdio.h & gt

主()

{ int a[5],t,I,maxi,mini

for(I = 0;我& lt5;i++)

scanf("%d ",& ampa[I]);

mini = maxi = a[I];

for(I = 1;我& lt5;i++)

{

if(a[I]& lt;mini)mini = I;

if(a[I]& gt;a[maxi])maxi = I;

}

Printf("最小数的位置是:% d \ n ",mini);

Printf("最大位置是:% d \ n ",maxi);

t = a[maxi];

a[maxi]= a[mini];

a[mini]= t;

Printf("调整后的数字为:");

for(I = 0;我& lt5;i++)

printf("%d ",a[I]);

printf(" \ n ");

}

9.计算1+1/2+1/4+…+1/50的值并显示出来。

主()

{ int I = 2;

float sum = 1.0;

while(我& lt= 50 )

{ sum+= 1/(float)I;

I+= 2;

}

printf("sum=%f\n ",sum);

}

10.交换函数的调用语句是Exchange(&;一,& ampb & amp;c);。它按降序调整三个数,放入A、B、C三个变量中,A中的值最大,请填空。

void swap(int *pt1,int *pt2)

{ int t;

t = * pt 1;* pt 1 = * pt2;* pt2 = t;

}

无效交换(int *q1,int *q2,int *q3)

{ if(* Q3 & gt;*q2)互换(q3,Q2);

if(* q 1 & lt;*q3)互换(q1,Q3);

if(* q 1 & lt;*q2)互换(q1,Q2);

}

11.表达式条件:10