四、简答题(本大题共4小题,每小题3分,共12分)
36.简述Turbo C 2.0系统中,在主菜单File下选用Quit命令的作用。
37.请用if…else if…结构写出下面函数所对应的C语句程序段。
38.定义char str[12]=″programming″;可以写成char str[12];str=″programming″;吗?为什么?
39.简述fgetc和fgets函数的作用。它们的使用格式如下:
fgetc(fp);/*fp为文件指针*/
fgets(str,n,fp);/*str为字符串首址,n为整型数,fp为文件指针*/五、阅读分析题(本大题共7小题,每小题4分,共28分)
40.阅读下面程序,写出运行结果:
main()
{ int i=3,k;
k=i+i+i;
printf(″k=%d,i=%d″,k,i);
}
41.阅读下面程序,写出运行结果:
main()
{ int x,a=0,b=0;
x=3;
switch(x)
{ case1:a++;b++;
case2:++a;++b;
case3:a+=;b+=1;
case4:a+=b;
}
printf(″a=%d,b=%dn″,a,b);
}
42.阅读下面程序,写出程序运行结果:
main()
{ int j,k;
for (j=0;j<=2;j++)
{ printf(″%2d″,j+1);
for(k=0;k printf(″%2d″,(j+1)*(k+1));
printf(″n″);
}
}
43.阅读下面程序,写出运行结果:
long sum(n)
int n;
{
if(n==1) return 1;
else return(n+sum(n-1));
}
main()
{
printf(″y=%dn″,sum(3));
}
44.阅读下面程序,写出运行结果:
int m=1;
void f()
{ int n=0;
static int s=0;
s++;n++;m++;
printf(″%d,%d,%dn″,m,n,s);}
main()
{f();m=3;f();}
45.阅读下面程序,写出运行结果:
main{}
{ int a[5]={1,2,3,4,5},* p,s=0;
p=a;p++;
while(*p<=a[3])
{ s+=*p;
printf(″%3d″,*p++);}
printf(″n″);
printf(″s=%d″,s);}
46.阅读下面程序,并回答相关问题:
struct number
{ int num;
struct number *next;
}*head=NULL;
void create()
{
struct number *ptr;
int x;
scanf(″%d″,&x);
while(x)
{
ptr=(struct number *)malloc(sizeof(struct number);
pty→num=x;ptr→next=head;head=ptr;
scanf(″%d″,&x);
}
}
请说明ptr=(struct number*)malloc(sizeof(strct number))的作用。
六、程序设计题(本大题共2小题,第47题8分,第48题12分,共20分)
47.输入20个整数,计算正数的平均值以及负数的和,并输出结果(设正数的个数大于零)。
48.设有5×5浮点型数组y(5×5表示5行5列)。要求:
(1)从键盘输入25个浮点数对数组y赋初值。
(2)查找该数组中数值最大的元素和其行、列下标。
(3)依次将数组y中的数据、最大值、最大值元素的行下标和列下标写到当前目录下的二进制文件abc.txt中。