计算机二级

有以下程序includemain(){FILE*fp;int a[10]={1,2,3},i,n; fp=fopen("d1.dat","w"); f有以下程序 #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",

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

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

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

第1题:

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

第2题:

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

第3题:

有以下程序

#include <stdio.h>

main()

{ FILE *fp; int a[10]={1,2,3},i,n;

fp=fopen("dl.dat","w");

for(i=0;i<3;i++) fprintf(fp,"%d",a[i]);

fprintf(fp,"\n");

fclose(fp);

fp=fopen("dl.dat","r");

fscanf(fp,"%d",&n);

fclose(fp);

printf("%d\n",n);

}

程序的运行结果是

A)12300

B) 123

C) 1

D) 321


正确答案:B

 

第4题:

有以下程序

#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
解析:在函数中首先把整型数组a[10]中的每个元素写入文件d1.dat中,然后再次打开这个文件,把文件d1.dat中的内容读入到整型变量n中,最后输出变量n的值。

第5题:

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

第6题:

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

有以下程序 #include<stdio.h> main() {FILE *fp;int i=20,j=30,k,n; fp=fopen("D1v.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

第7题:

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

有以下程序 #include<stdio.h> main() { FILE *fp;int k,n,a[6]={1,2,3,4,5,6}; fp=fopen("d2.dat","w"); fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]); fclose(fp); fp=fopen("d2.daf","r"); fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n); fclose(fp); } 程序运行后的输出结果是

A.1 2

B.1 4

C.123 4

D.123 456


正确答案:D
解析:将有6个元素的整型数组分两行输出到一个文件中,因为输出的都是数字并且每行都没有分隔符,所以当再对其进行读取操作时,每一行都会被认为是一个完整的数,而换行符则作为它们的分隔符。故本题答案为D)。

第8题:

有以下程序

#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

第9题:

有下列程序: include main() { FILE *fp; int a[10]={1,2,3},i,n;

有下列程序: #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=open("d1.dat","r"); fscanf(fp,"%d",&n); fclose(fp); prinff("%d\n",n); 程序的运行结果是( )。

A.12300

B.123

C.1

D.321


正确答案:B
解析:本题考查以读和写的方式打开文件对文件内容操作的不同,fp=fopen("d1.dat","w");以可写的方式为输出建立新文本文件,调用printf输出“123”,fp=fopen("d1,dat","r");以只读的方式打开文本文件,不能对文件内容进行操作,故运行结果为选项B)。

第10题:

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

有以下程序: #include <stdio.h> main() { FILE *fp; int i,k,n; fp=fopen("data.dar","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
解析:程序首先定义了一个文件指针fp,并使用fopen()函数以“w+”方式新建一个可读写文件“data.dat”。然后使用一个for循环,循环变量i从1递增到5,在循环体中每次写入循环变量i的值和4个空格,当i能被3整除的时候写入一个换行符。所以循环结束时,文件中的内容应该为:12345接下来程序使用rewind()函数,将文件的读写指针调回起始位置。并调用fscanf()函数从文件中读取两个整数到变量k和n。所以最终输出应该为:12。故本题选D。

更多相关问题