SCAU高级语言程序设计--实验12 文件操作(1)

SCAU高级语言程序设计--实验12 文件操作(1)

一、堂上限时习题

1、文本文件操作 字符读入

题目:当前目录中存在文件名为"case1.in"的文本文件,现要求你使用fopen函数命令打开该文件,读出里面的所有字符, 遇到大写字母的,将其变为小写字母,其它字符不变,最后将所有字符按顺序在屏幕上输出。请填空完成程序, (注意,填空题,请不要使用return 0结束,否则会影响评判而判错)

(如case1.in内容如下)
Hello my Dear:
Have a GooD Time!
(在屏幕上输出结果如下)
hello my dear:
have a good time!

(提示,在提交前要测试自己的代码是否正确,可在源文件所有目录自己创建一个名为case1.in的文本文件,
在文件中自己打入一些字母,以便测试自己的代码是否正确)


#include "stdio.h" 

main() 

    FILE *fp; 
    char ch; 

    if((_______________________)==NULL) 
        return 0; 
    while(_______________________) 
    { 
        if ('A'<=ch && ch<='Z') 
            ch = ch + 32; 
        _______________________; 
    } 
    fclose(fp); 

#include <stdio.h>
main (){
    FILE *fp;
    char ch;
    if((fp=fopen("data1.in","r"))==NULL)//判断文件是否为空
        return 0;
    while((ch=fgetc(fp))!=EOF){//判断是否能在文件中取到值
        if(ch>='A'&&ch<='Z')//判断大写
            ch=ch + 'a' - 'z';
        putchar(ch);//打印在屏幕上
    }
    fclose(fp);
}

注意:这里只是把文件中的字符取出来,大写改成小写,但是文件中的字符并没有改变。

2、文本文件操作 字符写入

题目:由键盘输入任意个字符(以连着的三个小写字符bye做为结束标志),将所有字符(包括bye),写入新建的文件answer.txt中(注:文件放在当前目录)。 请完成该功能,(注意,填空题,请不要使用return 0结束,否则会影响评判而判错)

(如键盘输入内容如下)
He, can you write the code?
Yes, you can.bye
No, you can't.
(程序执行后,在文件answer.txt中内容如下)
He, can you write the code?
Yes, you can.bye

(注:因No, you can't.在bye之后,所以不输出)
(注:代码中不要使用return及exit()函数,以免误判)


#include "stdio.h" 

main() 

_______________________ 

思路:首先读取打开文件,然后字符提取到ch,每次提取一个。ch1,ch2,ch3组成bye的时候,就停止写入,最后关闭文件。

#include<stdio.h>
main (){
    FILE *fp;
    char ch,ch1='',ch2='',ch3='';
    if((fp=fopen("answer.txt","w"))==NULL)//打开文件
        return 1;
    while((ch=getchar())!=EOF){//键盘输入字符
        fputc(ch,fp);//键盘输入字符写入文件
        ch1=ch2;
        ch2=ch3;
        ch3=ch;
        if(ch1=='b'&&ch2=='y'&&ch3=='e')
            break;
    }
    fclose(fp);//关闭文件
}

 

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值