首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
admin
2023-02-27
32
问题
使用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://jikaoti.com/ti/1BoiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
K市有甲、乙两个仓库,屯粮之比为3:4,乙仓库将33吨粮食转给甲仓库后,两者屯粮之比为5:3,则甲、乙两个仓库共屯粮()吨。
某池塘有A,B,C三只小船,A船可乘3人,B船可乘2人,C船可乘1人,有3个成人和2个儿童分乘这些船只,为安全起见,儿童必须由成人陪同方能乘船,他们分乘这些船只的方法共有()。
正方形ABCD的边长为a,以AB、BC、CD、DA分别为直径画半圆,这四个半圆弧所围成的阴影部分的面积为()。
车间共有40人,某技术操作考核的平均成绩为80分,其中男工平均成绩为83分,女工平均成绩为78分,该车间有女工()。
若x>0,y>0,且x+2y=4,则lgx+lgy的最大值是()。
已知|2x-a|≤1,|2x-y|≤1,则|y-a|的最大值为()。
|x-1|+|x-3|=4-2x,其非负整数解有()个。
2021年10月12日,习近平主席在《生物多样性公约》第十五次缔约方大会领导人峰会上的讲话中指出,为推动实现碳达峰、碳中和目标,中国将陆续发布重点领域和行业碳达峰实施方案及一系列支撑保障措施,构建起碳达峰、碳中和“1+N”政策体系。中国将持续推进产业结构和
我们党在不同历史时期,总是根据时代形势和条件变化、具体国情和发展水平变化,根据人民意愿和事业发展需要,制定顺应时代要求、符合客观实际、富有感召力的发展目标。党中央根据当前发展态势和发展需要,制定了从2020年到2035年,基本实现社会主义现代化的目标要求。
求下列极限(其中n皆为正整数):
随机试题
把追求金钱作为人生的至高目的,认为金钱可以主宰一切的错误人生观是
人权保障的最后的防线是()
某患者,患有慢性阻塞性肺气肿,当其出现下列哪项改变时,提示合并有早期肺源性心脏病
骨盆出口横径是
下列不属于四环素不良反应的是
二尖瓣狭窄导致的变化哪项错误
关于正态分布,错误的一项是
下列桥梁类型中,在跨径相同的情况下()跨中弯矩最大。
与潜在任职者相关的信息包括()。
具有英语基础的人比其他人更容易学习德语的现象属于学习中的()。
最新回复
(
0
)