首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
admin
2013-04-02
43
问题
给定程序的功能是调用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中通过return语句返回一个函数值,以下选项中错误的程序是______。
按照“后进先出”原则组织数据的数据结构是______。
下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:#defineN4voidsort(inta[][N])
若有以下定义和语句 union date { int i; char c; fioat f;} x; int y; 则以下语句正确的是______。
有以下程序 main() { unsigned char a=2,b=4,c=5,d; d=a|b;d&=c;printf("%d\n",d);} 程序运行后的输出结果是
有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是
下列叙述中正确的是
程序中若有如下说明和定义语句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;……}以下选项中对函数fun的正确调用语句是
如下图所示的二叉树后序遍历序列是【】。
随机试题
A.条件(1)充分,但条件(2)不充分。B.条件(2)充分,但条件(1)不充分。C.条件(1)和条件(2)单独都不充分,但条件(1)和条件(2)联合起来充分。D.条件(1)充分,条件(2)也充分。E.条件(1)和条件(2)单独都不充分,条件(1)和
仓库的储运定额、定员编制及人员调配的管理是()管理。
甲公司将与乙公司所签合同中的义务转让给丙公司,依据《合同法》的规定,下列错误的是()。
处理乙型脑炎应该突出哪项重点
抗菌机制为抑制细胞壁合成,且有抗铜绿假单胞菌作用的是()。
用传感器对某管道中流动的液体流量x(t)进行测量,测量结果为u(t),用采样器对u(t)采样后得到信号u*(t),那么:
收入、成本、费用类明细账一般采用的账页格式为()。
国有资本金效绩评价中的综合评分由基本指标和修正指标两个因素构成。()
顾某外出经商多年下落不明,其妻钱某依法向人民法院申请宣告他死亡。顾某宣告死亡之日为2005年3月16日。由于顾某无遗嘱,其遗产按照法定继承处理。钱某继承的遗产中包括一台价值4180元的电冰箱。2006年1月16日,钱某与李某结婚。2006年2月,顾某突然出
Uponreachinganappropriateage(usuallybetween18and21years),childrenareencouraged,butnotforced,to"leavethenest"
最新回复
(
0
)