首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
admin
2013-04-02
52
问题
给定程序的功能是调用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://kaotiyun.com/show/aDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序中,函数fun的功能是计算x2(上标)-2x+6,主函数中将调用fun函数计算:y1=(x+8)2(上标)-2(x+8)+6y2=sin2(上标)(x)-2sin(x)+6请填空。
有以下程序,若运行时从键盘输入:18,11<回车>,则程序的输出结果是[]。main(){inta,b;printf("Entera,b:");scanf("%d,%d",&a,&b);
若有以下定义和语句 union date { int i; char c; fioat f;} x; int y; 则以下语句正确的是______。
在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
有一个名为init.txt的文件,内容如下:#defineHDY(A,B)A/B#definePRINT(Y)printf("y=%d\n",Y)有以下程序#include"init.txt"ma
设有说明:inta=1,b=0;,则执行以下语句的输出结果是______。switch(a){case1:switch(b){case0:printf("**0**\n");break;
下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是【】。main(){inta[10]={1,2,3,4,5,6,7,8,9,0},*p;p=aprintf(
若定义了以下函数: voidf(…) {… *p=(double*)malloc(10*sizeof(double)); … } p是该函数的形参,要求通过p把动态分配存储单位的地址传回主调函数,则形参p的正确定义应当是
在软件开发中,下面任务不属于设计阶段的是______。
随机试题
女性,45岁,双手腕关节及掌指关节肿痛3个月,无明显的外伤史,晨起后双手关节僵硬、握拳不紧
工程项目人力资源配备计划的内容包括()。
铝电解厂铸造车间铝包吊运过程中存在铝包坠落、倾翻风险。下列关于防范铝包坠落、倾翻安全操作的说法,错误的是()。
喷锚支护包括().
依照《破产法》的规定,债权人可以向人民法院提出的申请有( )。
请将范仲淹的《浣溪沙》默写完整。塞下秋来风景异,衡阳雁去无留意。四面边声连角起,千嶂里,长烟落日孤城闭。______,______。______,______,______。
Ourape-menforefathershadnoobviousnaturalweaponsinthestrugglefor【C1】______intheopen.Theyhadneitherthepowerfult
Weallknow(orshouldknow)bynowthatthecarbondioxideweproducewhenweburnfossilfuelsandcutdownforestsistheplane
______,writtenin1854byCharlesDickens,isanearnestattackonthevulgarityandmaterialismoftherisingmiddleclassind
ThegovernmentofBurkinaFasograntedscientistspermissiontoreleasegeneticallyengineeredmosquitoesanytimethisyearorn
最新回复
(
0
)