首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
admin
2013-04-02
71
问题
给定程序的功能是调用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全国计算机二级
相关试题推荐
下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:#defineN4voidsort(inta[][N])
下列叙述中正确的是______。
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。
在深度为7的满二叉树中,度为2的结点个数为【 】。
有以下程序段 typedef struct node{ int data;struct node *next;}*NODE; NODE p; 以下叙述中正确的是
有以下程序 struct S { int n;int a[20];}; void f(int *a,int n) { int i; for(i=0;i<n-1;i++)a[i]+=i; } main() { i
下面程序的输出是______。main(){inta=6,b=3;printf("%d\n",b=(a/b,a%b));}
以下所列的各函数原型中,正确的是()
在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、【】遍历和后序遍历。
微型机系统中,对输入设备赶进行管理的基本程序模块(BIOS)存放在()
随机试题
对有关条款的修订,世贸组织规定须经()
A.鹿茸B.牛黄C.蛤蟆油D.蟾酥E.五灵脂药用部位为动物的输卵管的药材是
汽车废气中主要有害物质包括
建设项目投资决策阶段,在技术方案中选择生产方法时应重点关注()。
对会计软件的全套文档资料以及会计软件程序,保管期截止日期是该软件停止使用或有重大更改之后的()年。
资料(一)凯德证券股份有限公司(以下简称凯德证券)成立于上世纪90年代,是一家综合类全国性证券公司。凯德证券通过多年的发展,在全国60多个城市设立了150余家证券营业部,业务涉及证券经纪、证券自营、证券承销与保荐、证券投资咨询、证券资产管理、直接
某公司甲车间采用滚动预算方法编制制造费用预算。已知2017年分季度的制造费用预算如下(其中间接材料费用忽略不计):2017年3月31日公司在编制2017年第二季度一2018年第一季度滚动预算时,发现未来的四个季度中将出现以下情况:(1)间接人工费用预
我国确立教育目的的理论依据是()
随着计算机和互联网技术的发展,人类社会进入到一个信息爆炸的时代。互联网深刻地改变了人类社会的生活方式,给人类的交往和信息获取、传播带来了巨大的方便,使地球成为真正的“地球村”。互联网技术创造出来的“虚拟空间”极大地扩张了人们活动的领域和空间,使得信息的发布
FrictionbetweenAmerica’smilitaryanditscivilianoverseersisnothingnew.America’s220-yearexperimentinciviliancontrol
最新回复
(
0
)