二級(jí)C語言教程章節(jié)測(cè)試16.文件

字號(hào):

一、選擇題:
     (1)以下敘述中錯(cuò)誤的是
     A)C語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快
     B)C語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)
     C)語句 FILE fp; 定義了一個(gè)名為fp的文件指針
     D)C語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
     (2)有以下程序
     #include
     main()
     { FILE *fp; int i, k, n;
     fp=fopen("data.dat", "w+");
     for(i=1; i<6; i++)
     { fprintf(fp,"%d ",i);
     if(i%3==0) fprintf(fp,"\n");
     }
     rewind(fp);
     fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n);
     fclose(fp);
     }
     程序運(yùn)行后的輸出結(jié)果是
     A)0 0 B)123 45 C)1 4 D)1 2
     (3)以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是
     A)feof(fp)
     B)ftell(fp)
     C)fgetc(fp)
     D)rewind(fp)
     (4)有以下程序
     #include "stdio.h"
     void WriteStr(char *fn,char *str)
     {
     FILE *fp;
     fp=fopen(fn,"W");
     fputs(str,fp);
     fclose(fp);
     }
     main()
     {
     WriteStr("t1.dat","start");
     WriteStr("t1.dat","end");
     }
     程序運(yùn)行后,文件t1.dat中的內(nèi)容是
     A)start
     B)end
     C)startend
     D)endrt
     (5) 有如下程序
     #include
     main()
     {FILE *fp1;
     fp1=fopen("f1.txt","w");
     fprintf(fp1,"abc");
     fclose(fp1);
     }
     若文本文件f1.txt中原有內(nèi)容為:good,則運(yùn)行以上程序后文件f1.txt中的內(nèi)容為
     A) goodabc B) abcd C) abc D) abcgood
     (6) 有以下程序
     #include
     main( )
     { FILE *fp; int i,k=0,n=0;
     fp=fopen(“d1.dat”,”w”);
     for(i=1;i<4;i++) fprintf(fp,”%d”,i);
     fclose(fp);
     fp=fopen(“d1.dat”,”r”);
     fscanf(fp,”%d%d”,&k,&n); printf(“%d %d\n”,k,n);
     fclose(fp);
     }
     執(zhí)行后輸出結(jié)果是
     A) 1 2 B) 123 0 C) 1 23 D) 0 0
     (7) 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;語句的作用是使位置指針從文件尾向前移2*sizeof(int)字節(jié))
     #include
     main( )
     { FILE *fp; int i,a[4]={1,2,3,4},b;
     fp=fopen("data.dat","wb");
     for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);
     fclose(fp);
     fp=fopen("data.dat
    ","rb");
     fseek(fp,-2L*sizeof(int).SEEK_END) ;
     fread(&b,sizeof(int),1,fp);/*從文件中讀取sizeof(int)字節(jié)的數(shù)據(jù)到變量b中*/
     fclose(fp);
     printf("%d\n",B) ;
     }
     執(zhí)行后輸出結(jié)果是
     A) 2 B) 1 C) 4 D) 3
     (8) 若fp已正確定義并指向某個(gè)文件,當(dāng)未遇到該文件結(jié)束標(biāo)志時(shí)函數(shù)feof(fp)的值為
     A) 0 B) 1 C) -1 D) 一個(gè)非0值
     (9) 下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是
     A) 文件由ASCII碼字符序列組成,C語言只能讀寫文本文件
     B) 文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件
     C) 文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
     D) 文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
     (10) 以下敘述中不正確的是
     A)C語言中的文本文件以ASCⅡ碼形式存儲(chǔ)數(shù)據(jù)
     B)C語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快
     C)C語言中,隨機(jī)讀寫方式不適用于文本文件
     D)C語言中,順序讀寫方式不適用于二進(jìn)制文件