首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
admin
2023-02-27
52
问题
使用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://kaotiyun.com/show/MP0D777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
男女学生共有8人,从男生中选取2人,且从女生中选取1人,共有30种不同的选法,其中女生有()。
安排7位工作人员从5月1日至5月7日值班,每人值班一天,其中甲、乙两人不安排在5月1日和5月2日,不同的安排方法数共有()。
某年级学生参加数学小组的有30人,参加语文小组的有40人,有10人只参加数学小组,10人两个小组都未参加,则该年级共有学生()人。
有一水池,单开甲管4小时把水注满,单开乙管6小时可以把满池水放完,如果两管同时开2小时之后,水池还能装3.5立方米,则水池容量是()立方米。
在某次数学:考试中,学号为i(i=1,2,3,4)的同学考试成绩f(i)∈{85,87,88,90,93},且满足f(1)≤f(2)<f(3)<f(4),则这四位同学的考试成绩的所有可能情况有()。
从6名男生和4名女生中,选出3名代表,要求至少包含1名女生,则不同的选法有()。
若a、b为不相等的实数,且a2+11a+16=0,b2+11b+16=0则()。
设实数x与y是方程x2-4xy+4y2+x+y-6=0的解,则x+y的最大值为()。
求下列函数的导数:y=sh3x;
随机试题
党在“过渡时期总路线”中提到的过渡时期是指从
Ⅰ、Ⅱ期子宫内膜癌首选
“气血生化之源”是指:
财产或者利益受工程保险合同保障,享有保险金请求权的人是( )。
施工技术资料应按单位工程组卷,一般由封面、目录和()顺序排列。
下列有关注册会计师是否实施应收账款函证程序的说法中,正确的是()。
已售公有住房的住宅公共部位维修基金向()筹集。
通过课程评价可以找出课程计划的优点和不足,从而为其进一步完善提供建议,这体现了课程评价的()功能。
A、Potatoes,cerealsandfish.B、Fruitsandvegetables.C、Apieceofchocolate.D、Crunchyfoods.C本题考查重要细节。根据句(5)可知,被采访者认为咸味食物或一片
TodaythewriterHansChristianAndersenisknownasawriterofstoriesforchildren.Hepennedsomeofthebest-lovedfairyta
最新回复
(
0
)