首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是重写
admin
2023-02-27
27
问题
使用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全国计算机二级
相关试题推荐
某种产品有4只次品和6只正品,每只产品均不相同且可区分,每次取出一只测试,直到4只次品全部测出为止,则最后一只次品恰好在第五次测试时被发现的不同情况有()。
一个充气的救生圈的大部分水平放在一张桌子上,一只蚂蚁沿救生圈上半径33厘米的圆周爬行,另一个蚂蚁沿垂直于桌子半径为9厘米的圆周爬行,他们同时从同一点出发,爬行速度相同,则小圆上的蚂蚁爬()圈时第一次碰上大圆的蚂蚁。
若点P(x,y)在圆(x-3)2+(y-)2=6上运动,则的最大值为()。
当a、b、c取何值时,多项式f(x)=2x-7与g(x)=a(x-1)2-b(x+2)+c(x2+x-2)相等()。
已知|2x-a|≤1,|2x-y|≤1,则|y-a|的最大值为()。
若abc>0,则的值为()。
从1,2,…,10这十个数中取出四个数,使它们的和为奇数,则取法有()。
在1,2,3,4,5这五个数字组成的没有重复数字的三位数中,各位数字之和为奇数的共有()。
结合材料回答问题:华为从容的背后,有我们时代的整体加持华为遭遇美国极限施压之际,任正非接受媒体采访的内容刷屏。中国企业与中国企业家的自信、大气与从容,呈现于谈笑风生之间。从时代的角度审视,我
企业级路由器的初始配置文件通常保存在________上。
随机试题
骨髓增生异常综合征最常见的临床表现是
患者习某,男,48岁。素有小肠疝,时常发作,发作时一侧阴囊偏坠肿胀,寒疼痛加重,痛甚牵引睾丸,舌苔白,脉紧。治宜选用()
患者,女性,25岁,半月来怕热、心悸、多汗,体重下降,查体:血压130/70mmHg,无突眼,甲状腺轻度弥漫性肿大,可闻及血管杂音,心率120次/分,心律规则。对患者首选的治疗方案是
男,40岁。1年前因胫腓骨骨折,行手法复位,石膏外固定,现检查见骨折处有反常活动。X线显示胫骨上、下端髓腔被硬化骨封闭,骨折端有3mm间隙,并向后成角15°。其治疗应采用
2×21年10月,甲公司决定以一项投资房地产、一项无形资产和一项交易性金融资产(股票)与乙公司交换其持有的一项对合营企业(丙公司)的长期股权投资(持股比例为20%)和一台生产经营用设备。相关资料如下:(1)甲公司换出的投资性房地产的账面余额为15
下列选项中,属于新古典主义画家的是()。
下列关于χ2检验理论次数的描述,正确的是
A、 B、 C、 B
WhoisNOTtherepresentativewriterofthemoderateenlighteners?
A、Theyaremanagerandassistant.B、Theyarebusinesspartners.C、Theyarecustomerandmanager.D、Theyarecoworkersofthesam
最新回复
(
0
)