 
             
	三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处。
	 
	第1题main()
	 
	{int a[3][4]={1,3,5,7,12,14,16,18,9,6,4,2},j,k,m,n,x;
	 
	x=m=n=0;
	 
	for(j=2;j>-1;j--)
	 
	for(k=0;k<4;k++)
	 
	if(x
	 
	printf(″a[%d][%d]=%d\n″,m,n,x);
	 
	}
	 
	输出结果为?
	 
	【正确答案】a[1][3]=18
	 
	第2题main()
	 
	{int x=2,y=-1,z=2;
	 
	if(x<y)
	 
	if(y<0)z=0;
	 
	elsez+=1;
	 
	printf(″%d\n″,z);
	 
	}
	 
	【正确答案】2
	 
	第3题struct st
	 
	{int i;
	 
	int j;
	 
	}*p;
	 
	main()
	 
	{struct st m[]={{10,1},{20,2},{30,3}},
	 
	p=m;
	 
	printf(″%d\n″,(*++p).j);
	 
	}
	 
	【正确答案】2
	 
	第4题main()
	 
	{static char a[]={′*′,′*′,′*′,′*′,′*′};
	 
	int i,j,k;
	 
	for(i=0;i<5;i++)
	 
	{printf(″\n″);
	 
	for(j=0;j
	 
	for(k=0;k<5;k++)printf(″%c″,a[k]);
	 
	}
	 
	【正确答案】*************************
	 
	第5题main()
	 
	{int n,k=1;
	 
	for(n=1;n<20;n++)
	 
	{k=1;
	 
	while(k<=n)
	 
	{if(n==k*k)
	 
	printf(″%d,″,n);
	 
	k++;
	 
	}
	 
	}
	 
	}
	 
	【正确答案】1,4,9,16
	 
	四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。
	 
	第1题图中空白处答案应为:___,___,___。
	 
	【正确答案】*(str+k)=fgetc(fp)k++*(str+k)
	 
	第2题下面函数将3个学生的数据存入名为“student.dat”的文件(二进制文件)。
	 
	#include″stdio.h″
	 
	#define SIZE 3
	 
	struct student
	 
	{long num;char name[10];int age;}stu[SIZE];
	 
	void fsave()
	 
	{FILE*fp;int i;
	 
	if((fp=fopen(″student.dat″,))==NULL)
	 
	{printf(″Cannot open file!\n″);exit(1);}
	 
	for(fwrite(&stu[i],___,1,fp)!=1)
	 
	printf(″File write error!\n″);
	 
	fclose(fp);
	 
	}
	 
	【正确答案】″wb″sizeof(struct student)
	 
	第3题下列程序是求短整型正整数的各位上的数字之和并输出。
	 
	main()
	 
	{short m,;
	 
	scanf(″%d″,&m);
	 
	while()
	 
	{s=s+m%10;
	 
	______
	 
	}
	 
	printf(″%d″,s);
	 
	}
	 
	【正确答案】s=0m!=0m=m/10
	 
	五、程序设计题(第1小题5分,第2、3小题各6分,共17分)
	 
	第1题输入一个字符串,按相反次序输出其中的所有字符。
	 
	【正确答案】#include main(){char a[80],*p=a,i;gets(p);for(i=strlen(p)-1;i>=0;i--)putchar(*(p+i));}
	 
	第2题编一个程序,取出一个字符串的左边n个字符组成新的字符串并输出。原字符串及n从键盘输入。本题要求用指向字符的指针来处理字符中的字符。
	 
	【正确答案】#include″string.h″main(){char a[100],b[100],*p_a=a,*p_b=b;int n,i;gets(p_a);scanf(″%d″,&n);for(i=0;i<=""td="">
	 
	第3题编程序按下列公式计算e的值(精度为1e-6)。
	 
	e=1+11!+12!+13!+…+1n!
	 
	【正确答案】#include#define N 3 main(){int i;float e=1,f=1;do{f=f*i;e=e+1/f;}while(1/f>1e-6);printf(″e=%f″,e);}