漳州师范大学真题
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