#include struct std{ char num[6];char name[8];float mark[4];} a[30];FILE *fp;设文件中以二进制形式存有10个班的学生数据,且已正确打开,文件位置指针定位于文件开头。若要从文件中读出30个学生的数据放入a数组中,以下不能实现此功能的语句是( )。
A. for (i=0;i<30;i++) fread(&a[i],sizeof(struct std),1L,fp);
B. for (i=0;i<30;i++) fread(a+i,sizeof(struct std),1L,fp);
C. fread(a,sizeof(struct std),30L,fp);
D. for (i=0;i<30;i++) fread(a[i],sizeof(struct std),1L,fp);
查看答案
fscanf函数的正确调用形式是()。
A. fscanf(格式字符串,输出表列)
B. fscanf(格式字符串,输出表列,fp)
C. fscanf(格式字符串,文件指针,输出表列)
D. fscanf(文件指针,格式字符串,输出表列)
fgetc函数的作用是指定文件读入一个字符,该文件的打开方式是( )。
A. 只写
B. 追加
C. 读或读写
D. B和C正确
若调用fputc函数成功输出字符,则其返回值是( )。
A. EOF
B. 1
C. 0
D. 输出的字符
设有以下结构体类型:struct st{char name [8];int num;float s[4];} student[50];并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件中,以下不正确的形式是( )。
A. fwrite( student ,sizeof(struct st),50,fp);
B. fwrite( student ,50*sizeof(struct st),1,fp);
C. fwrite( student ,25*sizeof(struct st),25,fp);
D. for (i=0;i<50 ;i++) fwrite(student+i,sizeof(struct st),1,fp);