当前位置:文档之家› 武汉理工大学C语言试卷_(上)

武汉理工大学C语言试卷_(上)

三.判断改错(对打“√”,错打“×”并改正或说明错误原因,每小题2分,共10分)
1.若有int x=1;float y; 则执行y=(float)x;x=(float)x;后,变量x和y所具有的值的类型、大小一样。

错,类型不一致
2.char str1[ ]={‘H’,’o’,’w’, ‘ ’,’a’, ‘r’,’e’, ‘ ‘,’y’,’o’, ‘u’ }; s数组有12个元素,且s[11]为’\0’。

错,s数组有11个元素,且s[10]为’u’,s[11]不确定。

3.若有float b[3][4];则相应的键盘输入语句应写为:
for(i=0;i<3;i++) for(j=0;j<4;j++) scanf(“%f”,&b[0][4*i+j]);,
即用数组元素偏移量表示法。


4.将unsigned int型赋值予long型变量时,Turbo C采用算术符号扩展。

错,Turbo C采用逻辑扩展
5.while语句中的表达式只能是关系表达式或者逻辑表达式。

错,可以是任意表达式
四.阅读下列各程序,写出其运行结果(共20分)运行时,输入你的姓氏的汉语拼音,结果是什么?#include "stdio.h"
#include "string.h"
main()
{ char t,a[20];
int i,j,s;
gets(a);
s=strlen(a);
printf("%s",a);
t=a[0];
for (i=1;i<s;i++)
t=t>a[i]?t : a[i];
printf("%c\n",t);
}
输出该汉语拼音并输出ASCII码值最大的字母
3. main()
{ int a[3][3]={1,3,5,9,7,2,4,6,8},i,j,m,mi,mj; m=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(m<a[i][j]){m=a[i][j];mi=i;mj=j;}
printf("a[%d][%d]=%d\n",mi,mj,a[mi][mj]); }
a[1][0]=9
5. #define N 9
main()
{ int i,s=0,a[N]={1,2,3,4,5,6,7,8,9};
for(i=0;i<6;i++)
s+=a[i];
printf("%f %d\n",s/2.0,s);
}
10.500000 21
2.任意给定20个各不相同的整数,编程完成以下
功能:(10分)
①计算平均值、找出最大值和最小值,并输出。

②按降序排序并输出。

2.main()
{ int a[20],i,j=0,max,min,t;
float aver;
scanf("%d",&a[0]);aver=a[0];
max=a[0];min=a[0];j=a[0];
for(i=1;i<20;i++)
{ scanf("%d",&a[i]);
aver+=a[i];
if(a[i]>max)max=a[i];
if(a[i]<min)min=a[i];
}
aver=aver/20;
printf("aver=%f max=%d min=%d\n",aver,max,min); for(i=0;i<19;i++)
for(j=i+1;j<20;j++)
if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<20;i++) printf(" %d ",a[i]);
}
3.long jc(int n) {
static long t=1;
t*=n+1;
return t;
}
main()
{
int i,t=1;
float sum=0;
for(i=1;i<=10;i++)
{ sum+=(float)i*t/ jc(i); t=-t;
}
printf(" %f ",sum);
}。

相关主题