《C语言程序设计》课程教学资源(PPT课件讲稿)第十三章 文件

第十三章 第十二章下次课讲
第十三章 文 件 第十二章 下次课讲

第十二章位运算 概念: 前面介绍c具有低级语言的特点,可以对内存单元地址及单元内容 中某一位,某几位进行操作。 位与字节:1byte=8bits It bytes float bytes char lbytes 存储信息均按二进制,采用原码,反码,补码表示数。 若用二个字节表示int:inta=5,b=-5; 十进制数 机器数 十进制数 机器数 原码:00000000010 5原码:10 反码:0000 5反码:1110 补码:0000001 补码:11111
第十二章 位运算 一、概念: 前面介绍c具有低级语言的特点,可以对内存单元地址及单元内容 中某一位,某几位进行操作。 位与字节:1byte=8bits int 2bytes float 4bytes char 1bytes : : : : 存储信息均按二进制,采用原码,反码,补码表示数。 若用二个字节表示 int : int a=5, b=-5; 十 进制 数 机器数 十进制数 机器数 5 原码:0000000000000101 -5 原码:1000000000000101 5 反码:0000000000000101 -5 反码:1111111111111010 5 补码:0000000000000101 -5 补码:1111111111111011

二、位运算符: 位操作是指按位运算(与逻辑运算!,&&,‖不同) 运算符 含义 举例 & 按位与操作 0&1=0.180=0.080=0.1&l=1 按位或操作 01=1,1}0=1,010=0,11=1 按位异或操作0~1=1,1^0=1,0~0=0,1~1=0 按位取反操作 << 左移 0000010<<2,结果:00001000 (不产生溢出,可实现左移一位,乘2) 右移 01000002,结果:00010000 (不产生溢出,可实现右移一位,除2) 复合位运算:&=
二、 位运算符: 位操作是指按位运算(与逻辑运算 !, &&, ¦¦ 不同) 运算符 含义 举例 & 按位与操作 0&1=0, 1&0=0, 0&0=0, 1&1=1 ¦ 按位或操作 0 ¦ 1 =1, 1 ¦ 0=1, 0 ¦ 0=0, 1 ¦ 1=1 ^ 按位异或操作 0 ^ 1=1, 1^ 0=1, 0^ 0=0, 1^ 1=0 ~ 按位取反操作 ~0=1 , ~1=0 > 右移 01000000>>2, 结果: 00010000 (不产生溢出,可实现右移一位,除2) 复合位运算: &=, ¦ =,^=, ~ =,>=

、应用举例 、按位与:实时控制的需要,仅对a(整型数) 中某几位取出进行监测,而对a中其他位屏蔽掉。可 以根据需要设置屏蔽字(关心的某几位置1,不关心 位置0)。a和屏蔽字相与,即可。 a=0110110110011010→保留a的低7位 mask=00000111→mask的低7位置1,其它置0 a&mask=0000000001010→取出a低7位的原状态 2、按位或:实时控制的需要,常须送出去的控制信号, 某几位为1(将某些开关合上)可以根据需要,控制字的某几位置 1,再与a相或。 a=0110110110011000 将a的低4位置 cont=00000001cont的低四位置1 a icont=011011011001111l 使a的低4位为1,其它位为 原状态
三、应用举例: 1、按位与:实时控制的需要,仅对a(整型数) 中某几位取出进行监测,而对a中其他位屏蔽掉。可 以根据需要设置屏蔽字(关心的某几位置1,不关心 位置0)。a和屏蔽字相与,即可。 a=0110 1101 1001 1010 保留a的低7位 mask=0000 0000 0111 1111 mask的低7位置1,其它置0 a&mask=0000 0000 0001 1010 取出a低7位的原状态 2、按位或:实时控制的需要,常须送出去的控制信号, 某几位为1(将某些开关合上)可以根据需要,控制字的某几位置 1,再与a相或。 a=0110 1101 1001 1000 将a的低4位置1 cont=0000 0000 0000 1111 cont的低四位置1 a ¦cont=0110 1101 1001 1111 使a的低4位为1,其它位为 原状态

3、按位异或操作:根据需要将a中某几位取反,这 时cont相应位置1,再与a异或,即可。 a=0110110110110111将a的低8位取反 cont=00000001cont的低8位置1 a^cont=0110110101001000取a低8位的反,其 它位不变 还可实现加、解密功能:将a异或一个key(自定)得 到a”(加密后的码)再用a异或key(与加密时用的key 相同)得到原a a=00011011 key=00000101 a=a^key=00011110 a=00011110 key=00000101 a=a^key=00011011
3、按位异或操作:根据需要将a中某几位取反,这 时cont相应位置1,再与a异或,即可。 a=0110 1101 1011 0111 将a的低8位取反 cont=0000 0000 1111 1111 cont的低8位置1 a^cont=0110 1101 0100 1000 取a低8位的反,其 它位不变 还可实现加、解密功能:将a异或一个key(自定)得 到a’(加密后的码)再用 a’ 异或 key(与加密时用的key 相同)得到原a. a= 0001 1011 key= 0000 0101 a’=a^key= 0001 1110 a’ = 0001 1110 key= 0000 0101 a= a’^key= 0001 1011

第十章文件 、C文件的概迷 1、什么是文件?我们所说的文件是存储在磁盘上的 数据集合,也就是我们说的数据文件 2、文件用来保存什么数据?可以保存程序中使用 的数据,比如学生成绩单,也可以保存程序的运行结 果,不如对成绩单的排序、程序计算出的一组数据等 3、C语言文件的组成:C语言文件是以字符(字节) 为单位存储的,也就是每一个C语言文件都是一个字 符序列,C语言文件分两种存储方式。 种是文本(ASCI码)文件:文件中每一个字 节存放一个字符。 另一种是二进制文件:是把内存中的二进制数直 接存储到磁盘文件中
第十章 文件 一、 C 文件的概述 1、什么是文件?我们所说的文件是存储在磁盘上的 数据集合,也就是我们说的数据文件。 2、文件用来保存什么数据?可以保存程序中使用 的数据,比如学生成绩单,也可以保存程序的运行结 果,不如对成绩单的排序、程序计算出的一组数据等。 3、C语言文件的组成:C语言文件是以字符(字节) 为单位存储的,也就是每一个C语言文件都是一个字 符序列,C语言文件分两种存储方式。 一种是文本(ASCII码)文件:文件中每一个字 节存放一个字符。 另一种是二进制文件:是把内存中的二进制数直 接存储到磁盘文件中

两种存储方式的比较 文本文件特点: 存储量大、速度慢、便于对字符操作 如int型数10000 ASCI形式 0011000100110000001100000011000000110000 0010011100010000 0010011100010000 内存存储形式 进制形式 二进制文件特点: 存储量小、速度快、便于存放中间结果
如 int型数10000 0010011100010000 内存存储形式 0010011100010000 二进制形式 0011000100110000001100000011000000110000 ASCII形式 文本文件特点: 存储量大、速度慢、便于对字符操作 二进制文件特点: 存储量小、速度快、便于存放中间结果 两种存储方式的比较

4、什么是缓冲文件系统? 输入文件缓冲区 缓冲文件系统 磁盘文件 程序数据区 输出文件缓冲区
磁盘文件 输出文件缓冲区 输入文件缓冲区 程序数据区 a 缓冲文件系统: 4、什么是缓冲文件系统?

二、文件类型指针 1、什么是文件结构体FLE? 1)缓冲文件系统为每个正使用的文件在内存开辟文件 信息区 2)文件信息用系统定义的名为FE的结构体描述 3)FILE定义在 stdio h中 typedef struct 用 typedef定义类型 int fd;∥件号 例 int clef;∥缓冲区中剩下的字符数 ypedef int INTEGER int mode;∥文件操作方式 typedef float rEaL maino char*next;∥文件当前读写位置 AINTEGER a b char*buf∥文件缓冲区位置 REAL f SFILE
二、 文件类型指针 1、什么是文件结构体FILE ? 1)缓冲文件系统为每个正使用的文件在内存开辟文件 信息区 2)文件信息用系统定义的名为FILE的结构体描述 3)FILE定义在stdio.h中 typedef struct { int _fd; //文件号 int _cleft; //缓冲区中剩下的字符数 int _mode; //文件操作方式 char *_next; //文件当前读写位置 char *_buff; //文件缓冲区位置 }FILE; 用typedef 定义类型 例如: typedef int INTEGER; typedef float REAL; main() {INTEGER a,b; REAL f; ….. }

2、文件类型指针 1)指针变量说明:FLE*fp; 用法 文件打开时,系统自动建立文件结构 体,并把指向它的指针返回来。程序 通过这个指针获得文件信息访问文件 文件关闭后,它的文件结构体被释放
2、文件类型指针 1)指针变量说明:FILE *fp; 用法: ⚫文件打开时,系统自动建立文件结构 体,并把指向它的指针返回来,程序 通过这个指针获得文件信息,访问文件 ⚫文件关闭后,它的文件结构体被释放
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十一章 结构体与共用体.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 C语言概述.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)部分习题答案(前三章).doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)选择结构实验2.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)选择结构2.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)选择实验1.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 输入输出.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第六章 循环控制.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 选择结构程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 算法.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第二次课思考题问答.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 数据类型、运算符与表达式(c).ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三次课 思考题问答.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第七章 数组.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)数组第二次实验.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)数组第一次实验.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)循环结构(理论)2.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)循环结构实验1.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)循环嵌套实验.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)实验程序.doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)06年C程序设计实验教学大纲.doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)C程序设计实验讲义.doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第八章 函数.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 预处理命令.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十章 指针.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第1章 概论、第2章 线性表及其顺序存储、第3章 线性表的链式存储.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第1章 概论、第2章 线性表及其顺序存储、第3章 线性表的链式存储.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第1章 概论、第2章 线性表及其顺序存储、第3章 线性表的链式存储.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第04章 字符串、数组和特殊矩阵.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第05章 递归.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第06章 树型结构.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第07章 二叉树.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第08章 图(李云清、杨庆红、揭安全).ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第09章 检索.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第10章 内排序.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第11章 外排序.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第12章 动态存储管理.ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第五章 选择结构程序设计(1/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第四章 简单C程序设计.ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第三章 数据类型、运算符与表达式(2/2).ppt