第8章 枚举和位运算(课件)-高二《程序设计基础》同步教学(武汉大学版)

2023-07-31
| 18页
| 86人阅读
| 5人下载
普通

内容正文:

第8章 枚举和位运算 枚举 任务一 位运算 任务二 任务一 枚举 阶段1 枚举类型的定义和枚举变 量的说明 阶段2 枚举类型变量的赋值和 使用 阶段1 枚举类型的定义和枚举变 量的说明 在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。 阶段1 枚举类型的定义和枚举变 量的说明 一.枚举的定义 枚举类型定义的一般形式为: enum 枚举名 { 枚举值表 }; 在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。 阶段1 枚举类型的定义和枚举变 量的说明 二.枚举变量的说明 如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。 阶段2 枚举类型变量的赋值和 使用 枚举类型在使用中有以下规定: 1. 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如,对枚举weekday的元素再作以下赋值: sun=5;mon=2;sun=mon; 都是错误的。 2. 枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1,2…。例如,在weekday中,sun值为0,mon值为1,…,sat值为6。 任务二 位运算 阶段1 位运算符 阶段2 位域 阶段3 类型定义符typedef 阶段1 位运算符 C语言提供了6种位运算符: 一.按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 阶段1 位运算符 二.按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的两个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 阶段1 位运算符 三.按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两个对应的二进位相异时,结果为1。参与运算的数仍以补码出现。 阶段1 位运算符 四.求反运算 求反运算符“~”为单目运算符,具有右结合性。 其功能是对参与运算的数的各二进位按位求反。例如,~9的运算为: ~(0000000000001001),结果为:1111111111110110 阶段1 位运算符 五.左移运算 左移运算符“<<”是双目运算符。其功能是把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。 阶段1 位运算符 六.右移运算 右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。 阶段2 位域 为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。 阶段2 位域 一.位域的定义和位域变量的说明 位域定义与结构定义相仿,其形式为: struct 位域结构名 { 位域列表 }; 其中,位域列表的形式为: 类型说明符 位域名:位域长度 阶段2 位域 二.位域的使用 位域的使用和结构成员的使用相同,其一般形式为: 位域变量名.位域名 位域允许用各种格式输出。 阶段3 类型定义符typedef C语言不仅提供了丰富的数据类型,而且还允许用户自己定义类型说明符,也就是说允许用户为数据类型取“别名”。 类型定义符typedef即可用来完成此功能。 阶段3 类型定义符typedef 例如,有整型量a,b,其说明如下: int aa,b; 其中,int是整型变量的类型说明符。int的完整写法为integer,为了增加程序的可读性,可把整型说明符用typedef定义为: typedef int INTEGER 这以后就可用IN

资源预览图

第8章  枚举和位运算(课件)-高二《程序设计基础》同步教学(武汉大学版)
1
第8章  枚举和位运算(课件)-高二《程序设计基础》同步教学(武汉大学版)
2
第8章  枚举和位运算(课件)-高二《程序设计基础》同步教学(武汉大学版)
3
第8章  枚举和位运算(课件)-高二《程序设计基础》同步教学(武汉大学版)
4
第8章  枚举和位运算(课件)-高二《程序设计基础》同步教学(武汉大学版)
5
第8章  枚举和位运算(课件)-高二《程序设计基础》同步教学(武汉大学版)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。