首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
admin
2015-12-22
76
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 5
typedef struct student{
long srlo;
char name[10];
float score[3];
}STU;
void fun(char *filename,STU n)
{FILE *fp;
/**********found**********/
fp=fopen(___1___,"rb+");
/**********found**********/
fseek.(___2___,-(long)sizeof(STU),SEEK__END);
/**********found**********/
fwrite(&n,sizeof(STU),1,___3____);
fclose(fp);
}
main()
{STU t[N]={{10001,"MaChao",91,92,
77},{10002,"CaoKai",75,60,88),
{10003,"LiSi",85,70,78),{10004,
"FangFang",90,82,87.},{10005,
"ZhangSan",95,80,88}};
STU n={10006,"ZhaoSi",55,70,68},
ss[N];
int i,j;FILE *fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),N,fp);
fclose(fp);
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),N,fp);
fclose(fp);
printf("\nThe original data:\n\n");
for(j=0; j
{ printf("\nNo:%1d Name:%-8sScores:",ss[j].sno,ss[j].name);
for (i=0j i<3; i++) printf
("%6.2 f",ss[j].score
);
print:f("\n");
}
fun("student.dat",n);
printf("\nThe data after modifing:\n\n");
fp=fopen("student.dat","rb");
fread(ss,siZeof(STU),N,fp);
fclose(fp);
for(j=0;j
{Printf("\nNo: %1d Name: %-8s
Scores:",ss[j].sno,ss[j].name);
for (i=0; i<3; i++)printf
("%6.2 f",s S[j].scoEe
);
printf("\n");
}
}
选项
答案
(1)filename (2)fp (3)fp
解析
第一空:“fp=fopen(__1__,"rb+");”补充fopen的参数,fopen的调用形式是:fp=fopen(文件名,文件使用方式),因此第一空处应填文件名“filename”。
第二空:此处是补充fseek函数的参数,fseek的调用形式是:fseek(fp,offset,position),其中第一个参数是文件型指针,故第二空处应填文件型指针变量“fp”。
第三空:fwrite的调用形式是(buffer,size,count,fp),最后一个参数是文件型指针,故第三空处应填“fp”,将新的学生数据写在最后一个学生数据位置。
转载请注明原文地址:https://kaotiyun.com/show/qXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。main(){floata,b
下面程序的输出结果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}
若变量已正确定义,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是
在C语言中,下列关于文件操作的叙述正确的是()。
下列语句中,在字符串s1和s2相等时显示“theyareEqual”的是()。
下列循环体的执行次数是()。#include<stdio.h>main(){inti,j;for(i=0,j=1;i<j+1;i+=1,j--)printf("%d\n",j);}
下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)
数据结构分为逻辑结构与存储结构,线性链表属于【】。
在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法,这称为对象的______。
随机试题
李将军广者,陇西成纪人也。天子使中贵人(按:中贵人即宦官)从广勒习兵击匈奴。中贵人将骑数十纵,见匈奴三人,与战。三人还射,伤中贵人,杀其骑且尽。中贵人走广。广曰:“是必射雕者也。”广乃遂从百骑往驰三人。广身自射彼三人者,杀其二人,生得一人,果匈奴射雕者也。
生殖器邻近器官有
我国建立社会主义市场经济体制的中心环节是()。
杜威认为,学校生活的组织中心是()
下列诗句所描述的地理位置对应错误的一项是()。
扶贫,粗略地说,有两个责任主体。一个是党和政府,另一个是贫困户自身。后者的责任平时说得少,其实,要改变命运,自己不奋斗、不拼搏,怎么可能实现呢?政府可以开拓融资渠道、给技术支持、给创业就业环境,但具体怎么用好这些条件,离不开贫困户自身努力。政策再好,不伸手
Ascientistwhodoesresearchineconomicpsychologyandwhowantstopredictthewayinwhichconsumerswillspendtheirmoney
A、Toconsultfriendswhohavetravelledbefore.B、TosearchontheInternet.C、Towatchacolourmovie.D、Toreadtravelbooks.
BritainwillfailtomeettargetssetbytheEuropeanEconomicCommunity(EEC)forreducingairpollutionunlessthegovernment
A、Hisownticketfortheconcert,B、Ellen’sticketfortheconcert.C、Theirtripinthesummervacation.D、Thesupperforhiman
最新回复
(
0
)