首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
admin
2023-02-27
66
问题
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序在文件blank1.c中。
不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.h>
2 #define N 5
3 typedef struct student {
4 long sno;
5 char name[10];
6 folat score[3];
7 } STU;
8 void fun(char *filename,STU n)
9 {FILE *fp;
10 /*********found*********/
11 fp=fopen(<u>【1】</u>),"rb+");
12 /*********found*********/
13 fseek(<u>【2】</u>,-(long)sizeof(STU),SEEK_END);
14 /*********found*********/
15 fwrite(&n,sizeof(STU),1,<u>【3】</u>);
16 fclose(fp);
17 }
18 main()
19 {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}};
20 STU n={10006,"ZhaoSi",55,70,68},ss[N];
21 int i,j; FILE *fp;
22 fp=fopen("student.dat","wb");
23 fwrite(t,sizeof(STU),N,fp);
24 fclose(fp);
25 fp=fopen("student.dat","rb");
26 fread(ss,sizeof(STU ),N,fp);
27 fclose(fp);
28 printf("\nThe original data:\n\n");
29 for(j=0;j<N;j++)
30 {printf("\nNo:%1d Name:%-8s Scores:",ss[j].sno,ss[j].name);
31 for(i=0;i<3;i++)
32 printf("%6.2f",ss[j].score
);
33 printf("\n");
34 }
35 fun("student.dat",n);
36 printf ("\nThe data aftermodifing:\n\n");
37 fp=fopen("stedent.dat","rb");
38 fread(ss,sizeof(STU),N,fp);
39 fclose(fp);
40 for(j=0;j<N;j++)
41 {printf("\nNo:%1d Name:%-8s Scores:"[j].sno,ss[j].name);
42 for(i=0;i<3;i++)
43 printf("%6.2f",ss[j].score
);
44 printf("\n");
45 }
46 }
选项
答案
(1)filename(2)fp(3)fp
解析
填空1:这里考查fopen()函数的使用,fp=fopen(文件名,文件打开方式);。空1处需要填写的是打开的文件名,故空1处应该填filename。
填空2:fseek()函数的功能是重定位文件位置指针。函数的调用格式为int fseek(FILE*stream,long offset,int fromwhere);,故空2处应该填fp。
填空3:fwrite()函数用来写二进制文件。调用格式为fwrite(bufter,size,cowd,fp);,故空3处应该填fp。
转载请注明原文地址:https://www.kaotiyun.com/show/MP0D777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设的整数部分为a,小数部分为b,则ab-=()。
某池塘有A,B,C三只小船,A船可乘3人,B船可乘2人,C船可乘1人,有3个成人和2个儿童分乘这些船只,为安全起见,儿童必须由成人陪同方能乘船,他们分乘这些船只的方法共有()。
将数字1,2,3,4填入标号为1,2,3,4的四个方格里,每格填一个数字,则每个方格的标号与所填的数字均不相同的填法有()。
已知甲、乙两支股票某日开盘时每股价格之和为100元,收盘时,甲股票价格跌了2成,乙股票价格涨了10%,此时甲、乙两股票每股价格之和比开盘时提高了4%,则甲股票每股价格是()元。
高三(一)班要安排毕业晚会上4个音乐节目,2个舞蹈节目和1个曲艺节目的演出顺序,要求两个舞蹈节目不连排,则不同排法的有()。
若x2+xy+y=14,y2+xy+x=28,则x+y的值为()。
已知|2x-a|≤1,|2x-y|≤1,则|y-a|的最大值为()。
五人站成一列,重新站队时,各人都不站在原来的位置上,则不同的站法有()。
将4个颜色互不相同的球全部放入编号为1和2的两个盒子里,使得放入每个盒子里的球的个数不小于该盒子的编号,则不同的放球方法有()。
求下列函数的导函数
随机试题
心力衰竭发生的基础是______。
A、消风散B、牵正散C、玉真散D、小活络丹E、地黄饮子治疗风疹的代表方剂是
A.蛛网膜与硬脑膜之间的腔隙B.蛛网膜与软脑膜之间的腔隙C.软脑膜与脑皮质之间的腔隙D.小脑幕切迹E.枕骨大孔流行性乙型脑炎重者出现脑疝,多见的部位是
监理工程师行为责任风险来自()。
某企业计划筹集资金100万元,所得税税率为33%?有关资料如下:(1)向银行借款10万元,借款年利率7%,手续费2%?(2)按溢价发行债券,债券面值14万元,溢价发行价格为15万元,票面利率9%,期限为5年,每年支付一次利息,其筹资费率为3%?(3)
教师与学生交往的主要渠道是()。
有人说公务员要敢想、敢说、敢千。你认为呢?
【2014-2】按照美国教育哲学家谢弗勒对教育陈述的分类,“教育是对人心灵的陶冶”属于()。
Terrorismprovestobeamoreseriousproblemthananticipated,anditchallengesbothpolicymakersburdenedwiththedesignof
DanielDevlinlivesinthesamehousewithhischildrenandseesthemeveryday—yetheisunabletorecognizethematall.Mr.D
最新回复
(
0
)