首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
admin
2013-04-02
50
问题
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 5
typedef struct
{int num;
char name[10];
char tel[10];
}STYPE;
void check();
/**********found**********/
int fun(【1】 *std)
{
/**********found**********/
【2】 *fp; int i;
if((fp=fopen("myfile5.dat","wb"))==NULL)
return(0);
printf("\nOutput data to file !\n");
for(i=0; i
/**********found**********/
fwrite(&std
, sizeof(STYPE), 1, 【3】);
fclose(fp);
return (1);
}
main()
{STYPE s[10]={ {1,"aaaaa","111111"},{1,"bbbbb", "222222"},{1,"ccccc","333333"},{1,"ddddd","444444"},{1,"eeeee", "555555"}};
int k;
k=fun(s);
if (k==1)
{printf("Succeed!"); check();}
else
printf("Fail!");
}
void check()
{FILE *fp; int i;
STYPE s[10];
if((fp=fopen("myfile5.dat","rb"))==NULL)
{printf("Fail !!\n"); exit(0);}
printf("\nRead file and output to screen :\n");
printf("\n num name tel\n");
for(i=0; i
{fread(&s
,sizeof(STYPE),1, fp);
printf("%6d %s %s\n",s
.num, s
.name,s
.tel);
}
fclose(fp);
}
选项
答案
STYPE FILE fp
解析
第一空:在main()函数中,观察fun()函数调用:k=fun(s),由s的定义可知s是STYPE结构体数组,即传入fun函数的参数是STYPE结构体数组的首地址,因此fun()函数的参数是STYPE结构体指针,故(1)处应该为int fun(STYPE *std)。
第二空:在C语言中,fopen函数的调用形式是:FILE fp=fopen(文件名,文件使用方式),在fun()函数体内部,由if((fp=fopen("myfile5.dat","wb"))==NULL)可知,fp是一个指向FILE类型的指针变量,因此(2)处是指针变量fp的定义,即FILE *fp。
第三空:fwrite函数的调用形式是:fwrite(buffer, size, count, fp),buffer是一个指针,指向输入数据存放在内存区的起始地址,size是要输入的字节数,count是要输入大小为size个字节的数据块的个数,fp是文件指针。因此(3)处应该添加文件指针,由前面的定义可知,fun函数内的文件指针是fp,即(3)处是fwrite(&std
, sizeof(STYPE), 1, fp)。
转载请注明原文地址:https://www.kaotiyun.com/show/aDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下定义和语句 union date { int i; char c; fioat f;} x; int y; 则以下语句正确的是______。
有以下程序 void fun2 (char a,char b) {printf("%c%c",a,b);} char a=’A’,b=’B’; void fun1(){ a=’C’; b=’D’; }
若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。
有以下程序 fun(int x,int y) { static int m=0,i=2; i+=m+1; m=i+x+y; return m; } main()
若变量x、y己正确定义并赋值,以下符合C语言语法的表达式是______。
以下叙述中错误的是
函数fun的功能是计算xndoublefun(doublex,intn){inti;doubley=1;for(i=1;i<=n;i++)y=y*x;returny;}主函数中已正
公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是______。
若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【】。
以下选项中不合法的用户标识符是()
随机试题
机动车在高速公路上超车,车速为每小时100公里时,最小横向间距应为多少?
电工仪表的误差有哪几种表达方式?
甲企业持有乙企业非上市普通股36万股,乙企业每年将税后利润点的80%派发给股东,20%用于扩大再生产,股本利润率为15%。预计甲企业未来第1年可获得每股0.2元的股息,资本化率为12%,则甲企业所持股票的价值为()
WeAsawabigdogthatwasfierceandBfeltfrightenedCinDourwayhome.
下列抗菌药物能用克拉维酸增效的是
急性肠梗阻,气滞血瘀证急性肠梗阻,肠腑寒凝证
按皮亚杰的观点,学生知识结构形成的方式是()
按支出法进行核算,2011年我国GDP是465731.3亿元,其中消费率是49.07%。投资率是48.31%。最终消费支出包括居民消费支出和政府消费支出,居民消费支出是164945.2亿元,约占最终消费的72.17%,其中农村居民消费支出占22.67%;
专家们从16世纪意大利艺术家所画的一幅画中的一个人物上移去了一层18世纪的红色颜料,揭示出下面有一层绿色颜料。因为绿色颜料追溯到16世纪,这个人物在1563年被完成时一定是绿色,而不是红色。下列哪一项如果正确,最反对上面的论述?()
A、Gotoseeafilm.B、WatchTV.C、Godancing.D、Readnovels.BWhatdoesMr.Thompsonusuallydointheevening?
最新回复
(
0
)