首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,使
admin
2013-04-02
28
问题
给定程序的功能是调用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全国计算机二级
相关试题推荐
有以下程序段 typedef struct node{ int data;struct node *next;}*NODE; NODE p; 以下叙述中正确的是
有以下程序 int a=4; int f(int n) { int t=0;static int a=5; if(n%2) {int a=6;t+=a++;} else {int a=7;t+=a++;}
有以下程序 #include<string.h> main() { char p[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde"; strcpy(p+strlen(q),r);strcat
以下叙述中错误的是
有以下程序#include<stdio.h>main(){charch1,ch2;intn1,n2;ch1=getchar();ch2=getchar();n1=ch1-’()’;n2=n1*10+(c
下面程序的输出结果是() main() { inta[10]={l,2,3,4,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
实体联系模型是一种常用的高级概念数据模型,而【】是实体联系模型中的核心。
若有以下定义和语句: ihtw[2][3],(*pw)[3];pw=w; 则对w数组元素的非法引用是()
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。
若有下面的说明和定义:structtest{intm1;Charm2;floatm3;unionuu{charu1[5];intu2[2];}ua;}myaa;则sizeof(struct
随机试题
治疗痄腮的主穴为
最可能的诊断是目前最适宜的处置方式是
参与固有免疫的细胞不包括()
鼻饲管留置期间的护理下列哪项错误
2006年5月1日,甲在公园游玩时,把佩戴的手表丢失。该手表被公园的管理人员拾得后交给了有关的行政管理部门。该行政管理部门即发表了招领公告,但自公告发出之日起6个月无人认领,该行政管理部门即依照有关规定将手表交给代售店拍卖。这块手表后来被乙以拍卖价买下。2
()是以财务报表中的某一总体指标为100%,计算其各组成部分占总体指标的百分比,然后比较若干连续时期的各项构成指标的增减变动趋势。
因严重自然灾害造成重大损失的,可以减征个人所得税。()
种树郭橐驼传柳宗元郭橐驼,不知始何名。病偻,隆然伏行,有类橐驼者,故乡人号之“驼”。驼闻之曰:“甚善。名我固当。”因舍其名,亦自谓“橐驼”云。其乡曰丰乐乡,在长安西。驼业种树,凡长安豪
2x+4y-z=5
-Aninternationalsurveyhasbeenconductedrecently.ThelinechartbelowcomparesthethreedealersofHUALIANG,GUANGJU,and
最新回复
(
0
)