首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
admin
2013-04-02
29
问题
给定程序的功能是调用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://jikaoti.com/ti/Uin0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
执行以下程序后的输出结果是【 】。main(){inta=10;a=(3*5,a+4);printf("a=%d\n",a);}
有以下程序 void f(int n,int *r) { int r1=0; if(n%3==0) r1=n/3; else if(n%5==0) r1=n/5; else f(--n,&r1);
下面选项中不属于面向对象程序设计特征的是
数据的安全性是指保护数据以防止【】用户的使用造成的数据泄密和破坏。
若有定义:inta[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。(0<=i<4,0<=j<10)
模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是______。
可以在C语言中用做用户标识符的是______。
十进制数269转换成十六进制数是()
对于建立良好的程序设计风格,下面描述正确的是()。
数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
随机试题
网上的每台计算机、路由器等都要有一个唯一可标识的地址,在Internet上为每个计算机指定的唯一的32个二进制位的地址称为(),也称为网际地址。
Boththesestarsdon’tonlytalkaboutwhattheywouldliketodo—(theyactuallydowhattheybelievein).
在贝塔系数中,当投资组合的价格变动幅度与市场一致时,贝塔系数()。
证券投资基金的基金规模越大,风险越小,管理费用就()。
某企业出售—台设备(不考虑相关税费),原价160000元,已提折旧45000元,出售设备时发生各种清理费用3000元,出售设备所得价款113000元。该设备出售净收益为()元。
重庆市石柱土家族自治县被誉为()。
生产损失事故是一种损失较大的事故,例如,电力生产单位的停电事故所造成的损失既有电力企业未能出售电力的损失,也有用电部门停产的损失。所以对于产供销一体化的生产企业而言,生产损失经常是________。
3年前爷爷的年龄是小明年龄的4倍,5年后爷爷的年龄是小明年龄的3倍,求爷爷今年的年龄是多少岁?()
Evidenceofthebenefitsthatvolunteeringcanbringolderpeoplecontinuestorollin."Volunteershaveimprovedphysicalands
"Home,sweethome"isaphrasethatexpressesanessentialattitudeintheUnitedStates.Whethertherealityoflifeinthefam
最新回复
(
0
)