文档详情

C语言教案-十八周.doc

发布:2018-03-14约4千字共8页下载文档
文本预览下载声明
第十八节 位运算与文件操作 1:通过本节课的学习,使学生了解位运算的相关概念,掌握位运算的简单使用,了解文件的相关概念及掌握顺序文件的读取。 1.1教学目的:1.了解位运算的相关概念 2.掌握位运算的简单使用 3.了解文件的相关概念 4.掌握顺序文件的读取 1.2教学内容:1.基本位运算与、或、异或、取反、左移、右移 2.文件的基本操作:打开、关闭 3.文件的简单读写函数 1.3教学重点:文件操作 1.4教学方法:讲授法、举例 1.5学习方法:练习、实验 二 回顾上一节: [3分钟] 编程时的第一句为什么? #include 三 课程知识点讲解: 具体知识点1: 位运算的概念【20分钟】 知识点讲解:位运算是指进行二进制位的运算知识点讲解:按位与运算符案例讲解: 【案例11.1】编写一个使用按位与、按位或、按位异、按位取反的程序。 #includestdio.h main() { char a=5,b=11,x,y,z,w; char c=’A’; x=ab; y=a | b; z=a∧b; w= ~c; printf(“%d,%d,%d,%d\n”,x,y,z,w); } 程序运行结果:1,15,14,-66 具体知识点2: 【20分钟】 知识点讲解:移位运算符 ”(左移运算符)和“”(右移运算符)。 案例讲解: 编写一个使用移位运算符的程序。 #includestdio.h main() { int a,b,x,y,z; a=9;b=-9; x=a3; y=a1; z=b1; printf(“%d,%d,%d\n”,x,y,z); } 程序运行结果:72,4,-5 课堂练习:取一个整数a从右端开始的4~7位。 比如, 0000,0000,1101,1001 (八进制331/十进制217,4~7位1101的八进制值是15/十进制13) (1)先使a移4位,使要取出的几位移到最右端。a4 (2)设置一个低4位全为1,其余为0 的数 ~(~04) (3)将上面两者进行运算。 程序: main() { unsigned a,b,c,d;   scanf(“%o”,a);   b = a 4;   c = ~(~0 4);   d = b c;   printf(“%o\n%o\n”,a,b); } 课堂练习:将a进行循环右移,如原来右端3位移到最左端3位1101111110101011→0111101111110101)。 :不能直接使用”运算符,因为”运算符使左面添0或添1。设需要循环右移的数是一个整数(两字节)移动n位 (1)将a的右端n位先放到中间变量b的高n位中(左移16-n位)。 b= a(16-n); (2)将a右移n位,其左面n位补0 c=an;)。 (3)将c与b 进行按位或运算c=a | b)。 程序: main() { unsigned a,b,c;   int n;   scanf(a=%o,n=%d,a,n);   b=a(16-n);   c=an;   c=c|b;   printf(“%o\n%o”,a,c); }知识点讲解:文件,指一组相关数据的有序集合。C语言把文件看作一个字节序列,即由一连串的字节组成,称为“流(stream)” ,以字节为单位访问,没有记录的界限(实际存在界限,例如,在FAT16文件系统中,文件的最大长度是2GB)。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。 按文件所依附的介质来分:有磁盘文件、磁带文件、内存文件、设备文件等。 按文件的内容区分:有源程序文件、目标文件、数据文件等。 按文件中的数据组织形式来分:数据文件可分为ASCII码文件和二进制文件。 ASCII码文件,又称为“文本文件”(text),其每一个字节存放一个ASCII码。二进制文件,把内存中的数据按其在内存中的存储形式存放在磁盘上。知识点讲解:文件操作的过程:对磁盘文件的操作必须“先打开,后读写,最后关闭”。“打开”文件的含义:以某中方式从磁盘上查找指定的文件或创建一个新文件。FILE * fopen(const char *filename,const char *mode); filename: 文件名(可以包含逻辑驱动器、路径、文件名、扩展名) mode: 打开方式 FILE *:返回值 如:FILE *fp;   fp = fopen(file1,r); 如果成功打开,返回一个指向被打开文件的文件信息区的起始地址; 如果打开失败,返回一个NULL指针。文件打开方式 含义 r(只读) 为输入打开一个文本文件 w(只写) 为输出打开一个文本
显示全部
相似文档