最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言文件练习题含答案(推荐文档)

来源:动视网 责编:小OO 时间:2025-09-26 21:15:17
文档

C语言文件练习题含答案(推荐文档)

第十二章文件基础训练一、填空题1、文件是指___________________________________________________________。2、根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。3、现要求以读写方式,打开一个文本文件stu1,写出语句:__FILE*fpfp=fopen(“stu.txt”,”r+”);_______________。_______________________
推荐度:
导读第十二章文件基础训练一、填空题1、文件是指___________________________________________________________。2、根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。3、现要求以读写方式,打开一个文本文件stu1,写出语句:__FILE*fpfp=fopen(“stu.txt”,”r+”);_______________。_______________________
第十二章    文件

基础训练

一、填空题

1、 文件是指___________________________________________________________。

2、 根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。

3、 现要求以读写方式,打开一个文本文件 stu1 ,写出语句:

__FILE *fp fp=fopen(“stu.txt”,”r+”);_______________。

__________________________________。

4、 现要求将上题中打开的文件关闭掉,写出语句:___fclose(fp);__________________。

5、 若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则打开文件方式字符串应该是___fopen(“a.txt”,”wb+”);__________。

二、选择题

1、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是(       ) 。               

A) fopen("A:\\abc.txt  B) fopen("A:\\\\\\abc.txt

C) fopen("A:\\abc.txt

2、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为(    )。

A) 0                  B) 1        C) -1           D) 一个非0值

3、 当已经存在一个file1.txt文件,执行函数fopen(“file1.txt”,”r+”)的功能是(    )。

A)打开file1.txt文件,清除原有的内容;

B)打开file1.txt文件,只能写入新的内容;

C)打开file1.txt文件,只能读取原有内容;

D)打开file1.txt文件,可以读取和写入新的内容;

4、 fread(buf , ,2,fp)的功能是:(      )

A)从fp所指向的文件中,读出整数,并存放在buf中;

B)从fp所指向的文件中,读出整数和2,并存放在buf中;

C)从fp所指向的文件中,读出个字节的字符,读两次,并存放在buf地址中;

D)从fp所指向的文件中,读出个字节的字符,并存放在buf中;

5、 以下程序的功能是(     ) 。

main()

{

 FILE  * fp;

 char  str[]=”Beijing  2008”;

  fp = fopen(“file2”,”w”);

  fputs(str,fp);

  fclose(fp);

}

A)在屏幕上显示“Beiing  2008”;

B)把”Beijing  2008”存入file2文件中;

C)在打印机上打印出“Beiing  2008”;

D)以上都不对;

6、 以下程序是建立一个名为myfile的文件,并把从键盘输入字符存入该文件,当键盘上输入结束时关闭该文件。选择正确内容填空。

main()

{ FILE  *fp;

 char  c ;

 char  name[10];

 fp=fopen(“myfile”,_”wb”_______);

 do

{ c=getchar();

  fputc(c , fp);

} while(c!=EOF);          

 fclose(fp);  }

(1) A) fgets          B)fopen       C )  fclose            D)  fgetc 

(2) A) “r”            B)  “r+”       C )  “w”              D)  “w+”

三、设计题

1、 编写一个程序,以只读方式打开一个文本文件 filea.txt ,如果打开,将文件地址放在fp文件指针中,打不开,显示“Cann’t  open  filea.txt  file \\n. ”,然后退出。void main()

{

    FILE *fp;

    if((fp=fopen("filea.txt

    printf("")

}

综合训练

一、填空题

1、以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。 

FILE  *myf;   ling  f1;

myf= _________ (“test.t”,“rb”);             

fseek(myf,0,SEEK_END); f1=ftel(myf);

fclose(myf);

printf(“%d\\n”,f1);

2、下面程序把从终端读入的10个整数以二进制方式写到一个名为bi.dat的新文件中,请填空.

#include

     FILE  *fp;

     main()

    {  int i,j;

       if((fp=fopen(__”bi.dat”__________,    "wb"))==NULL)  exit(0);         

for(i=0; i<10; i++)

      {  scanf("%d",&j);

        fwrite(&j,sizeof(int),1,______fp_______  );                  

     }

     fclose(fp);

3、以下程序用来统计文件中字符个数。请填空。

 #include  "stdio.h"

 main()

 { FILE  *fp;   long  num=0L;

    if((fp=fopen("fname.dat

    {  pirntf("Open error\\n");  exit(0);}

     while( ___!feof(fp)______________ )                       

     { fgetc(fp); num++;}

     printf("num=%1d\\n",num-1);

     fclose(fp);

 }

4、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件文件中形成文本文件,并将字符的个数写到文件尾部,请填空。

#include

    main(  )

    {      FILE    *fp;

           char    ch,fname[32];   int  count=0;

           printf("Input the filename :"); scanf("%s",fname);

        if((fp=fopen( _fname____________  ,"w+"))==NULL)                         

      {    printf("Can't open file:%s \\n",fname); exit(0);}

      printf("Enter data:\\n");

      while((ch=getchar())!="#"){   fputc(ch,fp);  count++;}

      fprintf(____________ ,"\\n%d\\n", count);                             

      fclose(fp);

    } 

5、以下程序的功能是:从键盘上输入一个字符串, 把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。请填空。

     #include

     main()

     { FILE     *fp;

       char    str[100];    int   i=0;

       if((fp=fopen("text.txt",___________))==NULL)

        { printf("can't open this file.\\n");exit(0);}

        printf("input astring:\\n");    gest(str);

        while (str[i])

{ if(str[i]>='a'&&str[i]<='z')

            str[i]=_____ ________;

            fputc(str[i],fp);

            i++;

        }

        fclose(fp);

        fp=fopen("test.txt",______________);

        fgets(str,100,fp);

        printf("%s\\n",str);

        fclose(fp);

     } 

6、 下面程序由键盘输入字符,存放到文件中,用!结束输入,请在____________上填空。

#include

main()

{ FILE  *fp;

 char  ch ;

 char  fname[10];

 printf(“Input  name  of  file\\n”);

 gets(fname);

 if ((fp=fopen( fname, “w”))==NULL)

  { printf (“cannot  open  file\\n”);

   exit(0) ;

  }

 printf((“Enter  data:\\n”);

 while(_______________!=’!’)           //提示:从键盘输入一个字符,如不是!

 fputc(__________________) ;       //将从键盘输入的字符存入打开的文件中

 fclose(fp);

}

7、下面程序用变量count 统计文件中字符的个数。请在____________中填写正确内容。

#include

main()

{ FILE  *fp;

long  count =0;

if ((fp=fopen(“letter.txt”,___________))==NULL)

  { printf (“cannot  open  file\\n”);

  exit(0) ;

  }

while( ! feof (fp))          //! feof (fp)---- 未到文件尾,为真                  

//feof()函数判断文件指针是否到文件尾,到文件尾,函数返回非0值,若未到文件尾,函数返回值0

      { ___________________;              //提示:从文件读入一个字符

         ______________;

     }

    printf( “count =%ld\\n”,count);

    _________________;

   }

二、选择题

1、下面的程序执行后,文件testt.t中的内容是(   )。         

#include

void fun(char   *fname.,char   *st)

{   FILE  *myf;    int   i;

myf=fopen(fname,“w” );

for(i=0;ifclose(myf);

}

main()

{ fun(“test”,“new world”; fun(“test”,“hello,”0;)

A)hello,         B)new worldhello,   C)new world           D) hello, rld

2、有以下程序

#include

main()

{ 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”);

fp=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

3、 若有以下定义和说明:

#iinclude

struct  std

{ char  num[6];

 char  name[8];

 float  mark[4];

}a[30];

FILE  * fp;

设文件中以二进制形式存有许多学生的数据,且已经正确打开,文件指针定位在文件开头,若要从文件中读出30个学生的数据放入a数组中,以下正确的语句是(       )。

A)fread (a , sizeof(struct  std),30 , fp) ;

B)fread (&a[i] , sizeof(struct  std),1 , fp) ;

C)fread (a +i, sizeof(struct  std),1 , fp) ;

D)fread (a , struct  std,30 , fp) ;

4、设有以下结构体类型:

       struct  st

       { char  name[8];

        int  num;

     float  s[4];

    } student [20];

       并且结构体数组student中的元素都已经有值,若要将这些元素写到fp所指向的磁盘文件中,以下不正确的形式是(     )。

A)fwrite (student , sizeof(struct  st ),20 , fp) ;

B)fwrite (student ,20* sizeof(struct  st ),1, fp)  ;

C)fwrite (student , 10*sizeof(struct  st ),10 , fp);

D)for (i=0;i<20;i++)

fwrite (student+i , sizeof(struct  st ),1 , fp);

5、以下程序是将一个名为old.dat 的文本文件拷贝到一个名为new.dat的新文本文件中,请选择正确内容填空。

#include

 main()

{ FILE  * fp1, *fp2 ;

 int  c ;

 fp1=fopen(“old.dat”,__________);

fp2=fopen(“new.dat”,__________);

 c=getc(fp1);

 while(c!=EOF)

{  fputc(c,fp2) ;

   c = fgetc(fp1);

}          

 fclose(fp1); 

fclose(fp2);

 }

  A)  “r”        B ) “r+”          C)  “rb”             D)   “rb+”

  A)  “W+ “     B)  “wb+”        C) “ w”              D)   “wb”

三、问答题

1、 什么叫“缓冲文件系统”?

四、编程题:

1、 从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test ”中保存,输入的字符串以!表示结束。

基础训练

一、填空题

1、是指存储在外部介质上数据的集合 ;

2、 ASCII文件和二进制文件;

3、  FILE  * fp ;

     fp = fopen( “stu”,” r+ ”) ;

4、  fclose ( fp);

5、  ”wb+”

二、选择题:

1、B           2.、A          3、D         4、C        5、B 

6、B、C

三、编程题:参

   main()

{

 FILE  * fp;

 If  ((fp=fopen(“filea.txt”,”r”))==NULL)

  {

   printf(“Cann’t  open  filea.txt  file \\n” );

   exit(0); 

   }

}

综合训练

一、填空题

1、fopen

2、"bi.dat"

fp

3、 !feof(fp)

4、  fname

       fp

5、  "w"或"w+"或"wt"或"w+t"或"""wt+"

  str[i]-32 或str[i]-('a'-'A'或str[i]-'a'+'A'

 "r"或"r+"或"r+t"或"rt+"

6、     ( ch=getchar())        

  ch , fp

7、     r      

 fgetc(fp);      

 count++    

 fclose(fp);

二、选择题

1.、A        2、 A        3、A        4、C         5、 A、C 

三、问答题(略)

四、编程题  

参:

#include

main()

{FILE  *fp;

char  str[80],filename[10];

int i=0;

if((fp=fopen(“test”,”w”))==NULL)

{ printf(“Cannot  open  file\\n”);

 exit(0);

}

printf(“Input  a string:\\n”);

gets(str);

while(str[i]!=’!’) 

{

if (str[i]>=’a’&&str[i]<=’z’)

str[i]=str[i]-32;

fputc(str[i],fp);

i++;}

fclose(fp);

fp=fopen(“test”,”r”);

fgets(str,strlen(str)+1,fp);

printf(“%s\\n”,str);

fclose(fp);

}

文档

C语言文件练习题含答案(推荐文档)

第十二章文件基础训练一、填空题1、文件是指___________________________________________________________。2、根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。3、现要求以读写方式,打开一个文本文件stu1,写出语句:__FILE*fpfp=fopen(“stu.txt”,”r+”);_______________。_______________________
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top