有以下程序 #include<stdi0.h> main {FILE*fp;int a[0]一{1,2,3,0,0},i; fp=fopen("d2.dat

题目

有以下程序 #include<stdi0.h> main {FILE*fp;int a[0]一{1,2,3,0,0},i; fp=fopen("d2.dat,"wb"); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen("d2.dat","rb"); fread(a.sizeof(int),10,fp); fclose(fp); for(i=0;i<10;i++)printft("%d",a[i]); } 程序的运行结果是( )。

A.1,2,3,0,0,o,0,0,0,0,

B.1,2,3,1,2,3,0,0,0,0,

C.123,0,0,0,0,123,0,0,0,0,

D.1,2,3,0,0,1,2,3,0,0,

参考答案和解析
正确答案:D
本题程序首先用函数fopen以“wb”的方式开打文件“d2.dat”,然后调用两次fwrite函数将数组a的5个元素,依次输出到文件fp中,共10个字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用head函数从文件印中读取这10个字节的数据到数组a中。型数组bb中,因此,【2】处填“str[i]-0”;由函数proc可知,变量n中存放整型数组bb中的元素个数,最后要返回到主函数当中,因此,【3】处填“n”。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序

#include<stdio.h>

main()

{

FILE *fp; it a[10]={1,2,3,0,0};

fp=fopen(“d2.dat”,”wb”);

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

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

fclose(fp);

fp=fopen(“d2.dat”,”rb”);

fread(a,sizeof(int),10,fp);

for(i=0;i<10;i++) printf(“%d”,

A.;

}

程序运行结果是( )。


正确答案:A

第2题:

有以下程序includemain(){FILE *fP;int k,n,a[6]={1,2,3,4,5,6}; fp=fopen ("d2.dat",

有以下程序 #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.dat","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个元素的整型数组分两行输出到一个文件中,因为输出的都是数字并且每行都没有分隔符,所以当再对其进行读取操作时,每一行都会被认为是一个完整的数,而换行符则作为它们的分隔符。

第3题:

有以下程序

#include

main

{ FILE *fp;

int a[10]={1,2,3,0,0},i;

fp=fopen("d2.dat,"wb");

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

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

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a.sizeof(int),10,fp);

fclose(fp);

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

}

程序的运行结果是( )。

A.1,2,3,0,0,0,0,0,0,0,

B.1,2,3,1,2,3,0,0,0,0,

C.123,0,0,0,0,123,0,0,0,0,

D.1,2,3,0,0,1,2,3,0,0,


正确答案:D
本题程序首先用函数fopen以“wb”的方式开打文件“d2.dat”,然后调用两次fwrite函数将数组a的5个元素,依次输出到文件fp中,共10个字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用head函数从文件印中读取这10个字节的数据到数组a中。型数组bb中,因此,【2】处填“str[i]-'0'”;由函数proc可知,变量n中存放整型数组bb中的元素个数,最后要返回到主函数当中,因此,【3】处填“n”。

第4题:

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

有以下程序: #include<stdio.h> main() {FILE *fp;int i,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.dat","r"); fscanf(fp,"%d%d\n",&k,

A.1 2

B.1 4

C.123 4

D.123 456


正确答案:D
解析: 本题首先以创建方式打开文件d2.dat,两次调用fprintf()函数把a[0]、a[1]、a[2]、a[3]、a[4]、a[5]的值写到文件d2.dat中,文件d2.dat内容为“1,2,3回车>4,5,6”。然后把该文件关闭再以只读方式打开,文件位置指向文件头,再通过fscanf()函数从小读取两个整数到k和n中。

第5题:

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

有以下程序: #include<stdio.h> main() { FILE *fp;int a[10]={1,2,3,0,0},i; fp=fopen("d2.dat","wb"); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen("d2.dat","rb"); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i<10;i++)printf("%d,",a[i]); } 程序的运行结果是( )。

A.1,2,3,0,0,0,0,0,0,0,

B.1,2,3,1,2,3,0,0,0,0,

C.123,0,0,0,0,123,0,0,0,0,

D.1,2,3,0,0,1,2,3,0,0,


正确答案:D

第6题:

有以下程序 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视为一个数。

第7题:

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

有以下程序 #include <stdio.h> main() { FILE *fp; int' a[10]={1,2,3,0,0},i; fp = fopen("d2.dat", "wb"); fwrite(a, sizeof(int), 5, fp); fwrite(a, sizeof(int), 5, fp); fclose(fp); fp = fopenCd2.dat", "rb"); fread(a, sizeof(int), 10, fp); fclose(fp); for (i=0; i<10; i++) printf("%d,", a[i]); }

A.1,2,3,0,0,0,0,0,0,0,

B.1,2,3,1,2,3,0,0,0,0,

C.123,0,0,0,0,123,0,0,0,0,

D.1,2,3,0,0,1,2,3,0,0,


正确答案:D
解析:本题首先定义了…个文件指针fp,然后通过fopen()函数打开一个名为"d2.dat"的文件,参数"wb"的意思是:为写入打开的二进制文件。然后通过fwrite()函数,将数组a的前5个元素2次写入d2.dat文件中,接下来用fclose()函数关闭此文件。然后又使用fopen()函数打开d2.dat文件,参数"rb"的意思是:为读入打开的二进制文件。接下来通过fread()函数从文件中读入10个int型数据到数组a中。然后又使用fclose()函数再次关闭此文件。最后通过for循环,输出数组a的所有10个元素。不难得知,现在a中的元素已经变为{1,2,3,0,0,1,2,3,0,0},故最终输出结果为1,2,3,0,0,1,2,3,0,0,0,。应该选择D。

第8题:

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

有以下程序 #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.dat","r"); fscanf(fp,"%d%d",&k,&n

A.1 2

B.1 4

C.123 4

D.123 456


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

第9题:

有以下程序

#include <stido.h>

main()

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

fp=fopen("d2.dat,"wb");

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

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

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

程序的运行结果是

A)1,2,3,0,0,0,0,0,0,0,

B)1,2,3,1,2,3,0,0,0,0,

C)123,0,0,0,0,123,0,0,0,0,

D)1,2,3,0,0,1,2,3,0,0,


正确答案:D