第十章 文件Word文件下载.docx

上传人:b****3 文档编号:17395361 上传时间:2022-12-01 格式:DOCX 页数:11 大小:19.67KB
下载 相关 举报
第十章 文件Word文件下载.docx_第1页
第1页 / 共11页
第十章 文件Word文件下载.docx_第2页
第2页 / 共11页
第十章 文件Word文件下载.docx_第3页
第3页 / 共11页
第十章 文件Word文件下载.docx_第4页
第4页 / 共11页
第十章 文件Word文件下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

第十章 文件Word文件下载.docx

《第十章 文件Word文件下载.docx》由会员分享,可在线阅读,更多相关《第十章 文件Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。

第十章 文件Word文件下载.docx

B."

W"

C."

D."

4.用(A)函数打开文件,操作完毕后用(C)函数关闭它。

A.fopenB.openC.fcloseD.close

5.如果要打开C盘file文件夹下的abc.dat文件,fopen函数中第一个参数应为(D)。

A.c:

file\abc.datB.c:

\file\abc.dat

C."

c:

\file\abc.dat"

D."

\\file\\abc.dat"

6.以“只读”方式打开文本文件c:

\xy.txt,下列语句中哪一个是正确的(B)。

A.fp=fopen("

\\xy.txt"

"

);

B.fp=fopen("

C.fp=fopen("

wb"

D.fp=fopen("

\xy.txt"

7.fseek函数可以实现的操作是(A)。

A.改变文件的位置指针的当前位置B.文件的顺序读写

C.文件的随机读写D.以上都不对

8.检测fp文件流的文件位置指针在文件头的条件是(B)。

A.fp=0B.ftell(fp)=0C.fseek(fp,0,SEEK_SET)D.feof(fp)

9.以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。

#include“stdio.h”

main()

{FILE*fout;

charch;

fout=fopen('

abc.txt'

'

w'

ch=fgetc(stdin);

while(ch!

='

#'

{fputc(ch,fout);

}

fclose(fout);

出错的原因是A

A.函数fopen调用形式错误B.输入文件没有关闭

C.函数fgetc调用形式错误D.文件指针stdin没有定义

四、程序填空题

1.以下程序将一个磁盘文件中的信息复制到另一个磁盘文件中。

#include"

stdio.h"

main()

{FILE*in,*out;

charinfile[10],outfile[10];

printf("

Entertheinfilename\n"

scanf("

%s"

【1】infile);

Entertheoutfilename\n"

outfile);

if((【2】in=fopen(“””))==NULL){

cannotopeninfile%s\n"

infile);

exit(0);

}

if((out=fopen(outfile,"

【3】"

))==NULL){

cannotopenoutfile%s\n"

while(【4】)

fputc(【5】,out);

fclose(in);

fclose(out);

}

2.当前目录下存放着文本文件from.txt,将其中除数字以外的内容显示在屏幕上。

#include<

stdi0.h>

stdlib.h>

voidmain()

{FILE*fr;

intch;

if(【1】){

Cannotopenfile--form.txt.\n"

exit(0);

while(!

feof(fr)){

【2】;

if(【3】)

putchar(ch);

fclose(fr);

3.从键盘输入一批以-1结束的整数,将其中的奇数写入当前目录下的文本文件res.txt。

stdio.h>

stdlib.h>

voidmain()

{intx;

【1】;

if((fp=fopen("

res.txt"

w"

))==NULL){

Cannotopenfile!

\n"

%d"

x);

while(【2】){

if(x%2!

=0)【3】;

【4】;

fclose(fp);

4.本文件a.dat、b.dat中每行存放一个数且均按从小到大存放。

下列程序将这两个文件中的数据合并到c.dat,文件c.dat中的数据也要从小到大存放。

请填空,将程序补充完整、正确(若文件a.dat数据为1、6、9、18、27、35,文件b.dat数据为10、23、25、39、61,则文件c.dat中数据应为1、6、9、10、18、23、25、27、35、39、61)。

#include<

voidmain()

{FILE*f1,*f2,*f3;

intx,y;

if((f1=fopen("

a.dat"

"

))==NULL)

{printf("

Cannotopena.dat!

\n"

}

if((f2=fopen("

b.dat"

{printf("

Cannotopenb.dat!

if(【1】)==NULL}

Cannotopenc.dat!

fscanf(f1,"

【2】;

while(!

feof(f1)&

&

!

feof(f2))

if(【3】)

{fprintf(f3,"

%d\n"

x);

fscanf(f1,"

else{fprintf(f3,"

y);

fscanf(f2,"

y);

if(feof(f1))

{【4】fprintf(f3,”%d”,y);

feof(f2))

{fscanf(f2,"

【5】;

else{fprintf(f3,【6】);

feof(f1))

{【7】;

fprintf(f3,"

fclose(f1);

fclose(f2);

fclose(f3);

五、程序阅读题

1.已有文本文件test.txt,其中的内容为:

Hello,everyone!

以下程序中,文件test.txt已正确为"

读"

而打开,由文件指针fr指向该文件,则程序的输出结果是:

charstr[40];

……

fgets(str,5,fr);

printf("

%s\n"

str);

fclose(fr);

hell

2.假设读写文件的操作能正常完成,则程序的输出结果是:

{charch,*s=”ACEDB”;

intx;

FILE*in;

if((in=fopen(“file.txt”,”w”))!

=NULL)

while(*s!

=’\0’)

fputc(*s++,in);

if((in=fopen(“file.txt”,”r”))!

while((ch=fgetc(in))!

=EOF){

switch(ch){

case’A’:

x=95;

break;

case’B’:

x=85;

case’C’:

x=75;

case’D’:

x=60;

default:

x=0;

break;

print(“%d#”,x);

3.以下程序完成的功能是:

{

FILE*fp;

charfilename[10];

Inputfilename\n"

filename);

if((fp=fopen(filename,"

cannotopenfile%s\n"

ch=getchar();

while(ch!

='

){

fputc(ch,fp);

4.以下程序完成的功能是:

{FILE*fp;

fp=fopen("

\\TC\\FILE\\test.txt"

if(fp==NULL){

cannotopentest.txt\n"

ch=fgetc(fp);

=EOF)

{putchar(ch);

5.以下程序完成的功能是:

FILE*in,*out;

if((in=fopen(infile,"

))==NULL)

while(!

feof(in))

fputc(fgetc(in),out);

6.以下程序执行后输出结果是:

inti,k=0,n=0;

fp=fopen("

d1.dat"

for(i=1;

i<

4;

i++)fprintf(fp,"

i);

fscanf(fp,"

%d%d"

&

k,&

n);

%d%d\n"

k,n);

7.以下程序执行后输出结果是:

inti,a[4]={1,2,3,4},b;

data.dat"

for(i=0;

i++)fwrite(&

a[i],sizeof(int),1,fp);

rb"

);

fseek(fp,-2L*sizeof(int).SEEK_END);

/*使位置指针从文件尾向前移2*sizeof(int)字节*/

fread(&

b,sizeof(int),1,fp);

/*从文件中读取sizeof(int)字节的数据到变量b中*/

b);

3

8.设head是node类型的全程量,以head为头指针的链表各节点的值如下图所示。

head→3()→4()→5()→6()→7NULL,调用fun(head)返回值是:

#include<

#defineLENsizeof(structnode)

structnode{

intnun;

structnode*next;

};

intfun(structnode*h)

{intk=0;

structnode*p=h;

while(p!

=NULL){

if(p->

next!

=NULL)k+=p->

num;

p=p->

next;

returnk;

{structnode*head,*p1,*p2;

inti;

head=(structnode*)malloc(LEN);

p1=head;

for(i=3;

=7;

i++)

{p2=(structnode*)malloc(LEN);

p1->

next=p2;

p2->

num=i;

next=NULL;

p1=p2;

printf(“%d\n”,fun(head->

next));

}}

18

9.以下程序执行后输出结果是:

#include<

{structinfo{intdata;

structinfo*pn;

infobase,p;

base=NULL;

for(inti=0;

i<

10;

i++)

{p=(structinfo*)malloc(sizeof(structinfo));

p->

data=i+1;

p->

pn=base;

base=p;

p=base;

while(p!

=NULL)

%2d"

p->

data);

p=p->

pn;

12345678910

六、程序设计题

1.从C盘根目录下名为“xhar2.txt“的文本文件中读取前10个字符,依次显示在屏幕上。

如果文本文件中不足10个字符,则有多少个字符读取并显示多少个字符。

提示:

参考程序段:

for(i=0;

{if(feof(fp))break;

c=fgetc(fp);

putchar();

2.从键盘上读取3个字符串,依次写入D盘根目录下名为“string1.txt”的文本文件。

3;

{gets(s1[i]);

fputs(s1[i],fp);

3.有两个磁盘文件a.dat和b.dat,要求产生一个新的文件c.dat,将b.dat中的数据追加到a.dat后面,并存入到c.dat中。

设两个磁盘文件为文本文件。

以读的方式打开a.dat和b.dat,以写的方式创建c.dat。

先将b.dat的数据复制到c.dat,再将a.bat的数据复制到c.dat。

4.从键盘输入一些字符,逐个把它们存入磁盘文件test.txt中去,直到输入一个#为止。

利用fputc函数将字符写入到磁盘文件中。

5.编程统计C盘Mydir文件夹中文本文件data.txt中字符'

$'

出现的次数。

并将统计结果写入到文本文件C:

\Mydir\res.txt中。

6.读入一个文件,输出其中最长的一行的行号和内容。

以硬回车键'

\n'

作为行的结束标志。

7.编写程序将全班同学的姓名、地址和电话号码写到一个文件class.dat中。

学生的信息可以存放到结构体数组,以fwrite函数写数据到文件中。

8.将6题产生的class.dat文件中的数据按姓名从低到高排列输出到显示器上,并把排了序的数据重新写入到文件class1.dat中。

以fread函数从文件中读入学生的信息,并存放到结构体数组,在数组中进行排序。

排序完毕再写入文件中。

9.利用7题产生的class1.dat文件,编程实现从中直接读取第三个同学的数据。

10.在7题产生的class1.dat文件中插入一个新生的数据,要求插入后的文件数据仍然按姓名顺序排列。

先将数据读入到数组中,插入新的数据后,再写入到文件中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1