计算机二级

有以下程序:include main( ){FILE * fp; int i,k,n;fp = fopen( "data. dat" ,"w +" )有以下程序:#include <stdlo.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); fsc

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

有以下程序:#include <stdlo.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

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

第2题:

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

有以下程序: #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
解析:本题中首先定义了一个文件指针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符合题意。

第3题:

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

有以下程序 #include<stdio.h> main() { FILE*fp;int i,k=0,n=0; fp=fopen("d1.dat","w"); for(i=1;1<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 2 3

D.1 23


正确答案:A

第4题:

有以下程序 include main( ) { FILE *fp; int i,k=0,n=0; fp=fopen(“d1.dat”,

有以下程序 #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
解析:在文件写操作时,两个数之间应用空格隔开,而在本题中,没有用空格隔开,所以123视为一个数。

第5题:

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

第6题:

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

第7题:

有以下程序: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符合题意。

第8题:

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

第9题:

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

有以下程序: #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
解析:本题中首先定义了一个文件指针fp,然后通过函数fopen以w的方式打开文件d1.dat,直接通过一个for循环,每循环一次调用函数fprintf将i的值写进fp所指的文件中,该循环共循环3次,循环完后fp所指文件的内容为123,然后通过fclose函数关闭fp所指文件。接着通过fscanf函数将中所指文件的内容读出并赋值给变量k和变量n,由于fp所指文件中只有123没有分隔符,故只给k赋值为123,变量n的值依然为以前的值,故最后输出k和n的值为123、0,所以,4个选项中选项B符合题意。