首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
admin
2021-04-28
33
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和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/lFtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列叙述中错误的是()。
下面选项中关于位运算的叙述正确的是
有以下结构体说明、变量定义和赋值语句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];则以下scanf函数调用语句有错误的是
在结构化程序设计中,模块划分的原则是()。
有以下程序:#include<stdio.h>inta=1,b=2;voidfun1(inta,intb){printf(″%d%d″,a,b);}voidfun2(){a=3;b=4;}main(){fun1(5,
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是
设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0的程序段是
“软件系统总体结构图,下面描述中错误的是
某系统结构图如下图所示(n≥5)该系统结构图的最大扇出数是()。
若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()。
随机试题
关于社会主义法治理念的内涵,下列说法正确的是()。
A.医疗机构药品调剂B.医疗机构药品采购C.医疗机构配制制剂D.医疗机构新药临床研究E.医疗机构药事管理本单位临床需要而市场上没有供应,并必须经省级药品监督管理部门批准的是
路某引诱了3位女子将她们容留在自己的住处卖淫,从中收取介绍费用和房租费。在闲暇之余路某分别嫖宿了这3位女子。已知3位女子均为未成年人,最大的16周岁,最小的才13周岁。则对路某行为的下列说法,正确的是:
争议一方为军队,且涉及土地面积较大的土地权属争议案件应由国土资源部来受理。()
招标文件的主要内容包括()。
某市政府酒店于1998年10月建成投入使用,占地面积为4865m2,建筑面积为9539m2,建筑为钢筋混凝土结构,共五层,1层为办公室,2~5层为客房、餐厅、包厢、厨房等。为能符合法律、设计、规范的要求,该酒店组织建立了消防安全管理体系。首先
2018年2月7日,我国第五个南极科考站——()在恩克斯堡岛正式选址奠基。
根据我国《宪法》的规定,()都由人民代表大会产生,对它负责,受它监督。
对于关系R,第二范式是要求R中的每一个非主属性满足
Baby-NamingTrendsA)Overthelastfiftyyears,Americanparentshaveradicallyincreasedthevarietyofnamestheygivetheirc
最新回复
(
0
)