首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
admin
2018-09-27
19
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #define N 5
3 typedef struct student{
4 long sno;
5 char name[10];
6 float score[3];
7 } STU;
7 void fun(ohar *filename,STU n)
9 {FILE *fp;
10 /**********found**********/
11 fp=fopen(__1__,’’rb+’’);
12 /**********found**********/
13 fseek(__2__,-(long)sizeof(STU),SEEK_END);
14 /**********found**********/
15 fwrite(&n,sizeof(STU),1,__3__);
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=O;j<N;j++)
30 {printf(’’\nNo:%1d Name:%-8s ScoEes:’’,ss[j].sno,ss[j].name);
31 for(i=0;i<3;i++) printf(’’%6.2f’’,ss[j].score
);
32 printf(’’\n’’);
33 }
34 fun(’’student.dat’’,n);
35 printf(’’\nThe data after modifing:\n\n’’);
36 fp=fopen(’’student.dat’’,’’rb’’);
37 fread(ss,sizeof(STU),N,fp);
38 fclose(fp);
39 for(j=0;j<N;j++)
40 {printf(’’\nNo:%1d Name:%-8s Scores:’’,ss[j].sno,ss[j].name);
41 for(i=0;i<3;i++)printf(’’%6.2f’’,ss[j].score
);
42 printf(’’\n’’);
43 }
44 }
选项
答案
(1)filename (2)fp (3)fp
解析
本题中函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,本题主要考察文件的读写。
第一空:“fp=fopen(__1__,’’fb+’’);”补充fopen的参数,fopen的调用形式是:fp=fopen(文件名,文件使用方式),因此,第一空处应填文件名“filename”。
第二空:此处是补充fseek函数的参数,fseek的调用形式是:fseek(fp,offset,position),其中,第一个参数是文件型指针,故第二空处应填文件型指针变量“fp“。
第三空:fwrite的调用形式是(buffer,size,count,fp),最后一个参数是文件型指针,故第三空处应填“fp”,将新的学生数据写在最后一个学生数据位置。
转载请注明原文地址:https://kaotiyun.com/show/R8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是()。#include<stdio.h>main(){stmctdate{intyear,month,day;}today;primf("%d\n",sizeof(struct
有如下程序:#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)
下列程序输出的结果是()。main(){inta;a=-4+4*5-6;printf("%d",a);a=4+4%5-6;printf("%d",a);a=-3+4%6/5;printf("%d",
下列程序段的运行结果是______。charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));
以下程序的功能是将字符串s中所有小写字母’a’删去,请填空。#include<stdio.h>main(){chars[]="absuWWUDJFKFLaaakdK";inti,j;for(i=j=0;s[i]!=
以下程序中函数huiwen.的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#include<string.h
下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。structstu{intx;【】【】next;}
在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
在C语言中,可以把整数以二进制形式存放到文件中的函数是()
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。voidbubble(inta[],intn){intid,max,temp;max=n-1;do{j=0;f
随机试题
thenamingtheory
A.消食化积B.疏风散寒C.清热利湿D.健脾益气E.补脾温肾
患者,女,70岁。右颈部红肿疼痛1周,逐渐加重,伴全身高热,体温38.9℃,WBC18×109/L,中性90%,出现中毒症状。1天来肿胀处出现多个脓头,剧痛难忍。此患者的治疗应给予
变压器的零序电抗与其构造和绕组连接方式有关。对于YN,d接线、三相四柱式双绕组变压器,其零序电抗为:()
根据《水利工程施工监理规范》SL288—2014.的有关规定,监理人应检查、督促承包人对发包人提供的测量基准点进行(),并督促承包人在此基础上完成施工测量控制网的布设及施工区原始地形图的测绘。
意向书的导语中不用涉及的内容是()。
要使一个团队能跻身世界强队之列,至少必须解决两个关键问题。一是提高队员基本技能,二是讲究科学训练。不切实解决这两点,即使临战时拼搏精神发挥得再好,也不可能取得突破性的成绩。以下哪一项推理没有表达上述议论的观点?
小王从A地去往B地,下图是一张道路示意图,每段路上的数字表示两地之间的距离(单位:千米)。如果汽车百千米耗油量为10升,油价6.5元/升,问:小王从A地去往B地至少要消耗多少元的燃油?
Englishremainsadominantanduniversallanguage,whichpresently【51】asaconnection-linkbetweengreatvarietiesofdif
Hewasverysickandhislifewashangingbya______.
最新回复
(
0
)