首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为my.file5.dat的二进制文件中。 请在程序的下画线处填入正确的内容并将下画线删除,
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为my.file5.dat的二进制文件中。 请在程序的下画线处填入正确的内容并将下画线删除,
admin
2018-03-28
45
问题
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为my.file5.dat的二进制文件中。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<Stdio.h>
#include<stdlib.h>
#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<N;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!");
}
V01d check()
{ FILE*fp;int i;
STYPE S[10];
if((fp=fopen("myfile5.
dat","rb"))==NULL)
{printf("Fail!\n");exit(0);}
printf f"\nRead file and
output to screen:\n");
printf("\n num name tel\n");
for(i=0;i<N;i++)
{ fread(&s
,sizeof
(STYPE),1,fp);
printf("%6d%s%s\n",
S
.num,s
.name,s
.tel);
}
fclose(fp);
}
选项
答案
(1)STYPE (2)FILE (3)fp
解析
本题考查:函数定义;变量定义;写数据块函数fwrite。
填空1:根据主函数中的调用函数可知,函数的形参应为结构体类型,因此填入STYPE。
填空2:fp是指向文件类型的指针变量,因此填入FILE。
填空3:函数fwrite调用的一般形式为“fwrite (buffer,size,count,fp);”。
buffer:是一个指针变量,在fread函数中它存放输入数据的首地址,在fwrite函数中,它存放输出数据的首地址。
size:表示数据块的字节数。
count:表示要读写的数据块数。
fp:表示文件指针。
转载请注明原文地址:https://kaotiyun.com/show/9Jxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序输出的结果是#include#includemain(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k
若a是float型变量,b是unsigned型变量,以下输入语句合法的是()
设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是
以下程序运行后的输出结果是【】。voidfun(intX,inty){x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);}main(){intx=2,y=3;fun(x
已知i、j、k为iht型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
数据库系统中实现各种数据管理功能的核心软件称为【】。
若程序中定义了以下函数:doublemyadd(doublea,doubleB){return(a+B);}并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是______
数据的逻辑结构在计算机存储空间中的存放形式称为数据的【】。
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为()。
随机试题
应用较广泛的病案号编号类型是
下列各句中,划线词语使用恰当的一项是()。
10岁男孩,体重40kg,因酮症酸中毒急诊入院,经抢救病情稳定,诊断为Ⅰ型糖尿病。该患/L每日所需热卡为( )。
颌面外伤清创时下述错误的是()
局部红肿热痛,突起根浅,肿势局限,范围在3cm左右,易脓、易溃、易敛之病是()
下列行为,应缴纳资源税的有()。
产生外部经济的生产者产出水平低于社会最优产出水平的原因是()。
哲学基本问题与历史观基本问题的关系是()。
一种细菌放在一封闭的试管里,每一天细菌体积扩大一倍,到28天时已充满试管的一半。那么还需要多少天能充满整个试管?
我已了解清楚,她的结论是以事实为根据的。
最新回复
(
0
)