结构体及文件习题答案
结构体及文件习题答案
1. 有以下程序
struct tt
{int x;struct tt *y;} *p;
struct tt a[4]={1,a+1,2,a+2,3,a+3,4,a};
main()
{ int i;
p=a;
for(i=1;i<=3;i++) {printf("%d,",p->x); p=p->y;}
}程序的运行结果是( ) 1,2,3,
2. 有以下程序
#include
#include
typedef struct{ char name[9];char sex; float score[2]; } STU; STU f(STU a)
{ STU b={"Zhao",'m',85.0,90.0}; int i;
strcpy(https://www.360docs.net/doc/dd1935692.html,,https://www.360docs.net/doc/dd1935692.html,);
a. sex=
b.sex;
for(i=0;i<2;i++) a.score[i]=b.score[i];
return a;
}
main()
{STU c={"Qian",'f',95.0,92.0},d;
d=f(c);
printf("%s,%c,%2.0f,%2.0f\n",https://www.360docs.net/doc/dd1935692.html,,d.sex,d.score[0],d.score[1]); }
程序的运行结果是( ) Zhao,m,85.0,90.0
3. 有以下程序
#include
main()
{FILE *fp; int a[8]={2,4,6,8},i;
fp=fopen("d2.dat","wb");
fwrite(a,sizeof(int),4,fp);
fwrite(a,sizeof(int),4,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),8,fp);
fclose(fp);
for(i=0;i<8;i++) printf("%3d",a[i]);
}
程序的运行结果是( ) 2 4 6 8 2 4 6 8
4. 有以下程序,其功能是:以二进制“写”方式打开文件d1.dat,写入1~100这100个整数后关闭文件。再以二进制“读”方式打开文件d1.dat,将这100个整数读入另一个数组b中,并打印输出,请填空。
#include
main()
{ FILE *fp;
int i,a[100],b[100];
fp=fopen("d1.dat","wb");
for(i=0;i<100;i++) a[i]=i+1;
fwrite(a,sizeof(int),100,fp);
fclose(fp);
fp=fopen("d1.dat",【20】); “rb”
fread(b,sizeof(int),100,fp);
fclose(fp);
for(i=0;i<100;i++) printf("%d\n",b[i]);
}
5. 有以下程序
#include
main()
{ FILE *pf;
char *s1="China",*s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,l,pf);
rewind(pf); /*文件位置指针回到文件开头*/
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序执行后abc.dat文件的内容是()。Chinang