C语言教案-第十八周_第1页
C语言教案-第十八周_第2页
C语言教案-第十八周_第3页
C语言教案-第十八周_第4页
C语言教案-第十八周_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言程序设计 1 第十八节第十八节 位运算与文件操作位运算与文件操作 1 1 通过本节课的学习 使学生了解位运算的相关概念 掌握位运算的简 通过本节课的学习 使学生了解位运算的相关概念 掌握位运算的简 单使用 了解文件的相关概念及掌握顺序文件的读取 单使用 了解文件的相关概念及掌握顺序文件的读取 1 11 1 教学目的 教学目的 1 了解位运算的相关概念 2 掌握位运算的简单使用 3 了解文件的相关概念 4 掌握顺序文件的读取 1 21 2 教学内容 教学内容 1 基本位运算与 或 异或 取反 左移 右移 2 文件的基本操作 打开 关闭 3 文件的简单读写函数 1 31 3 教学重点 教学重点 文件操作 1 41 4 教学方法 教学方法 讲授法 举例 1 51 5 学习方法 学习方法 练习 实验 二二 回顾上一节回顾上一节 3 3 分钟分钟 编程时的第一句为什么 include 三三 课程知识点讲解 课程知识点讲解 具体知识点具体知识点 1 1 位运算的概念位运算的概念 20 20 分钟分钟 知识点讲解 位运算就是指进行二进制位的运算 知识点讲解 按位与 或 异或 取反运算符 案例讲解 案例 11 1 编写一个使用按位与 按位或 按位异 按位取反的程序 C 语言程序设计 2 include main char a 5 b 11 x y z w char c A x a y a b z a b w c printf d d d d n x y z w 程序运行结果 1 15 14 66 具体知识点具体知识点 2 2 20 20 分钟分钟 知识点讲解 移位运算符 移位运算符有两个 右移运算符 案例讲解 编写一个使用移位运算符的程序 include main int a b x y z a 9 b 9 x a 1 z b 1 printf d d d n x y z 程序运行结果 72 4 5 课堂练习 取一个整数 a 从右端开始的 4 7 位 比如 0000 0000 1101 1001 C 语言程序设计 3 八进制 331 十进制 217 4 7 位 1101 的八进制值是 15 十进制 13 编程分析 1 先使 a 移 4 位 使要取出的几位移到最右端 a 4 2 设置 一个低 4 位全为 1 其余为 0 的数 0 4 c 0 运算符 因为 运算符使左面添 0 或添 1 设 需要循环右移的数是一个整数 两字节 移动 n 位 分三步完成 1 将 a 的右端 n 位先放到中间变量 b 的高 n 位中 左移 16 n 位 b a n 3 将 c 与 b 进行按位或运算 c a b 程序如下 main C 语言程序设计 4 unsigned a b c int n scanf a o n d b a n c c b printf o n o a c 老师提问 位运算与数学计算的关系 具体知识点具体知识点 3 3 文件的概念 文件的概念 5 5 分钟分钟 知识点讲解 文件 指一组相关数据的有序集合 C 语言把文件看作一个字节序列 即由一连串的字节组成 称为 流 stream 以字节为单位访问 没有记录的界限 实际存在界限 例如 在 FAT16 文件系统 中 文件的最大长度是 2GB 文件通常是驻留在外部介质 如磁盘等 上的 在使用时才调入内存中来 从 不同的角度可对文件作不同的分类 1 按文件所依附的介质来分 有磁盘文件 磁带文件 内存文件 设备文件等 2 按文件的内容区分 有源程序文件 目标文件 数据文件等 3 按文件中的数据组织形式来分 数据文件可分为 ASCII 码文件和二进制文件 ASCII 码文件 又称为 文本文件 text 其每一个字节存放一个 ASCII 码 二 进制文件 把内存中的数据按其在内存中的存储形式存放在磁盘上 具体知识点具体知识点 4 4 文件的基本操作 35 分钟 知识点讲解 文件操作的过程 对磁盘文件的操作必须 先打开 后读写 最后关 闭 打开 文件的含义 以某中方式从磁盘上查找指定的文件或创建一个 新文件 C 语言程序设计 5 FILE fopen const char filename const char mode filename 文件名 可以包含逻辑驱动器 路径 文件名 扩展名 mode 打开方式 FILE 返回值 如 FILE fp fp fopen file1 r 如果成功打开 返回一个指向被打开文件的文件信息区的起始地址 如果打开失败 返回一个 NULL 指针 文件打开方式含 义 r 只读 为输入打开一个文本文件 w 只写 为输出打开一个文本文件 a 追加 为追加打开一个文本文件 rb 只读 为输入打开一个二进制文件 wb 只写 为输出打开一个二进制文件 ab 追加 为追加打开一个二进制文件 r 读写 为读 写打开一个文本文件 w 读写 为读 写创建一个文本文件 a 读写 为读 写打开一个文本文件 rb 读写 为读 写打开一个二进制文件 wb 读写 为读 写创建一个二进制文件 ab 读写 为读 写打开一个二进制文件 文件一旦使用完毕 应用关闭文件函数把文件关闭 以避免文件的数据丢失等错 误 对文件的读和写是最常用的文件操作 在 语言中提供了多种文件读写的函数 字符读写函数 fgetc 和 fputc 字符串读写函数 fgets 和 fputs 数据块读写函数 freed 和 fwrite 格式化读写函数 fscanf 和 fprinf C 语言程序设计 6 下面分别予以介绍 使用以上函数都要求包含头文件 stdio h 知识点讲解 字符读写函数 fgetc 和 fputc 1 读字符函数 fgetc 功能 是从指定的文件中读一个字符 调用形式 字符变量字符变量 fgetc fgetc 文件指针 文件指针 案例讲解 读入文件 c1 txt 在屏幕上输出 编程分析 本例程序的功能是从文件中逐个读取字符 在屏幕上显示 程序定义 了文件指针 fp 以读文本文件方式打开文件 d example c1 txt 并使 fp 指向该文件 如打开文件出错 给出提示并退出程序 程序第 10 行先读出一个字符 然后进入循环 只要读出的字符不是文件结束 标志 每个文件末有一结束标志 EOF 就把该字符显示在屏幕上 再读 入下一字符 每读一次 文件内部的位置指针向后移动一个字符 文 件结束时 该指针指向 EOF 执行本程序将显示整个文件 程序如下 include main FILE fp char ch if fp fopen d example c1 txt rt NULL printf nCannot open file strike any key exit getch exit 1 ch fgetc fp while ch EOF putchar ch ch fgetc fp C 语言程序设计 7 fclose fp 2 写字符函数 fputc 功能 把一个字符写入指定的文件中 调用形式为 fputcfputc 字符量 文件指针 字符量 文件指针 其中 待写入的字符量可以是字符常量或变量 案例讲解 从键盘输入一行字符 写入一个文件 再把该文件内容读出显示在屏幕上 程序如下 include main FILE fp char ch if fp fopen d jrzh example string wt NULL printf Cannot open file strike any key exit getch exit 1 printf input a string n ch getchar while ch n fputc ch fp ch getchar rewind fp ch fgetc fp while ch EOF putchar ch ch fgetc fp printf n fclose fp C 语言程序设计 8 知识点讲解 字符串读写函数 fgets 和 fputs 1 读字符串函数 fgets 功能 从指定的文件中读一个字符串到字符数组中 调用形式为 fgetsfgets 字符数组名 字符数组名 n n 文件指针 文件指针 其中的 n 是一个正整数 表示从文件中读出的字符串不超过 n 1 个字符 在 读入的最后一个字符后加上串结束标志 0 例如 fgets str n fp 的意义是从 fp 所指的文件中读出 n 1 个字符送入 字符数组 str 中 老师提问 对文件进行操作的基本方法 以及用到的关键函数 4 4 本节总结本节总结 6 6 分钟分钟 考核点考核点 考核点 1 简单的位运算 考核点 2 有一定难度的文件操作 测试题测试题 测试题 1 将一个十进制数转化为二进制数 扩展部分 扩展部分 扩展部分 1 按位与 或 异或运算符的特殊用途 清零

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论