首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
admin
2016-12-06
61
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数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;
8 void fun(char * 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,’’NaChao’’,91,92,77},{10002,’’CaoKai’’,75,60,88}, {10003,’’LiSi’’,85,70,78},{10004,’’FancjFang’’,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 origina1 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 after modif-ing:\n\n’’);
37 fp=fopen(’’student.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:’’,ss[j].sno,ss[j].name);
42 for(i=0;i<3 ; i++)
43 printf(’’%6.2f’’,ss[j].score[j]);
44 printf(’’\n’’);
45 }
46 }
选项
答案
(1)filename(2)fp(3)fp
解析
填空1:本空是对文本文件的打开,filename所指的文件中的最后数据要进行重写,因此首先是要打开。因而本空填写filename。
填空2:fseek功能是重定位流上的文件指针。用法:int fseek(FILE * stream,long offset,int from-where);本空应该填写fp。
填空3:因为题目中要对所有学生数据均以二进制方式输出到文件中,因此本空填写fp。
知识点讲解:
函数名:fseek
功能:重定位流上的文件指针。
用法:int fseek(FILE * stream,long offset,int fromwhere)。
描述:函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准(从文件的哪里开始偏移)、偏移offset个字节的位置。正数表示正向偏移,负数表示负向偏移。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值:成功,返回0;否则返回非0值。
转载请注明原文地址:https://kaotiyun.com/show/gVDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数据库技术的主要特点为数据的集成性、数据的高【】和低冗余性、数据独立性和数据统—管理与控制。
有以下程序:main(){intnum[4][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12),{13,14,15,16}},i,j;for(i=0;i
诊断和改正程序中错误的工作通常称为【】。
设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是______。
以下程序的输出结果是______。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}
数据库系统中实现各种数据管理功能的核心软件是______。
软件开发的结构化生命周期方法将软件生命周期划分成
关于结构化程序设计原则和方法描述错误的是()。
下列选项中不属于结构化程序设计方法的是()。
随机试题
国务院的职权有哪些特点?
提高胃癌治愈率的关键在于()
A.第3腰椎B.髂前上棘与脐连线中点C.两髂前上棘连线中点下方3cmD.足侧倾斜15°,耻骨联合上3cmE.头侧倾斜20°~25°,两髂前上棘连线中点骶髂关节前后位中心线为
X线摄影检查主要应用的X线特性是( )
某患者住院期间因输入不合格血液导致感染乙型肝炎,其索赔对象应是
根据《企业安全生产费用提取和使用管理办法》规定,以下属于建设工程施工企业安全费用使用范围的有()。
现行的全球能源治理机制,要么反映传统的能源生产国利益,要么反映主要发达国家的利益,难以平衡新旧能源生产国和消费国的利益诉求和分歧。在此背景下,亟须构建新的全球能源的治理机制,维护包括能源生产国、消费国、过境国等在内的所有利益相关国的整体能源安全,并充分体现
A.helpothersoutB.takecareoftheirchildrenC.dealwiththemediaD.raisetheirchildrenE.realizetheirdreamsF.see
Becausemodernartisneithercompletelyacceptednorrejectedbycritics,theirultimateevaluationsofitremain______.
Completethenotesusingthelistofwords,A-I,below.Writethecorrectletter,A-I,inboxes36-40onyouranswersheet.
最新回复
(
0
)