以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)

题目

以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是

A.feof(fp)

B.ftell(fp)

C.fgetc(fp)

D.rewind(fp)


相似考题
参考答案和解析
正确答案:D
解析:本题考查的是文件操作函数.题目中fseek(fp,0L,SEEK_SET)的作用将文件指针定位到文件开始。feof(fp)的作用是判断文件指针是否已到文件结尾,因此选项A不对。ftell(fp)的作用是获取当前文件指针的位置,因此选项B不对。fgetc(fp)的作用是从文件中读取一个字节,因此选项C不对。rewind(中)的作用是将文件指针重定位到文件开头,所以应该选择D。
更多“以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp) ”相关问题
  • 第1题:

    如果将主文件型指针fp指向的文件内部指针置于文件尾,正确的语句是( )。A.feof(fp);B.rewind(fp);C.fseek(fp,OL,0);D.fseek(fp,OL,2);


    正确答案:D
    文件操作;主文件型指针fp指向的文件内部指针置于文件尾的操作;

  • 第2题:

    以下与函数fseek(fp,OL,SEEK_SET)有相同作用的是( )。

    A.feof(fp)

    B.tell(fp)

    C.fgetc(fp)

    D.rewind(fp)


    正确答案:D
    解析:本题的考点是C语言的文件操作。函数fseek(fp,0L,SEEK_SET)的作用是,将文件指针fp移到相对于文件开始处(SEEK_SET)位移为0L的地方,也就是文件的开头。选项A的feof(fp)是判断是否读到了文件尾,作用与函数fseek不符。选项B的ftell(fp)是告知文件指针的当前位置,作用与函数fseek也不符。选项C的fgetc(fp)是从文件指针fp中读入一个字符,作用与函数fseek也不符。选项D的rewind(fp)是将文件指针回绕到文件开始处,作用与函数fseek(fp,0L,SEEK_SET)相同。

  • 第3题:

    有以下程序includemain(){FILE*fp;int i,a[6]={1,2,3,4,5,6};fp=fopen("d3.dat","w+b"

    有以下程序 #include<stdio.h> main() {FILE*fp;int i,a[6]={1,2,3,4,5,6}; fp=fopen("d3.dat","w+b"); fwrite(a,sizeof(int),6,fp); fseek(fp,sizeof(int),3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/ fread(a,sizeof(int),3,fp);fclose(fp); for(i=0

    A.4,5,6,4,5,6,

    B.1,2,3,4,5,6,

    C.4,5,6,1,2,3,

    D.6,5,4,3,2,1,


    正确答案:A
    解析: 首先利用fwrite函数将数组a中的数据写到文件中,接着fseek函数的功能是读文件的位置,指针从文件头向后移动3个int型数据,这时文件位置指针指向的是文件中的第4个int数据“4”,然后fread函数将文件fp中的后 3个数据4,5,6读到数组a中,这样就覆盖了数组中原来的前 3项数据。最后数组中的数据就成了{4,5,6,4,5,6}。

  • 第4题:

    有以下程序 include main(){FILE *fp;int i; char ch[]="abcd",t; fp=fopen("abc.dat"

    有以下程序 #include <stdio.h> main() {FILE *fp; int i; char ch[]="abcd",t; fp=fopen("abc.dat","wb++"); for(i=O;i<4;i++)fwrite(&ch[i],1,1,fp); fseek (fp,-2L,SEEK_END); fread (&t,1,1,fp); fclose (fp); printf ("%c\n",t); } 程序执行后的输出结果是______。

    A.d

    B.c

    C.b

    D.a


    正确答案:A
    解析:此题考核的是文件的读写,定义—个FILE类型结构体的指针fp,以“可以由位置函数设置读和写”方式打开一个 abc.dat文件,并向文件输入数组变量ch指向的字符串,则文件内的内容为“abcd”,执行fseek函数,则文件类型指针fp指向文件尾向前移动2个字节的位置处,即指针指向“b”,所以最后的输出结果为b,答案选C。

  • 第5题:

    执行以下程序后,test.txt文件的内容是(若文件能正常打开) ()。include include

    执行以下程序后,test.txt文件的内容是(若文件能正常打开) ( )。#include <stdio.h>#include <stdlib.h>main( ){ FILE * fp; char * s1 = "Fortran" , * s2 = "Basic"; if((fp = fopen( "test. txt" ," wb" )) = = NULL) { prinff( "Can't open test. txt file \n"); exit(1); } fwrite( s1 ,7,1 ,fp); /* 把从地址s1开始到7个字符写到fp所指文件中*/ fseek(fp,OL,SEEK_SET); /*文件位置指针移到文件开头*/ fwrite (s2,5,1,fp); felose (fp);}

    A.Basiean

    B.BasieFortran

    C.Basic

    D.FortranBasie


    正确答案:A
    解析:程序以“只写”方式打开一个名为test.txt的文件,并向该文件写入指针变量s1指向的7个字符"Fortran",执行fseek函数,使文件位置指针移到文件的开头,再次向文件输入指针变量s2指向的5个字符"Basic"这时系统会覆盖原有的内容"Fortr",所以最后test.txt里的内容为:Basican。

  • 第6题:

    以下与函数fseek(fp,0L,SEEK_SE乃有相同作用的是( )。

    A.feof(fp)

    B.ftell(fp)

    C.fgetc(fp)

    D.rewind(fp)


    正确答案:D
    解析:题目中fseek(fp,0L,SEEK_SET)的作用将文件指针定位到文件开始。feof(fp)的作用是判断文件指针是否已到文件结尾,因此选项A不对。ftell(fp)的作用是获取当前文件指针的位置,因此选项B不对。fgetc(fp)的作用是从文件中读取一个字节,因此选项C不对。rewind(fp)的作用是将文件指针重定位到文件开头,所以应该选择D。

  • 第7题:

    有以下程序include main(){FILE *fp;int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprin

    有以下程序 #include <stdio.h> 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.3020


    正确答案:A
    解析:本题考查的知识点是文件的综应用。本题首先以创建方式打开文件“d1.dat”,两次调用fprintf()把i和i的值写到文件“d1.dar”中,文件“d1.dat的内容为20回车>30回车,后把该文件关闭再以读的方式打开,文件位置指针指向文件头,在通过fscanf()函数从中读取两个整数到k和n中,由于格式符无间隔,因此输入数据可以用回车隔开,故输入的k值为20,n的值为30.所以4个选项中A正确。

  • 第8题:

    以下与函数fseek(fp,OL,SEEK_SET)有相同作用的是______。

    A.feof(fp)

    B.ftell(fp)

    C.fgetc(fp)

    D.rewind(fp)


    正确答案:D

  • 第9题:

    有以下程序

    #inculde <stdio.h>

    main()

    { FILE*Fp;char str[10];

    Fp=Fopen(“myFile.dat”,”W”);

    Fputs(“aBc”,Fp);Fclose(Fp);

    Fp=Fopen(“myFile.dat”,”a+”);

    FprintFF(Fp,”%d”,28);

    reWind(Fp);

    FscanF(Fp,”%s”,str);puts(str);

    Fclose(Fp);

    }

    程序运行后的输出结果是

    A.aBc

    B.28c

    C.aBc28

    D.因类型不一致而出错


    正确答案:C
    解析:首先打开文件写入字符串"abc",然后关闭文件,再打开时文件指针定位到了最后,写入"28",然后重定位位置指针到开始,读取字符串为"abc28"。

  • 第10题:

    有以下程序 include main( ) { FILE *fp;int i,a[6]={1,2,3,4,5,6}; fp=fopen("d3.da

    有以下程序

    #include <stdio.h>

    main( )

    { FILE *fp;int i,a[6]={1,2,3,4,5,6};

    fp=fopen("d3.dat","w+b");

    fwrite(a,sizeof(int),6,fp);

    fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/

    fread(a,sizeof(int),3,fp);fclose(fp);

    for(i=0;i<6;i++)printf("%d,",a[i]);

    }

    程序运行后的输出结果是

    A.4,5,6,4,5,6,

    B.1,2,3,4,5,6,

    C.4,5,6,1,2,3,

    D.6,5,4,3,2,1,


    正确答案:A
    解析:首先利用fwrite函数将数组a中的数据写到文件中,接着fseek函数的功能是读文件的位置,指针从文件头向后移动3个int型数据,这时文件位置指针指向的是文件中的第4个int数据“4”,然后fread函数将文件fp中的后3个数据4,5,6读到数组a中,这样就覆盖了数组中原来的前3项数据。最后数组中的数据就成了{4,5,6,4,5,6}。

  • 第11题:

    fwrite函数的一般调用形式是()。

    • A、fwrite(buffer,count,size,fp)
    • B、fwrite(fp,size,count,buffer)
    • C、fwrite(fp,count,size,buffer)
    • D、fwrite(buffer,size,count,fp)

    正确答案:D

  • 第12题:

    单选题
    有以下程序:#include main(){ FILE *fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen(data.dat,w+b); fprintf(fp,%d,a[0]); for(i = 1;i < 6;i++) {  fseek(fp,0L,0);  fscanf(fp,%d,&k);  fseek(fp,0L,0);  fprintf(fp,%d,a[i]+=k); } rewind(fp); fscanf(fp,%d,&k); fclose(fp); printf(%d,k);}程序的运行结果是(  )。
    A

    21

    B

    6

    C

    123456

    D

    11


    正确答案: A
    解析:
    程序执行过程为:以读/写方式建立一个新的文本文件data.dat,将l写入文件;执行for循环,将文件指针移到文件开头,将文件第一个数值1赋给k,再将指针移动到开头,向文件内输入a[i]+k=3。for循环实现将a数组中元素累加,结果21存放在文件中。调用rewind将文件指针移动到开头,调用fscanf函数从文件中读出数值赋予k=21,调用fclose函数关闭文件,打印k值。答案选择A选项。

  • 第13题:

    有以下程序:#include<stdio.h>void 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),1,fp);/*文件中读取sizeof(int)字节的数据到变量b中*/ fclose(fp); printf("%d\n",b);}程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是( )。A.使位置指针从文件末尾向前移2*sizeof(int)字节B.使位置指针从文件末尾向前移2字节C.使位置指针向文件末尾向前移懂2*sizeof(int)字节D.使位置指针向文件末尾移动2字节


    正确答案:A
    fseek 用于二进制方式打开的文件,移动文件读写指针位置.

  • 第14题:

    执行以下程序后,test.txt文件的内容是(若文件能正常打开)( )。includemain(){FILE*fp;c

    执行以下程序后,test.txt文件的内容是(若文件能正常打开)( )。 #include<stdio.h> main() { FILE*fp; char*s1="Fortran",*s2="Basic"; if((fp=fopen("test.txt","wb"))==NULL) { printf("Can't open test.txt file\n");exit(1);} fwrite(s1,7,1,fp);/*把从地址s1开始的7个字符写到fp所指文件中*/ fseek(fp,0L,SEEK_SET);/*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); }

    A.Basican

    B.BasicFortran

    C.Basic

    D.FortranBasic


    正确答案:A

  • 第15题:

    有以下程序includemain(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen("d1.daf","w");for(

    有以下程序 #include <stdio.h> main() {FILE *fp; int a[10]={1,2,3},i,n; fp=fopen("d1.daf","w"); for(i=0;i<3;i++) fprintf(fp,"%d",a[i]); fprintf(fp,"\n"); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d",&n); fclose(fp);

    A.12300

    B.123

    C.1

    D.321


    正确答案:B
    解析: 在函数中首先把整型数组a[10]中的每个元素写入文件d1.dat中,然后再次打开这个文件,把文件d1.dat中的内容读入到整型变量n中,最后输出变量n的值。

  • 第16题:

    有以下程序 include main() { FILE *fp;int i,a[6]={1,2,3,4,5,6}; fp=

    有以下程序 #include<stdio.h> main() { FILE *fp;int i,a[6]={1,2,3,4,5,6}; fp=fopen("d3.dat","w+b"); fwrite(a.sizeof(int),6,fp); fseek(fp,sizeof(int)*3,SEEK_SET):/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/ fread(a,sizeof(int),3,fp);fclose(fp); for(i=0;i<6;i++)printf("%d,",a[i]); } 程序运行后的输出结果是

    A.4,5,6,4,5,6,

    B.1,2,3,4,5,6,

    C.4,5,6,1,2,3,

    D.6,5,4,3,2,1,


    正确答案:A
    解析:首先利用fwrite函数将数组a中的数据写到文件中,接着fseek函数的功能是读文件的位置,指针从文件头向后移动3个int型数据,这时文件位置指针指向的是文件中的第4个int数据“4”。然后 fread函数将文件fp中的后3个数据4,5,6读到数组a中,这样就覆盖了数组中原来的前3项数据。最后数组中的数据就成了{4,5,6,4,5,6},故本题答案为A)。

  • 第17题:

    有以下程序(提示:程序中fseek(fp-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件末尾向前移2*sizeof(ing)字节) #include <stdio.h> 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)字节的数据到变量b中*/ fclose(fp); printf("%d\n",B) ; } 执行后输出结果是

    A.2

    B.1

    C.4

    D.3


    正确答案:D
    解析:函数fopen(constchar*filename,constchar*mode)的功能是以mode指定的模式打开filename指定的磁盘文件:fclose(FILE*fp)的功能是关闭文件指针fp指向的文件;函数fscanf(FILE*fp,constchat'*format1,address,--])的功能是根据format中的格式从中指向的文件中读取数据,并存入到相应的address指向的变量中.函数fprintf(FILE*fp,constchar*format[,argument--])的功能是把argument列表中的表达式值写到fp所指向的文件中;函数fwfite(void*ptr,intsize,intn,FILE*fp)的功能是把ptr指向的缓冲区中的size×n个字节写到文件指针fp指向的文件中。本题中首先定义了一个文件指针fp,然后通过函数fopen以可"wb"的方式打开文件"data.daft",直接通过一个for循环,每循环一次调用函数fwrite将数组中的元素a[i]的值写进fp所指的文件中,该循环共循环4次,循环完后fp所指文件的内容为123,然后通过fclose函数关闭fp所指文件.接着通过函数fopen以"rb”的方式打开文件"data.dat",通过fseek函数让指针中从文件末尾向前移动2个int型大小字节的,然后通过函数fread从中所指的文件中读取一个int型大小的数据到变量b中,故此时b的值为3,因此最后输出的,b的值为3,所以,4个选项中选项D符合题意。

  • 第18题:

    有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2 * sizeof(int)字节): #include <stdio.h> main() { FILE *fp; int i, a[4]={1,2,3,4},b; fp=fopen("data.dar","wb"); for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp); fclose(fp); fp=fopen("data.dar","rb"); fseek(fp,-2L*sizeof(int),SEEK_END); fread(&b,sizeof(int),1,fp); /*从文件中读取sizeof(int)字节的数据到变量b中*/ fclose(fp); printf("%d\n",b); } 执行后的输出结果( )。

    A.2

    B.1

    C.4

    D.3


    正确答案:D
    解析:Leek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节,调用此函数后指针指向a[2],fread(&b,sizeof(int),1,fp)是从文件中读取sizeof(int)字节的数据到变量b中,也就是从文件中读取数据3到变量b中。

  • 第19题:

    有以下程序:includemain(){FILE*fp;int a[10]={1,2,3},i,n;fp=fopen("d1.dat","w");fo

    有以下程序: #include<stdio.h> main() {FILE*fp;int a[10]={1,2,3},i,n; fp=fopen("d1.dat","w"); for(i=0;i<3;i++)fprintf(fp,"%d",a[i]); fprintf(fp,"\n"); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d",&n); fclose(fp); printf("%d\n",n); 程序的运行结果是( )。

    A.12300

    B.123

    C.1

    D.321


    正确答案:B

  • 第20题:

    已知函数fp的原型是:int fp(char c,char*k=NULL,double d=10.0);下列调用中正确调用fp的是

    A.fp(99)和fp('A',"ABC")

    B.fp('A',4.5)和fp('A',“ABC”)

    C.fp('A',“ABC”)和fp()

    D.fp()和fp(99)


    正确答案:A

  • 第21题:

    执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。 #include <stdio.h> main() { FILE *fp; char *s1="Fortran",*s2="Basic"; if((fp=fopen("test.txt","wb"))=NULL) { printf("Can't open test.txt file\n"); exit(1);} fwrite(s1,7,1,fp); /* 把从地址s1开始的7个字符写到fp所指文件中*/ f seek(fp, 0L,SEEK_SET);/*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); }

    A.Basican

    B.BasicFortran

    C.Basic

    D.FortranBasic


    正确答案:A
    解析:此题考核的是文件的读写,定义一个FILE类型结构体的指针fp,以“只写”方式打开—个test.txt文件,并向文件输入指针变量s1指向的7个字符,则文件内的内容为“Fortran”,执行fseek函数文件位置指针移到文件的开头,再次向文件输入指针变量s2指向的5个字符,虽然此时的文件前5个字符字符已被“Forta”所占用,但当向文件输入“Basic”这五个字符时,系统会覆盖原有的内容“Forta”,所以最后test.txt里的内容为:Basican。

  • 第22题:

    以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是:()

    A、FILE *FP; FP=fopen("fil2","r");

    B、FILE *FP; FP=fopen("fil2","rb");

    C、FILE *FP; FP=fopen("fil2","wb+");

    D、FILE *FP; FP=fopen("fil2","rb+");


    参考答案CD

  • 第23题:

    单选题
    有以下程序:#include main(){ FILE *fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen(data.dat,w+b); fwrite(&a[0],sizeof(int),1,fp); for(i = 1;i < 6;i++) {  fseek(fp,0L,0);  fread(&k,sizeof(int),1,fp);  fseek(fp,0L,0);  a[i]+=k;  fwrite(&a[i],sizeof(int),1,fp); } rewind(fp); fread(&k,sizeof(int),1,fp); fclose(fp); printf(%d,k);}程序的运行结果是(  )。
    A

    21

    B

    6

    C

    123456

    D

    11


    正确答案: A
    解析:
    “w+”表示打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则建立该文件;加入b字符后“w+b”用来告诉函数库打开的文件为二进制文件。程序执行过程为:以读/写方式打开一个新的二进制文件data.dat,从地址为a的数据块开始,一次输出一个整型字节的数据,只输出一次,将1写入文件中;执行for循环,将文件指针移到文件开头,将文件第一个数值读出赋给k,再将指针移动到开头,向文件内输入a[i]+k=3。for循环实现将a数组中元素累加,结果21存放在文件中。调用rewind将文件指针移动到开头,调用fread函数从文件中读出一个整型数据赋给k=21,调用fclose函数关闭文件,打印k值,答案选择A选项。