21 / 23
struct std{ char num[6]; char name[8]; float mark[4];}a[30]; FILE *fp;
设文件中以二进制形式存有10个班的学生数据,且以正确打开,文件指针定义于文件开头。若要从文件中读出30个学生的输出放入a数组中,以下不能实现此功能的语句是(D) 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);
(10)若执行fopen函数时发生错误;则函数返回值(B) A.地址值 B.0 C. 1 D.EOF
(11)当顺利执行了文件关闭操作时,fcloes函数的返回值是(C). A.-1 B.TRUE C. 0 D. 1
(12)若以”a+”方式打开一个已存在的文件,则以下叙述正确的是(A)
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B. 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C. 文件打开时,原有文件内容不被删除,只可作写操作 D.以上各种说法及不正确
(13)若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是(A)。
A. ”ab++” B. ”wb+” C. ”rb+” D. ”ab”
(14)以下可作为函数fopen中第一个参数的正确格式是(D). A. c:usr\\text.txt B. c:\%user\\text.txt C. ”c:\%user\\text.txt” D. ”c:\\\%user\\\\text.txt”
(15)fgetc函数的作用是从指定的文件读入一个字符,该文件的打开方式必须是(C) A.只写 B.追加 C.读或读写 D.答案B和C都正确 (16)若fp是指向某文件的指针,且已读到此文件的末尾,则库函数feof(fp)的返回值是(C) A.EOF B. 0 C. 非零值 D. NULL
(17)若要打开A盘上user子目录下名为abc.exe的文本文件进行读,写操作,下面符合此要求的函数调用是(B)
A. fopen(“A:\%user\\abc.txt”,”r”) B. fopen(“A:\\\%user\\\\abc.txt”,”r+”) C. fopen(“A:\%user\\abc.txt”,”rb”) D. fopen(“A:\\\%user\\\\abc.txt”,”w”)
(18)下面程序执行后,文件同事test.txt 中的内容是(A) #include
void fun(char *fname, char *st) {
FILE *myf; int I;
myf=fopen (fname,”w”);
for(i=0;i Void main() { 22 / 23 fun(“test.txt”,”new world”); fun(“test.txt”,”hello,”); } A. hello, B.new worldhello C.new world D.hello,rld (19)一下叙述中错误的是(D) A.二进制文件打开后可以先读文件末尾,文顺序文件不可以 B.在程序结束时,应当用fclose函数关闭已打开文件 C.在利用fread 函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 D.不可以用FILE定义指向二进制文件的指针文件 (20)函数ftell(fp) 的作用是(A) A. 得到流式文件中的当前位置 B.移到流式文件的位置指针 C.初始化流式文件的位置指针 D.以上答案均正确 (21)以下程序运行后的输出结果是() void main(A) { FILE *fp; int i=20, j=30,k,n; fp=fopen(“d1.dat”,”w”); fprintf (“fp,”%d\\n”,i); fprintf (fp,“%d\\n”,j); fclose (fp); fp=fopen (“d1.dat”, “r”); fscanf(“fp, “%d%d”, &k , &n); printf(“%d, %d\\n”, k ,n); fclose (fp); } A. 20,30 B. 20,50 C. 30,50 D. 30,20 (23)已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是(C)。 A. 一个整数,代表要读入的数据项总数 B. 一个文件指针,指向要读的文件 C. 一个指针,只想要读入数据的存放地址 D.一个存储区,存放要读的数据项 程序填空题 (1) 下面程序的功能是将一个磁盘中的二进制文件复制到另一个磁盘中,两个文件名随 命令行一起输入,输入是原有文件的文件名在前,新复制的文件名在后,请在——处填入适当内容。 #iclude void main(int argc,char *argv[]) { FILE *old, *new; char ch; if (argc!=3) { printf(\ 23 / 23 exit (0); } if ((old=fopen(argv[1],”r”))==NULL) { printf(\ exit (0); } if ( (new=fopen(agrv[2],”w”))==NULL) { printf(\ exit (0); } while (!feod(old)) fputc( string,new); fclose (old); fclose (new); } (2) 以下程序将从终端上读入的10个整数以二进制方式写入一个名为”bi.dat”的新文件 中。请在___________处填入适当内容。 #include int i,j; if((fp=fopen(“bi.dat”,\ exit (0); for(i=0;i<10; i++) { scanf(\ fwrite(j,sizeof(int),fp); } fclose (fp); } 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计教程第七道第十二章课后练习题(5)在线全文阅读。
相关推荐: