首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
admin
2020-11-27
80
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 5
typedef struct student{
long sno;
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]=f{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:%ld Name:%一8s
Scores:",ss[j].sno,ss[j].name);
for (i=0; i<3; i++)Printf
("%6.2f",ss[j].score
);
printf("\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.2f",ss[j].score
);
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,fb),最后一个参数是文件型指针,故第三空处应填“fp”,将新的学生数据写在最后一个学生数据位置。
转载请注明原文地址:https://kaotiyun.com/show/XK3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数字字符0的ASCII值为48,若有以下程序,程序运行后的输出结果是main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-a);}
以下语句中存在语法错误的是
若inti,k,则关于for(i=0,k=一1;k=1;k++)printf(’’*****\n’’);语句执行情况的叙述中正确的是()。
学院的每名教师只能属于一个系,则实体系和实体教师间的联系是
下列叙述中错误的是
学生选修课程的关系模式为SC(S#,Sn,Sd,Sa,C#,G)(其属性分别为学号、姓名、所在系、年龄、课程号和成绩);C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课)。关系模式中包含对主属性部分依赖的是
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是()。
以下选项中不能用作C程序合法常量的是
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
随机试题
下列选项中,属于社会公德内容的有
Thereisonethingthateveryonewantsmorethananythingelse.Somepeopletrytogetitbymakingmoney.Theythinkthatwhen
秦先生,高血压病,近期血压波动较大,为该病人测量血压时应做到
关于慢性胃炎的叙述,正确的是()。
根据《公司登记管理条例》的规定,自治区、直辖市工商行政管理局负责本辖区内()的登记。
大宇电子有限公司为一般纳税人,增值税率17%。2007年因生产经营所需要,于年初开始自营建造厂房一幢,发生如下业务,要求:根据以下业务编制会计分录。4月30日经查明原因,定额内损耗3000.00元,不可抗力发生意外损耗11000.00元,仓库保管员玩
中国近代葡萄酒酿造业始于()。
某市工商局春节期间出台叫停“禁止自带酒水”等六项措施,引起了中国烹饪协会高调反弹,工商部门作出解释声明:这是对于不规范行为的合法做法。此事件引起社会极大反响,并持续发酵!请问你怎么看?
人民检察院决定逮捕犯罪嫌疑人、被告人的,由人民检察院执行。()
下列可以激活属性窗口的操作是()。
最新回复
(
0
)