版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C语言程序设计》教案课程名称C语言程序设计任课教师总课时64教学课题文件的概念授课班级授课日期课时2教学目标知识目标:1.掌握文件的定义2.掌握文件的打开与关闭能力目标:能够熟练掌握文件的基本操作素质目标:团队合作能力、团队互助,自我学习的习惯重点难点文件的定义与基本操作教学方法演示、讲解、启发教学资源教材《C语言程序设计》设备准备VC++6.0,极域电子教室软件,分发工作任务单教学环节(教学过程)教学内容教师活动学生活动教学目标课时1演示项目效果通过教室软件演示程序执行结果倾听、观看、思考、陈述给学生演示任务结果10分钟2理论讲解讲授文件的定义、打开和关闭讲授预备需要的理论知识15分钟3举例通过一个案例进一步讲解文件的定义、打开和关闭讲授、演示通过实际应用帮助学生理解理论知识20分钟4应用布置两个相关题目辅导、答疑通过做相关练习题帮助学生更好的理解相关知识45分钟教学内容(详细):文件概述所谓文件,一般指存储在计算机外部介质上的一组相关数据的集合。在现代计算机的应用领域中,数据处理是个重要方面,要实现数据处理,往往是要通过文件的形式来完成。本项目介绍如何将数据写入文件和从文件中读出。1.文件的概念文件是指存储在外部介质上的数据集合,为标识一个文件,每个文件都必须有一个文件名,文件名的一般形式为:文件名.[扩展名],其中扩展名是可选的,并按类别命名,例如,C语言源程序的扩展名是C,而可执行文件的扩展名是EXE等等。2.文件类型(1)按文件的逻辑结构分1)记录文件:由具有一定结构的记录组成(定长和不定长)。2)流式文件:由一个个字符(字节)数据顺序组成。(2)按存储介质1)普通文件:存储介质(磁盘、磁带等)文件。2)设备文件:非存储介质(键盘、显示器、打印机等)文件。(3)按数据的组织形式分1)文本文件:也称ASCII码文件。这种文件在保存时,每个字符对应一个字节,用于存储对应的ASCII码。2)二进制文件:不是保存ASCII码,而是按二进制的编码方式来保存文件内容。例如:短整型数100,由1、0、0三个字符组成,它们的ASCII码分别为49、48、48,所以在文本文件中存储的是49、48、48三个数,需要3个字节。在二进制文件中直接存放的是100,只要占2个字节就行了。如图10-1所示。ASCII文件ASCII文件100二进制文件00000000011001000011000100110000011001000000000000110000图10-1短整型数100的存储形式示意3.文件的用途1)使程序与数据分离,数据文件的改动不会引起程序的改动。2)使数据共享,不同程序可以访问同一数据文件中的数据。3)程序运行的中间数据或者结果数据可以长期保存。4.文件的处理方式1)缓冲文件系统:又称为标准文件系统或高级文件系统,是目前常用的文件系统,也是ANSIC建议使用的文件系统。系统自动为正在使用的文件开辟内存缓冲区。可减少主机和外部设备频繁交换数据的次数,缓冲文件系统的输入输出如图所示。2)非缓冲文件系统又称为低级文件系统,它提供的文件输入输出操作函数更接近于操作系统,它不能自动设置缓冲区,而是由用户根据所处理的数据大小在程序中设置,其输入输出示意图如图所示。因此,非缓冲文件系统的操作与机器本身有关,使用起来较为困难,但它节省内存,执行效率较高。5.文件的定义一般情况下,要使用一个文件,系统将在内存中为这一文件开辟一个“文件信息区”,用来存放文件的有关信息,如文件当前的读写位置、缓冲区中未被处理的字符数、文件操作方式、下一个字符的位置、文件缓冲区的位置等。这些信息保存在一个结构体中,该结构体由系统定义的,定义在stdio.h的头文件中。VisualC++6.0系统中具体定义形式为:struct_iobuf{char*_ptr;/*文件输入的下一个位置*/int_cnt;/*当前缓冲区的相对位置*/char*_base;/*数据缓冲区的位置*/int_flag;/*文件状态标志*/int_file;/*用于有效性检验*/int_charbuf;/*如无缓冲区不读取字符*/int_bufsiz;/*缓冲区的大小*/char*_tmpfname;/*临时文件名*/};typedefstruct_iobufFILE;C语言对文件的操作并不是直接通过文件名进行的,而是根据文件名生成一个指向FILE结构类型的指针。也就是首先定义一个FILE的指针,例如:FILE*fp;通过fp使用结构体变量中的文件信息访问文件。也就是说,C程序中是通过文件指针变量fp找到与它相关的文件的,通过该指针对文件进行操作。6.文件的打开和关闭文件的读写操作之前,必须先打开文件;使用结束后,为了避免数据丢失,应立即关闭文件。即文件的使用步骤一般为:首先打开文件,然后进行文件的读写操作,最后关闭文件。文件的打开和关闭都是通过函数来实现的。(1)文件的打开C语言中,使用fopen()函数来打开文件。格式:FILE*fp;fp=fopen("文件名","操作方式");功能:以指定的操作方式打开一个文件。若文件正常打开,返回指向文件结构体的指针;否则打开失败,返回NULL。操作方式含义文件不存在时文件存在时r只读(文本文件)出错正常打开w只写(文本文件)建立新文件文件原有内容丢失a添加(文本文件)建立新文件在文件原有内容末尾追加rb只读(二进制文件)出错正常打开wb只写(二进制文件)建立新文件文件原有内容丢失ab添加(二进制文件)建立新文件在文件原有内容末尾追加r+读/写(文本文件)出错正常打开w+写/读(文本文件)建立新文件文件原有内容丢失a+读/添加(文本文件)建立新文件在文件原有内容末尾追加rb+读/写(二进制文件)出错正常打开wb+写/读(二进制文件)建立新文件文件原有内容丢失ab+读/添加(二进制文件)建立新文件在文件原有内容末尾追加例如:FILE*fp;fp=fopen("test.txt","r");上面代码表示以读方式打开当前目录下文件名为“text.txt”的文本文件。程序中一般会考虑作容错处理,常用的方法如下:if((fp=fopen("文件名","操作方式"))==NULL){printf("打开文件失败!");exit(0);/*结束程序运行*/}(2)文件的关闭使用完一个文件后,应使用fclose()函数及时关闭。fclose()函数和fopen()函数一样,原型也在stdio.h中,调用的一般形式为:fclose(文件指针);例如:fcl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路货运服务合同
- 短期版空地租赁合同范本
- 墙绘服务合同示范模板
- 青少年责任保证
- 石子购销合同协议
- 临时工派遣合同
- 保鲜包装材料购买合同
- 汽车租约合同样本
- 卫星数据处理测绘招标文件
- 房建工程监理招标项目
- 重庆市江北区2023-2024学年六年级下学期期末考试数学试题
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 2023年职业病监测评估培训考试卷(A卷)附有答案
- 地漏剖面节点构造讲解
- 古代戏剧与现代话剧的对比
- 2024-2029年中国儿童牙冠行业市场现状分析及竞争格局与投资发展研究报告
- 上海市徐汇、金山、虹口区2024届高三语文一模作文解析
- (高清版)JGT 486-2015 混凝土用复合掺合料
- 2024年北京东城区高三二模英语试题和答案
- 快递主管岗位职责
- 医疗差错、纠纷、事故登记表
评论
0/150
提交评论