首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
admin
2015-08-23
37
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#defitie N 5
typedef struct student{
long sno;
char name[10];
float Score[3];
}STU;
void fun(char*filename,STU n)
{FILE*fp;
/**********found**********/
fp=fopen( _____1_____ ,"rb+");
/**********found**********/
fseek(_____2_____,一(long)sizeof(STU),
SEEK END);
/**********found**********/
fwrite(&n,sizeof(STU),1, _____3_____ );
fclose(fp);
}
main()
{STU t[N]={{1000l,"Machao",91,92,77),{10002,"CaoKai",75,60,8 8),
{10003,"LiSi",85,70,78),{10004,
"FangFang",90,82,87),{1 00 0 5,
"ZhangSan",95,8 0,8 8}};
STU n={1 0 0 0 6,"7,haoSi",55,70,68},
ss[N];
int i,j;FILE*fp;
fp=fopen("Student.dat","wb");
fwrite(t,Sizeof(STU),N,fp);
fciose(fp);
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),N,fp);
fclose(fp);
printf("\nThe original data:\n\n");
for(j=0;j
{printf("\nNo:%id Name:%一8 s
Scores:",ss[j].sno,ss[j].name);
for (i=0; i<3; i++)Printf
("%6.2 f",ss[j].s core
);
printf("\n");
}
fun("student.dat",n);
printf("\nThe data after modifing:
\n\n");
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),N,fp);
fclose(fp);
for(j=0 ; j
{printf("\nNo:%ld Name:%一8 s
Scores:",ss[j].sno,ss[j].name);
for (i=0; i<3; i++)Printf
("%6.2 f",ss[j].score
);
printf("\n");
}
}
选项
答案
(1)filename (2)fp (3)fp
解析
第一空:“fp=fopen(_____1 _____"rb+");”补充fopen的参数,fopen的调用形式是:fp=fopen(文件名,文件使用方式),因此第一空处应填文件名“filename”。
第二空:此处是补充fseek函数的参数,fseek的调用形式是:fseek(fp,offset,position],其中第一个参数是文件型指针,故第二空处应填文件型指针变量“fp”。
第三空:fwrite的调用形式是(bu*ffer,size,count,fp),最后一个参数是文件型指针,故第三空处应填“fp”,将新的学生数据写在最后一个学生数据位置。
转载请注明原文地址:https://jikaoti.com/ti/ySi0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
一个源文件中的外部变量的作用域为()。
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotate(i
若变量已正确定义并赋值,以下符合C语言语法的表达式是
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
下列语句中,在字符串s1和s2相等时显示“theyareEqual”的是()。
用筛选法可得到2~n(n
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
在JavaEE中,下列代码能够正确获得名称dsname的数据源,并获取Connection的对象是()。
A、肺泡周围的毛细血管网B、左心房C、左心室D、右心房E、右心室大循环起于()
为保证药效,血药浓度应达到病原菌最低抑菌浓度的
灭除头虱最有效的药物是()。
不适合用作牙周病影像学检查方法的是
甲将房屋出租给乙,租期3年。房屋出租1年后,甲欲卖该房屋给丙并通知乙,乙表示不买。甲便将该房屋卖给了丙,并办理了房屋过户手续。丙对乙提出的下列请求合法的是()。
当人们活动的边际成本等于边际收益的时候,他们就实现了自己的收入或利润最大化,这就是()。
社区工作在准备阶段要做的重点工作有()。
帝国主义的基本特征是()。
Thesuccessstoryoftopinvestorsandexecutivesisastapleofbusinessbooksandmagazines.【C1】______researchsuggestswesho
最新回复
(
0
)