首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参
admin
2018-10-21
53
问题
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#defihe N5
typedef struct student{
long sno;
cha rname[10];
float svore[3];
}STU;
void fun(char*filename,STU n)
{FTLE,*fp;
/*********found*********/
fp=fopen(
【1】
,"rb+");
/*********found*********/
fseek(
【2】
,﹣(10ng)sizeof
(STU),SEEKEND);
/*********found*********/
fwrrite(&n,sizeof(STU),1,
【3】
);
fclose(fp);
}
main()
{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}};
STU n={10006,"ZhaoSi",55,70,68},ss[N];
int i,j;FILE*fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),N,fp);
fclose(fp);
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),N,fp);
fclose(fp);
printf("\nThe original data:\n\n");
for(j=0;jj<N;j++)
{printf("\nNo:%ld Name:%﹣8s
Scores:".,ss[j].sno,ss[j].name);
for(i=0;i<3;i++)
printf("%6.2f",ss[j].score
);
priontf("\n");
}
fun("student.dat",n);
printf("\nThe ctaLa after modifing:\n\n");
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),N,fp);
fclose(fp);
for(j=0;j<N;j++)
{printf("\nNo:%ldName:%﹣8s
Scores:",ss[j].sno,ss[j].name);
for(i=0;i<3;i++)
printf("%6.2f",ss[j].score
);
printf("\n");
}
}
选项
答案
(1)filename (2)fp (3)fp
解析
填空1:本空是对文本文件的打开,filename所指的文件中的最后数据要进行重写,因此首先是要打开,因而本空填写filename。
填空2:fseek功能是重定位流上的文件指针。
用法:int fseek(FILE*stream,long offset,int fromwhere);本空应该填写fp。
填空3:因为题目中要对所有学生数据均以二进制方式输出到文件中,因此本空填写fp。
转载请注明原文地址:https://kaotiyun.com/show/fMxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。c=(a-=(b-5));c=(a%11)+(b=3);
以下程序运行后的输出结果是______。main(){inta=3,b=4,c=5,t=99;i[(b<a&&a<C)t=a;a=c;c=t;if(a<c&&b<C)t=b;b=a;a=t
按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于______。
设有以下语句:charstrl[]="string",str2[8],*str3,*str4="string";则_______不是对库函数的正确调用。
若有如下程序:voida(char*p,charc){while(*p){if(*p==c)*p=c-’b’+’B’;;p++;}}main(){chars[50]="abcdeeffg
现有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1
以下程序的输出结果是#includestructst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[
运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!
下列程序执行后的输出结果是______。main(){intm[][3]={1,4.7,6,5,8,3,6,9};inti,k=2for(i=0,i<3;i++){printf("%d",m[k][
下面程序的输出结果是______。main(){staticchara[]="language",b[]="program";char*ptrl=a,*ptr2=b;intkfor(k=0;k<7;k++)if(*(ptrl+k)==
随机试题
阻塞性肺气肿患者,肺功能改变正确的描述是
Watson-CrickDNA双螺旋结构每周含有的碱基对(bp)数目是
A.脂肪栓塞B.缺血性骨坏死C.缺血性肌挛缩D.创伤性关节炎E.骨化性肌炎(损伤性骨化)股骨干骨折,髓腔血肿张力过大,骨髓破坏,出现呼吸困难等应考虑()
A.致病菌侵入血液循环,持续存在,迅速繁殖,产生大量毒素B.局部化脓性病状的细菌栓子或脱落的感染血栓.间歇地进入血液循环,并在身体各处的组织或器官内,发生转移性脓肿C.少量致病菌侵入血液循环内,迅即被人体防御系统所清除.不引起或仅引起短暂而轻微的全身反
社会主义与资本主义的相互关系是你死我活的关系。()
全国人大代表,省、自治区、直辖市、设区的市、自治州的人大代表,均可向()提出辞职。
中亚地区V形墙的结构被史前猎人用于将有蹄动物驱赶进入V形顶点的围墙内。建造这些结构的中亚人可能是从西南亚的入侵者那里学来的这种捕猎技术,因为长久使用相似结构的西南亚某地入侵者的入侵时间与中亚地区这种结构最早出现的时间几乎相同。下列哪一项如果正确,最能支持以
[*]
A、 B、 C、 D、 C(A)我们不能确定图片中的人们正在往哪里走。(B)要记住一点,一般包含all的选项错误的概率比较高。(C)一列时用inarow,很多列时用inrows。(D)出现了图片
Assumingthattheengineeringproblemscouldbeovercome,theproductionofatimemachinecouldopenupaPandora’sboxofcaus
最新回复
(
0
)