以下程序的功能是()。includemain(){FILE*fPl;*fp2;fp1:fopen("file1","r");fp2:fopen(以下程序的功能是( )。 # include <stdio.h> main() {FILE*fPl; *fp2; fp1:fopen("file1","r"); fp2:fopen("file2","w"); while(! Feof(fP1)) fputc(fgetc(fP1),fp2); fclose(fP1);fclose(fp2);}A.将磁盘文件的内容显

题目
以下程序的功能是()。includemain(){FILE*fPl;*fp2;fp1:fopen("file1","r");fp2:fopen(

以下程序的功能是( )。 # include <stdio.h> main() {FILE*fPl; *fp2; fp1:fopen("file1","r"); fp2:fopen("file2","w"); while(! Feof(fP1)) fputc(fgetc(fP1),fp2); fclose(fP1);fclose(fp2);}

A.将磁盘文件的内容显示在屏幕上

B.将两个磁盘文件合为一个

C.将一个磁盘文件复制到另一个磁盘文件中

D.将两个磁盘文件合并后送屏幕


相似考题
更多“以下程序的功能是()。#include<stdio.h>main(){FILE*fPl;*fp2;fp1:fopen("file1","r");fp2:fopen( ”相关问题
  • 第1题:

    有以下程序include void WriteStr(char*fn,char*str){FILE*fp; fp=fopen(fn,"w");fpu

    有以下程序 #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"); } 程序运行后,文件t1.dat中的内容是

    A.start

    B.end

    C.startend

    D.endrt


    正确答案:B
    解析:本题主要考查的是打开文件函数fopen().题目开始定义了一个函数,该函数有两个字符指针型参数,其作用分别用来传入文件名和文件内容。函数首先定义一个文件指针印,然后使用fopen()函数打开参数fn所指定的文件。本题的关键就在于fopen()函数的第2个参数,这个参数指定了文件打开的方式。"w"表示为写而打开一个文本文件,如果文件不存在,则新建一个文件,否则将清空原有文件。接下来函数使用fputs()函数将参数str中的内容写入文件,最后调用fclose()函数关闭文件。在主函数中两次调用该函数,但写入的是同一个文件,故只有最后一次写入有效。所以应该选择B。

  • 第2题:

    请补充main 函数,该函数的功能是:把文本文件B中的内容追加到文本文件A的内容之后。

    例如,文佃的内容为“I’m ten.”,文件A的内容为“I’ m a student!”,追加之后文件A的内容为“I’m a student !I’m ten.”

    注意:部分源程序给出如下。

    请勿改动主函数main 和其他函数中的任何内容,仅在函数main 的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<stdio, h>

    include<conio. h>

    define N 80

    main()

    {

    FILE *fp, * fp1, *fp2;

    int i;

    char c[N] ,t, ch;

    clrscr ();

    if ((fp=fopen ("A. dat ", "r") ) == NULL)

    {

    printf ("file A cannot be opened\n");

    exit (0);

    }

    printf("\n A contents are : \n\n");

    for (i=0; (ch=fgetc (fp)) !=EOF; i++)

    {

    C [i]=ch;

    putchar (c [i]);

    fclose (fp);

    if((fp=fopen ("B. dat", "r") )==NULL)

    {

    printf ("file B cannot be opened\n");

    exit (0);

    }

    printf("\n\n\nB contents are : \n\n");

    for (i=0; (ch=fgetc (fp)) !=EOF; i++)

    {

    c [i] =ch;

    putchar (c [i]);

    }

    fclose (fp);

    if ( (fp1=fopen ("A.dat" ,"a"))【 】(fp2

    =fopen ("B. dat", "r") ) )

    {

    while ( (ch=fgetc (fp2)) !=EOF)

    【 】;

    }

    else

    {

    printf("Can not open A B !\n");

    }

    fclose (fp2);

    fclose (fp1);

    printf ("\n***new A contents***\n\n");

    if ( ( fp=fopen ("A. dar", "r") )==NULL)

    {

    printf ("file A cannot be opened\n");

    exit (0);

    }

    for (i=0; (ch=fgetc (fp)) !=EOF;i++)

    {

    c [i] =ch;

    putchar (c [i] );

    }

    【 】;

    }


    正确答案:&& fputc (chfp1) fclose (fp)
    && fputc (ch,fp1) fclose (fp) 解析:第一空:当两个文件都被成功打开时,才能将文件B中的内容追加到文件A中,所以应该用“与”运算符——“&&”。第三空:fputc()函数用于将一个字符写到磁盘文件上去,调用形式为:fputc (要输出的字符,文件指针);。第三空:对一个文件进行操作后,应该关闭它,以防它再被误用。调用形式为:fclose(文件指针);。

  • 第3题:

    有以下程序: include main() {FILE *fp; int i,k,n; fp=fopen("data

    有以下程序: #include <stdio.h> 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); } 程序运行后的输出结果是 ______。

    A.0 0

    B.123 45

    C.1 4

    D.1 2


    正确答案:D
    解析:语句“fprintf(fp,"%d ",i)”的作用是将变量i的值按“%d”的格式输出到中指向的文件上;  “rewind(fp)”的作用是使指针重新返回文件的开头:“fscanf(fp,"%d%d",&k,&n)”的作用是将磁盘文件中的数据送给变量k,n。

  • 第4题:

    有如下程序:include main(){ FILE*fp1;fp1=fopen("f1.txt","w");fprintf(fp1, "abc");

    有如下程序: #include <stdio.h> main() { FILE *fp1; fp1=fopen("f1.txt","w"); fprintf(fp1, "abc"); fclose(fp1); } 若文本文件f1.txt中原有内容为good,则运行以上程序后文件f1.txt中的内容为( )。

    A.goodabc

    B.abcd

    C.abc

    D.abcgood


    正确答案:C
    解析:主函数中定义了一个文件指针fp1,然后通过fopen()函数,以写的方式打开文件f1.txt,并让指针fp1指向它,接着调用fprimf()函数将abc写到文件fp1所指的文件里,由于印1指向文件f1.txt的开始位置,因此abc将把文件f1.txt里原来的内容good覆盖掉,故文件f1.txt里最后的内容为abc,所以,4个选项中选项C符合题意。

  • 第5题:

    有以下程序: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

  • 第6题:

    有以下程序 include main() {FILE*f; f=fopen("filea.txt","w"); fprintf(f,"abc") fc

    有以下程序

    #include<stdio.h>

    main()

    { FILE*f;

    f=fopen("filea.txt","w");

    fprintf(f,"abc")

    fclose(f);

    }

    若文本文件filea.txt中原有的内容为:hello,则运行以上程序后,文件filea.txt中的内容为

    A.helloabc

    B.abclo

    C.abc

    D.abchello


    正确答案:C
    解析:本题主要考查了文件的打开操作,"w"是为写而打开文本文件。这时,如果指定的文件不存在,系统将使用在fopen调用中指定的文件名建立—个新文件;如果指定的文件已存在,则将从文件的起始位置开始写,文件中原有的内容将全部消失,因此选项C是正确的。

  • 第7题:

    以下程序的功能是# include <stdio.h>main (){ FILE *fp1;*fp2; fp1=fopen ("file1","r"); fp2=fopen ("file2","w"); while (!feof (fp1)) fputc (fgetc (fp1),fp2); fclose (fp1); fclose (fp2);}A.将磁盘文件的内容显示在屏幕上 B.将两个磁盘文件合为一个C.将一个磁盘文件复制到另一个磁盘文件中D.将两个磁盘文件合并后送屏幕


    正确答案:C
    本题主要考查文件的操作。在本题的程序中,首先定义了两个文件指针fp1和fp2,然后用指针fp1指向一个以读方式打开的文件file1,用指针fp2指向一个以写方式打开的文件file1,接着执行while循环,循环的结束条件是(!feof (fp1))为假,即feof (fp1)为真,表示对文件fp1的操作读取到结束符,因此,循环结束的条件是对文件file1的读取结束,循环体语句fputc (fgetc (fp1),fp2);中用到了fgetc和fputc函数,C语言提供这两个函数对文本文件进行字符的读写操作。fgetc(fp1)函数的作用是从输入流fp1的当前位置返回一个字符,并将文件指针指示器移到下一个字符处;fputc(ch,fp2)函数的作用是将字符ch的值写入所指定的流文件的当前位置处,并将文件指针后移一位。
    根据上面的分析,可以知道循环结束后,即将指针fp1指向的文件复制到指针fp2指向的文件中,然后关闭两个操作的文件。因此,本题程序的作用是将一个磁盘文件复制到另一个磁盘文件中,本题正确答案选C。

  • 第8题:

    下述程序向文件输出的结果是_______。includevoid main(){ FILE*fp=fopen("TEST","wb")

    下述程序向文件输出的结果是_______。 #include<stdio.h> void main() { FILE*fp=fopen("TEST","wb"); fprintf(fp,"%d%5.of%c%d",58,76273.0,'-'2278); fclose(fp); }

    A.5876273-2278

    B.5876273.000000-2278

    C.5876273-2278

    D.因文件为二进制文件而不可读


    正确答案:C
    解析:fprintf函数工作时,多个数据间不会自动加分隔符,选项A错误;浮点数的输出格式是“%5.of”表明其小数部分输出0位,即没有输出,所以选项B也是错误的。

  • 第9题:

    有如下程序includemain(){FILE*fp1;fp1;fopen("ftxt","w");fprintf(fpl, "abc")fclose

    有如下程序 #include <stdio.h> main() { FILE *fp1; fp1;fopen("ftxt","w"); fprintf(fpl, "abc") fclose(fpl); } 若文本文件f1.txt中原有内容为:good,则运行以上:程序后文件f1.Mt中的内容为

    A.goodabc

    B.abcd

    C.abc

    D.abcgood


    正确答案:C
    解析:本题考核的知识点是操作文件的几个基本函数。主函数中定义了一个文件指针中1,然后通过fopen()函数,以写的方式打开文件“f1.txt’,并让指针印1指向它,接着调用fptind()函数将“abc”写到文件fp1所指的文件里,由于开始fp1指向文件的“f1.txt”的开始位置,因此“abc”将把文件“f1.txt”里原来的内容“good”覆盖掉,故文件“f1.txt”里最后的内容为“abc”,所以,4个选项中选项C符合题意。

  • 第10题:

    有以下程序: include main( ) { FILE *fp; int i=20,j=50,k,n; fp=fopen("d1.da

    有以下程序: #include<stdi0.h> main( ) { FILE *fp; int i=20,j=50,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


    正确答案:B
    解析:本题首先通过函数fprintf( )将变量i,j的值输出到已打开的d1.dat文件中,再由函数fscanf( ) 从d1.dat中读取i,j的值到k,n。

  • 第11题:

    有如下程序:include main (){FILE*fp1;fp1=fopen ("fl.txt", "w");fprintf(fp1,"abc"

    有如下程序:#include <stdio. h>main (){ FILE *fp1; fp1=fopen ("fl.txt", "w"); fprintf(fp1,"abc"); fclose (fp1);}若文本文件f1.txt 中原有内容为:good,则运行以上程序后文件f1.txt 中的内容为( )。

    A.goodabc

    B.abed

    C.abc

    D.abcgood


    正确答案:C
    解析:主函数中定义了一个文件指针fp1,然后通过fopen()函数,以写的方式打开文件“f1.txt”,并让指针fp1指向它,接着调用fprintf()函数将“abc”写到文件fp1所指的文件里,由于开始fp1指向文件的“f1.txt”的开始位置,因此“abc”将把文件“f1.txt”里原来的内容“good”覆盖掉,故文件“f1.txt”里最后的内容为“abc”,所以,4个选项中选项C符合题意。

  • 第12题:

    填空题
    下列程序的功能是()。   #include   main( )   { FILE *fp1,*fp2;    fp1=fopen(“d1.dat”,“r”);  fp2=fopen(“d2.dat”,“w”);    while(!feof(fp1))     fputc(fgetc(fp1),fp2));    fclose(fp1);    fclose(fp2);   }

    正确答案: 将文件d1.dat的内容复制到文件d2.dat中
    解析: 暂无解析

  • 第13题:

    有以下程序:includevoid WriteStr(char *fn, char *sir){FILE * fP; fP=fopen(fn,"w")

    有以下程序: #include<stdio.h> void WriteStr(char *fn, char *sir) { FILE * fP; fP=fopen(fn,"w"); fput6(str,fp); fclose(fp); } main() { WriteStr("t1.dar","start"); WrlteStr("t1.dat","end"); } 程序运行后,文件t1.dat中的内容是( )。

    A.start

    B.end

    C.startend

    D.endrt


    正确答案:B
    解析:在main函数中,两次调用WriteStr函数,即两次执行fp=fopen(fn,"w");语句,以“写入”方式打开fn所指向的同一文件,当第二次打开文件时,文件指针指向文件头,写入的数据将覆盖文件中原有的数据。fputs(str,fp)函数的功能是将字符指针*str的值输出到fp所指向的文件中,故本题中t1.dat的内容为end。

  • 第14题:

    有以下程序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正确。

  • 第15题:

    有以下程序:include main()FILE *fp; int i,k=0,n=0;fp=fopen("d1.dat","w");for(i=l

    有以下程序: #include <stdio.h> main() FILE *fp; int i, k=0, n=0; fp=fopen("d1.dat","w"); for(i=l;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); 执行后输出结果是

    A.1 2

    B.123 0

    C.1 23

    D.0 0


    正确答案:B
    解析:函数fopen(coostchar*filename,constchar*mode)的功能,是以mode指定的模式打开filename指定的磁盘文件;fclose(FILE*fp)的功能是关闭文件指针印指向的文件;函数fscanf(FILE*fp,constchar*format[,address,--])的功能是根据format中的格式从fp指向的文件中读取数据,并存入到相应的address指向的变量中。函数fprintf(FILE*fp,constchar*format[,argument,--])的功能是把argument列表中的表达式值写到fP所指向的文件中;本题中首先定义了一个文件指针fp,然后通过函数fopen以“w”的方式打开文件“d1.dat”,直接通过一个for循环,每循环一次调用函数fprintf将i的值写进fp所指的文件中,该循环共循环3次,循环完后fp所指文件的内容为123,然后通过fclose函数关闭fp所指文件。接着通过fscanf函数将fp所指文件的内容读出并赋值给变量k和变量n,由于fp所指文件中只有123没有分隔符,故只给k赋值为123,变量n的值依然为以前的值,故最后输出k和n的值为123,所以,4个选项中选项B符合题意。

  • 第16题:

    有以下程序:includemain(){FILE*fp;int i,k=0,n=0; fp=fopen("d1.dat","w"); for(i=1;

    有以下程序: #include <stdio.h> 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); { 执行后的输出结果是( )。

    A.1 2

    B.123 0

    C.1 23

    D.0 0


    正确答案:B
    解析:fprintf、fscanf函数与printf、scanf函数作用相仿,都足格式化读写函数,其区别在于:fprintf和fscanf函数的读写对象不是终端而是磁盘文件。这两个函数的一般调用方式为:fprintf(文件指针,格式字符串,输出表列);fscanf(文件指针,格式字符串,输入表列);程序首先将123写入d1.dat文件中,再从该文件中将数据读给变量k和n。由于文件d1.dat中的数据是123,按格式“%d%d”读数据时将123读给k,n没有得到读入的数据,保持初始值0。

  • 第17题:

    以下程序用来判断指定文件是否能正常打开,请填空。 include main() {FILE*fp;if(((fp=fo

    以下程序用来判断指定文件是否能正常打开,请填空。

    include<stdio.h>

    main()

    {FILE*fp;

    if(((fp=fopen("test.txt","r"))=【 】))

    printf("未能打开文件!\n");

    else

    printf("文件打开成功!\n");

    }


    正确答案:NULL
    NULL 解析:本题主要考查对文件的打开操作,"r"是为读而打开文本文件。当指定这种方式时,对打开的文件只能进行“读”操作,若指定的文件不存在,则会出错;另外一些情况,如企图去读—个不允许读的文件时,也会出错。当文件运行错误时,使用语句“if(((fp=fopen("test.txt","r"=NULL))”来判断。

  • 第18题:

    有如下程序

    #include〈stdio.h〉

    main()

    {FILE *fp1;

    fp1=fopen("f1.txt","w");

    fprintf(fp1,"abc");

    fclose(fp1);

    }

    若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为

    A.goodabc

    B.abcd

    C.abc

    D.abcgood


    正确答案:A
    解析:本题中对文件fl.txt打开,进行写操作,此文件原有内容被覆盖。

  • 第19题:

    有以下程序 include main() { FILE *fp1; fp1=fopen("f1.txt","w"); fprintf(fp1,"ab

    有以下程序 #include <stdio.h> main() { FILE *fp1; fp1=fopen("f1.txt","w"); fprintf(fp1,"abc"); fclose(fp1); } 若文本文件f1.txt中原有内容为:good,则运行以上程序后,文件n.txt中的内容为______。

    A.goodabc

    B.abcd

    C.abc

    D.abcgood


    正确答案:C

  • 第20题:

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

    有以下程序 #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"); 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


    正确答案:A

  • 第21题:

    以下程序的功能是()includemain(){FILE * fp1;*fp2;fp1=fopen("filel","r");fp2=fopen

    以下程序的功能是( ) #include<stdio.h> main() {FILE * fp1; *fp2; fp1=fopen("filel","r"); fp2=fopen("file2","w"); while(!feof(fp1)) fputc(fgetc(fp1),fp2); fclose(fp1);fclose(fp2);}

    A.将磁盘文件的内容显示在屏幕上

    B.将两个磁盘文件合为一个

    C.将一个磁盘文件复制到另一个磁盘文件中

    D.将两个磁盘文件合并后送屏幕


    正确答案:C

  • 第22题:

    有如下程序: include main ( ){FILE* fpl;fp1 = fopen("ftxt" ,"w");fpfinff( fp1 ,"

    有如下程序: #include <stdio.h> main ( ) { FILE* fpl; fp1 = fopen("ftxt" ,"w"); fpfinff( fp1 ," abc" ); fclose ( fp1 ); 若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为( )。

    A.goodabc

    B.abcd

    C.abc

    D.abegood


    正确答案:C
    解析:执行语句fp1=fopen("f1.txt","w");以“只写”方式打开了一个名为f1.txt的文件,执行语句fPrintf(fp1,"abc",);向该文件写数据时,如果文件f1.txt不存在,则新建一个f1.txt文件;如果f1.txt已存在,则在打开该文件时重写文件内容。所以执行fprintf(fp1,"abc");时,f1.txt中原有内容good被删除,而字符中”abc”被输出到fpl指向的文件f1.txt中。

  • 第23题:

    下列程序的功能是()。   #include   main( )   { FILE *fp1,*fp2;    fp1=fopen(“d1.dat”,“r”);  fp2=fopen(“d2.dat”,“w”);    while(!feof(fp1))     fputc(fgetc(fp1),fp2));    fclose(fp1);    fclose(fp2);   }


    正确答案:将文件d1.dat的内容复制到文件d2.dat中