C语言教案-第十八周.doc

上传人:xt****7 文档编号:122953687 上传时间:2020-03-08 格式:DOC 页数:8 大小:82.50KB
返回 下载 相关 举报
C语言教案-第十八周.doc_第1页
第1页 / 共8页
C语言教案-第十八周.doc_第2页
第2页 / 共8页
C语言教案-第十八周.doc_第3页
第3页 / 共8页
C语言教案-第十八周.doc_第4页
第4页 / 共8页
C语言教案-第十八周.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C语言教案-第十八周.doc》由会员分享,可在线阅读,更多相关《C语言教案-第十八周.doc(8页珍藏版)》请在金锄头文库上搜索。

1、第十八节 位运算与文件操作1:通过本节课的学习,使学生了解位运算的相关概念,掌握位运算的简单使用,了解文件的相关概念及掌握顺序文件的读取。1.1教学目的:1.了解位运算的相关概念2.掌握位运算的简单使用3.了解文件的相关概念4.掌握顺序文件的读取1.2教学内容:1.基本位运算与、或、异或、取反、左移、右移2.文件的基本操作:打开、关闭3.文件的简单读写函数1.3教学重点:文件操作1.4教学方法:讲授法、举例1.5学习方法:练习、实验二 回顾上一节: 3分钟编程时的第一句为什么?#include 三 课程知识点讲解:具体知识点1: 位运算的概念【20分钟】知识点讲解:位运算就是指进行二进制位的运

2、算知识点讲解:按位与、或、异或、取反运算符案例讲解:【案例11.1】编写一个使用按位与、按位或、按位异、按位取反的程序。#includemain() char a=5,b=11,x,y,z,w; char c=A;x=a&b;y=a | b;z=ab;w= c;printf(“%d,%d,%d,%dn”,x,y,z,w); 程序运行结果:1,15,14,-66具体知识点2: 【20分钟】知识点讲解:移位运算符移位运算符有两个“”(右移运算符)。案例讲解:编写一个使用移位运算符的程序。#includemain() int a,b,x,y,z; a=9;b=-9; x=a1; z=b1; prin

3、tf(“%d,%d,%dn”,x,y,z);程序运行结果:72,4,5课堂练习:取一个整数a从右端开始的47位。 比如, 0000,0000,1101,1001 (八进制331十进制217,47位1101的八进制值是15十进制13) 。编程分析:(1)先使a移4位,使要取出的几位移到最右端。a4 。(2)设置一个低4位全为1,其余为0 的数 (0 4; c = (0 ”运算符,因为“”运算符使左面添0或添1。设需要循环右移的数是一个整数(两字节),移动n位。分三步完成。(1)将a的右端n位先放到中间变量b的高n位中(左移16-n位)。 b= an;)。 (3)将c与b 进行按位或运算(c=a

4、| b)。 程序如下: main() unsigned a,b,c; int n; scanf(a=%o,n=%d,&a,&n); b=an; c=c|b; printf(“%on%o”,a,c); 老师提问:位运算与数学计算的关系?具体知识点3:文件的概念 【5分钟】知识点讲解:文件,指一组相关数据的有序集合。C语言把文件看作一个字节序列,即由一连串的字节组成,称为“流(stream)” ,以字节为单位访问,没有记录的界限(实际存在界限,例如,在FAT16文件系统中,文件的最大长度是2GB)。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。

5、1按文件所依附的介质来分:有磁盘文件、磁带文件、内存文件、设备文件等。2按文件的内容区分:有源程序文件、目标文件、数据文件等。3按文件中的数据组织形式来分:数据文件可分为ASCII码文件和二进制文件。 ASCII码文件,又称为“文本文件”(text),其每一个字节存放一个ASCII码。二进制文件,把内存中的数据按其在内存中的存储形式存放在磁盘上。具体知识点4:文件的基本操作【35分钟】知识点讲解:文件操作的过程:对磁盘文件的操作必须“先打开,后读写,最后关闭”。“打开”文件的含义:以某中方式从磁盘上查找指定的文件或创建一个新文件。FILE * fopen(const char *filenam

6、e,const char *mode);filename: 文件名(可以包含逻辑驱动器、路径、文件名、扩展名)mode: 打开方式FILE *:返回值如:FILE *fp;fp = fopen(file1,r);如果成功打开,返回一个指向被打开文件的文件信息区的起始地址;如果打开失败,返回一个NULL指针。文件打开方式含 义r(只读)为输入打开一个文本文件w(只写)为输出打开一个文本文件a(追加)为追加打开一个文本文件rb(只读)为输入打开一个二进制文件wb(只写)为输出打开一个二进制文件ab(追加)为追加打开一个二进制文件r+(读写)为读写打开一个文本文件w+(读写)为读写创建一个文本文件a

7、+(读写)为读写打开一个文本文件rb+(读写)为读写打开一个二进制文件wb+(读写)为读写创建一个二进制文件ab+(读写)为读写打开一个二进制文件文件一旦使用完毕,应用关闭文件函数把文件关闭,以避免文件的数据丢失等错误。对文件的读和写是最常用的文件操作。在语言中提供了多种文件读写的函数:字符读写函数 :fgetc和fputc字符串读写函数:fgets和fputs数据块读写函数:freed和fwrite格式化读写函数:fscanf和fprinf下面分别予以介绍。使用以上函数都要求包含头文件stdio.h。知识点讲解: 字符读写函数fgetc和fputc1读字符函数fgetc功能:是从指定的文件中

8、读一个字符调用形式:字符变量=fgetc(文件指针);案例讲解:读入文件c1.txt,在屏幕上输出。编程分析:本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方式打开文件“d: examplec1.txt”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第10行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每个文件末有一结束标志EOF)就把该字符显示在屏幕上,再读入下一字符。每读一次,文件内部的位置指针向后移动一个字符,文件结束时,该指针指向EOF。执行本程序将显示整个文件。程序如下:#includemain() FILE

9、*fp; char ch; if(fp=fopen(d: examplec1.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); fclose(fp); 2写字符函数fputc功能:把一个字符写入指定的文件中调用形式为:fputc(字符量,文件指针); 其中,待写入的字符量可以是字符常量或变量。案例讲解:从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。程序如下

10、:#includemain() FILE *fp; char ch; if(fp=fopen(d:jrzhexamplestring,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(

11、n); fclose(fp);知识点讲解:字符串读写函数fgets和fputs1读字符串函数fgets功能:从指定的文件中读一个字符串到字符数组中调用形式为:fgets(字符数组名,n,文件指针);其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志0。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入字符数组str中。老师提问:对文件进行操作的基本方法,以及用到的关键函数4 本节总结 6分钟考核点 考核点1:简单的位运算 考核点2:有一定难度的文件操作测试题 测试题1:将一个十进制数转化为二进制数扩展部分: 扩展部分1:按位与、或、异或运算符的特殊用途:清零;取一个数x中某些指定位;按位或的特殊用途(常用来对一个数据的某些位置1);异或运算的特殊用途(使特定位翻转、与0相异或,保留原值) 扩展部分2:文件指针 扩展部分3:数据块读写函数fread和fwtrite作业: 习题1:把命令行参数中的前一个文件名标识的文件,复制到后一个文件名标识的文件中,如命令行中只有一个文件名则把该文件写到标准输出文件(显示器)中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 中学学案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号