《《C语言程序设计基础》教案第23课C文件程序设计(二).docx》由会员分享,可在线阅读,更多相关《《C语言程序设计基础》教案第23课C文件程序设计(二).docx(6页珍藏版)》请在优知文库上搜索。
1、教案首页周次第周时间年月日专业班级:授课章节单元十C文件程序设计(二)授课方式理论课口实验课口实训课教学做一体化课程日教学时数2学时,教学目的1.理解常见的文件读写函数的参数含义,并掌握基本使用方法。2,会处理和调试文件操作过程中出现的问题。教学组织教学内容教学过程设计及时间分配1 .字符读写操作(1) fputc()及程序应用(2) fgetc()及程序应用2 .格式化读写操作(1) fprintf()及程序应用(2) fscanf()及程序应用3 .综合程序应用举例1 .复习、问题引入启发、互动5分2 .fputc()及程序应用实例讲授10分3 .fgetc()及程序应用实例、对比10分4
2、 .随堂练习10分5 .fprintf()及程序应用对比、实例讲授10分6 .fscanf()及程序应用实例、讲授10分7 .随堂练习15分8 .综合实例引导分析、讲授15分9 .小结、作业及实验安排讲授5分教学重点重点:文件读写函数的参数含义及应用教学难点难点:调试文件操作过程中出现的问题教学手段启发式、理论讲授、环境实例演示、对比讲解、案例分析双语教学函数(Function);文件(file);打开(open);关闭(close)作业及思考题作业:单元总结提升、单元练习相关题知识拓展:文件操作知识丰富参考资料L谭浩强主编的C语言程序设计(清华大学出版社)。2 .丹尼斯里奇C语言程序设计(第
3、二版)。3 .NCRE考试用教程C语言程序设计(高等教育出版社)。4 .网络教学资源:国家精品课网站。本讲内容学法指导课下阅读复习预习,理解fputc()、fgetc()、fprintf()fscanf()和文件常见错误理解,通过实例上机验证理解。课程:C语言程序设计授课教师:学年第学期单元十:文件程序设计(二)(教案)教学内容及教学过程说明步骤一问题引入以前编写的程序,其处理的原始数据或结果会随着程序运行结束而消失,这显然与实际应用不相符合。因为实际应用中,有时需要把程序处理的数据结果保存成文件,以备将来使用;或者程序处理的原始数据是从某个文件中读取出来的。所以,如何实现数据的长期保存又能实
4、现数据共享是程序设计的又一重要内容,其实质就是对文件的读写操作。文件如何实现读写操作呢?通过问题引入文件操作读写函数第一步:打开文件fope11(文件名,打开方式I第二步:读取文件中的数据或者向文件中写数据字符读写:fgetc()jfputc();格式读写:fscanf();fprintf();I第三步:关闭文件FdOSe(文件指针变量);步骤二讲授10.3文件读写操作10.3.1 字符读写fputc()和fgetc()1.字符写函数fputc()函数fputc()的功能是将字符写入文件中。函数fputc()操作成功时,返回写入文件的字符值,否则返回EOF(文件结束标志,EOF的值为-1,在s
5、tdio.h中定义)表示写操作错误。【例10-3与实例结合引入fputc(tc,fp);将字符P写入fp指向的文件中课堂内容说明:字符写函数fputc()有两个参数:第一个是要写入文件的字符,第二个是指向文件的指针。【例10-4从键盘输入一行字符,将输入的字符输出到testdat文件中保存C#includevoidmain()charch;FILE*fp;f=foen(iesi.daT,w);while(ch=getchar()!=n,)fputc(ch,fp);fclose(fp);定义文件指针打开文件循环输入字符将字符Ch写入揖指向的文件关闭文件讲解、演示重点之一2.字符读函数fgetc(
6、)函数fgetc()的功能是从文件中读取一个字符。fgeic()函数的返回值是返回文件当前位置的一个字符,读错误时返回EOF。【例10-51fgeic(fp);从fp指向的文件中读取一个字符举例说明字符读函数fgetc()只有一个参数,即指向文件的指针变量。【例10-6下面程序读取上例中产生的testdat文件,并将读出结果显示在屏幕上。#includevoidmain()charch;HLE*fp;定义文件指针fp=fopen(test.dat,r);ch=fgetc(fp);while(ch!=EOF)判断是否访问到文件尾(putchar(ch);ch=fgetc(fp);/fp从文件中读
7、取字符,并赋值给Chfclose(fp);关闭文件讲解、演示重点之一对比讲解,举例说明程序运行结果:Oneworld,Onedream.10.3.2文件格式化读写fprintf()和fscanf()E格式化写入数据函数fprintf()函数fprintf()的功能是按照指定的格式把数据写入文件中。举例分析说明:格式化写入数据(1)fprintf(fp,%d,%d,10,20);fp指向的文件中(2)fprintf(fp,%lfn);将10和20以整型数据写入将变量n的值以双精度浮点函数fprintf()有三个参数:第一个是指向文件的指针,第二个是写入数据的格式 控制字符串,第 三个是要写入文
8、件的数据。#include #include void main() FILE *fp;int n;fp=fopen(in.dat, W);if(= NULL) PrinIfr打开文件失败n);exit(0);退出1打开文件Jfor(int i=0;i10;i+) scanf(%d,n);输入个整型数据fprintf(fp,%4l,n);)fclose(fp);)将输入的n值写入文件对比讲解,举例 说明型数据写入fp指向的文件中(3) fprintf(fp,%s,HoWareyoU.);将字符串Howareyou.”写入fp指向的文件中【例10-8把从键盘输入的10个整数写入in.dat文件中
9、保存。举例分析说明: 格式化读取数据 函数 fscanf() 有三个参数:第 一个是指向文件 的指针,第二个 是读取数据的格 式控制字符串, 第三个是字符串 存放的首地址。讲解、演示重点之一程序运行时输入十个整数:0123456789,然后用“记事本”打开in.dat文件查看写入的内容。2.格式化读取数据函数fscanf()函数fscanf()的功能是从文件中按指定格式读取数据。【例10-9)(1) fscanf(fp,%d%d,feab);/从fp指向的文件中读取两个整数存入变量a和b的内存单元(2) fscanf(fp;*%lf&n);从fp指向的文件中读取一个double类型数据存入变量
10、n的内存单元(3) fscanf(fp,%s,str);从fp指向的文件中读取一个字符串,存入Str指向的内存空间【例10-10从【例10-8得到的in.dat文件中读取10个整数显示输出。#include#includevoidmain()FILE*fp;inti,a10;fp=fopen(in.dat,r);打开文件if(fp=NULL)Printf(打开文件失败.n);exit(O);/退出1for(i=0;iI0;i+)从文件中读取整型数据fscanf(fp,%dai);PriIttfC读取的数据为:n);for(i=0;iIO;i+)printf(%3d,a(i);/显示输出数据fc
11、lose(f);I程序运行结果:读取的数据为:01234Ei678910.4综合应用案例【例10-11利用fpulc()和fgetc()函数将文件test.dat复制为test.bako#include#include举例分析、对比、 解voidmain()FILE*fpr,*fpw;分别指向源文件和目的文件charsfile110hdfile101;分别存放源文件和目的文件名charch;inti=0;复制字节计数器Printf(请输入源文件名,;输入源文件名gets(sfile);fpr=fopen(sfile,r);打开源文件if(fpr=NULL)prinlf(打开源文件失败.n);e
12、xit(0);退出)PrinIfr请输入目的文件名:);输入目的文件名gets(dfile);fpw=fopen(dfile,w);打开目的文件if(fpw=NULL)Printfr打开目标文件失败.n);exit(0);)while(!feof(fpr)执行复制并计数ch=fgetc(fpr);fputc(ch,fpw);i+;Printfr文件复制完成,共复制d个字节An”,i);fclose(fpr);关闭文件fclose(fpw);)分析、演示讲解程序运行结果:请领人源来件有:test.dat盛蠲噱鹿蠲;落节.步骤三课堂小结1.文件读写操作字符读写fputc()和fgetc()文件格式化读写fprintf()和fscanf()注意小结过程中与学生的互动2.综合应用实例步骤四实验与作业1 .实验内容(1)实例10-8/1(MO文件打开函数,操作函数,关闭函数字符函数读写格式化读写函数(2)实训指导3注意字符读写函数应用、文件打开与关闭注意格式读写函数应用2 .课后作业(1)单元总结提升重点理解第1、2题,掌握文件指针,文件打开、读写和关闭函数(2)单元练习通过第二题的第1题,理解文件的读写、打开与关闭(3)课外学习与指导文件知识丰富在实验中体会和理解注意实验总结与积累在总结中提升在练习中强化