首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下画线处填入正确的内容并将下画线删除,使
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下画线处填入正确的内容并将下画线删除,使
admin
2017-09-23
37
问题
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#ir1clude < stdio.h >
#iticlude < 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)
retuEr1(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", "333 33 3"},
{1,"ddddd", "4 4 4 4 4 4"},
{ 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("myfil e5.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 < N;i++)
{ fread(&s
,si zeof
(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/Ezxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main()
定义inta=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出的结果为()。
下列4个程序中,完全正确的是()。
下面程序的运行结果是()。y=5;x=14;y=((x=3*y,x+6),x-1);printf("x=%d,y=%d”,x,y);
一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体“宿舍”与实体“学生”的联系属于()的联系。
下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个元素输出数组b,请填空。main(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",
字符串"\\"ABCDEF\"\\”的长度是()。
以下程序中函数sort的功能足对a数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
随机试题
现行专利权法规定,发明专利权的保护期限为自申请日起()
战略规划的重心是()
按形成的主导因素,隐地带性土壤可分为______、______和______。
窦房结位于()
男孩,2岁,1个月来精神欠佳,食欲减退,盗汗。体重下降,伴咳嗽。有结核接触史。半个月前曾患麻疹。体检:颈部多个lcmx1cm淋巴结,质较硬,无压痛。两肺未闻及干、湿性啰音,肝肋下2.5cm。PPD试验阴性,胸部X线检查示肺门淋巴结肿大。血沉30mm/1h末
A市的甲厂将货物托运给B市的乙厂,与铁路运输部门办理了货物运输手续。现设甲与乙的合同发生了变化。甲拟向承运人提出变更运输合同。在铁路部门将货物交付乙厂之前,甲可以提出哪些变更合同的请求?()
( )适宜用于大的组织系统。
某市市内电话收费标准是:前3分钟共0.2元(不满3分钟按3分钟计算),以后每打1分钟加0.1元,打长途电话的收费是:每10秒钟0.08元(不满10秒钟按10秒计算)。小明有一天打了若干个电话,共计话费1.96元。小明最多打了多少时间电话?
Whatarethemanandwomandoing?
BobandLindaaretiredofthefreezingcolddaysinGlenmont,sotheyareconsideringretiringtoeitherSunnyGlenorBuenaVi
最新回复
(
0
)