首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。 请在程序的
admin
2015-08-23
55
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和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://www.kaotiyun.com/show/GHDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在C语言中,函数调用时()。
下列特征中不是面向对象方法的主要特征的是()。
在位运算中,操作数每右移两位,其结果相当于()。
C语言结构体类型变量在程序执行期间()。
以下程序的输出结果是【】。#defineMCNA(m)2*m#defineMCNB(n,m)2*MCRA(n)+m#definef(x)(x*x)main(){int
以下不能正确定义二维数组的选项是______。
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成
有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i
若变量已正确定义并赋值,以下符合C语言语法的表达式是
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotade(i
随机试题
最能体现科学性、系统性和规律性的课程是【】
期望理论的涵盖面太广,内涵比较笼统,且忽略了对个体行为意志的考虑,故其适用范围有一定的局限性。()
关于办理有质量争议工程的竣工结算,下列说法中错误的是()。
建筑市场诚信行为记录信息的公布期限一般为6个月到3年,但针对具体情况有不同的规定。对此,下列表述中正确的是()。
国内外审计都是在一定的受托经济责任出现时,基于经济监督的需要而产生的。()
下列有关资产负债表日后事项的表述中不正确的是()。
八板体:
设A为三阶实对称矩阵,,矩阵A有一个二重特征且r(A)=2.求矩阵A;
在矩阵式键盘结构中,为了能识别同时按下的多个按键,应该使用( )。
TheEmpireStateBuildingTurns75EmpireStateBuilding,thefamousbuildinginNewYorkCityis75yearsold.Thegrou
最新回复
(
0
)