首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下画线处填入正确的内容并将下画线删除,使
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下画线处填入正确的内容并将下画线删除,使
admin
2017-09-23
69
问题
下列给定程序的功能是调用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()
以下选项中,合法的一组C语苦数值常量是()。
设q1和q2是指向一个int型一维数组的指针变最,k为float型变量,下列小能正确执行的语句是()。
下列数组定义中错误的是()。
有以下程序:#include<stdio.h>intfun(intx,inty){if(x==y)return(x);elsereturn((x+y)/2);}main(){inta=1,b
已知下列函数定义:fun(int%,intc,intn,intdatA){intk;for(k=0;k<m*n;k++){*b=data;b++;}}则调用此函数的正确写法是(假设变量a的说明为int
运行下面的程序,输入字符串MicrosoftVisualStudio,则程序的执行结果是()。#include<stdio.h>main(){charChr[20];scanf("%s",&Chr);p
一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体“宿舍”与实体“学生”的联系属于()的联系。
阅读以下程序#include<stdio.h>main(){IntCase;floatprintF;printf("请输入2个数:");scanf("%d%f",&Case,&printF);print
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
随机试题
以下哪项不是腹膜透析的特点
某患者明晨将行二尖瓣修复手术。夜班护士估计患者今晚最可能影响其睡眠的因素是
[2013年第23题]在投资方案财务评价中,获利能力较差的方案是:
(2007年)生产性项目总投资包括()和铺底流动资金两部分。
我国A公司欲从韩国进口一批电动车。对方于2012年6月1日发盘“可供普通包装电动车120辆,每辆180美元CIF大连。7月份装运,限本月20日复到我方有效”,我方收到发盘后于6月10日复电“你方6月1日发盘接受。请内用泡沫袋,外用纸箱包装”。试分析我方回复
艾森克用实验心理学的方法研究人格,将人格划分为()等维度。
经济发展是城镇建设用地大量扩张最根本、最直接的原因。经济发展水平越高.城市完善基础设施的能力越强,就越能够吸引更多的企业和人口,从而加快土地利用结构转化速度。近20年来.S市区建设用地扩张了近1倍,主要是由于城市经济发展带来的增加建设用地的需要.这足以证明
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是
Beforethemid-nineteenthcentury,peopleintheUnitedStatesatemostfoodsonlyinseason.Drying,smoking,andsaltingcould
ThisPChasbeenparalyzedforafewdays,itshould(fix)______yesterday.
最新回复
(
0
)