c语言程序设计教程例9.3,C语言程序设计第9章-9.3.pptx

C语言程序设计第9章-9.3.pptx

C 语 言 程 序 设 计 实 例 教 程9.3 共用体与枚举类型,C 语 言 程 序 设 计 实 例 教 程,第9章 结构体和共用体,共用体类型的定义方法 共用体类型变量或数组元素各成员的引用方法 枚举类型的定义及枚举成员的引用方法,本节要点实例51 共用体类型的定义与变量引用灵活应用存储空间,【实例任务】 定义一个共用体类型,并定义一个共用体类型的变量,分别分三次对三个成员域赋值,然后输出各成员域的值。程序运行结果如图9-14所示。,图9-14程序运行结果实例51 共用体类型的定义与变量引用灵活应用存储空间,【程序代码】 include “stdio.h“ union num char c10; int n2; float f; ; main union num x; scanf“s“,实例51 共用体类型的定义与变量引用灵活应用存储空间,【程序代码】 scanf“d,d“,实例51 共用体类型的定义与变量引用灵活应用存储空间,【程序代码】 scanf“s“, 实例51 共用体类型的定义与变量引用灵活应用存储空间,【相关知识】 1.共用体类型的定义 共用体,又称为联合体,它是与结构体类型相近的一种自定义类型。与结构体不同的是它的各个成员分占用同一存储空间。对于共用体所有成员,新赋值的成员将覆盖原有成员所得到的值。共用体中最大成员的大小决定共用体类型元素存储空间的大小。实例中,c10成员占用10个字节的空间,决定该共用体类型变量最大空间为10个字节。共用体的定义形式为 union 共用体标识符 类型名 成员变量名1; 类型名 成员变量名2; 类型名 成员变量名n;实例51 共用体类型的定义与变量引用灵活应用存储空间,【相关知识】 2.共用体类型变量的引用 共用体类型变量的引用方法与结构体相同,可以通过“*”和“-”来引用共用体成员的值。形式如下 共用体变量.成员名; 共用体类型指针变量-成员名;实例52 枚举类型输出给定月份的天数,【实例任务】 定义一个枚举类型,然后输入待查询的月份总数,之后输出所查询的每个月份的天数。程序的运行结果如图9-15所示。,图9-15 程序运行结果实例52 枚举类型输出给定月份的天数,【程序代码】 include “stdio.h“ enum month Jan1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec; /*定义枚举类型*/ main enum month mon; int i,n; printf“请输入要查询月份个数n“; scanf“d“,实例52 枚举类型输出给定月份的天数,【程序代码】 fori0;in;i printf“输入月份112n“; scanf“d“,实例52 枚举类型输出给定月份的天数,【程序代码】 case Feb printf“d月有d天n“,mon,28; break; case Apr case Jun case Sep case Nov printf“d月有d天n“,mon,30; break; default printf“输入数据有误“; break; getchar;实例52 枚举类型输出给定月份的天数,【相关知识】 1枚举类型的定义 在程序设计过程中,往往有一些量是有固定个数的元素。如一年有12个月,一星期有7天,空间有东西南北四个方向等,对于这样的数据结构可以通过枚举类型来定义。枚举是能将变量所有的值一一列举出来,给定一个限定的范围的数据结构。其定义形式如下 enum 枚举类型标识符 标识符整型常量1, 标识符整型常量2, 标识符整型常量n,;实例52 枚举类型输出给定月份的天数,【相关知识】 枚举类型定义时,后面的整型常量是枚举成员的值为整型常量的值。定义枚举类型时,如果将整型常量表达式均省略,表示默认从0依次赋值为0、1、2、3、。枚举类型元素在被定义后,其身份均为常量,不能再为其赋值。 定义枚举类型时,可以强制为各元素赋值,如 enum week sun7,mon1,tue,wed,thu,fri,sat; 则sun值为7,mon值为1,tue值为2,依次类推为3,4,5,6。实例52 枚举类型输出给定月份的天数,【相关知识】 2枚举类型变量的定义与引用 枚举类型变量的定义可以在定义类型的同时定义变量,也可以先定义枚举类型,然后再定义变量。可以为下面三种形式之一 enum week sun,mon,tue,wed,thu,fri,sat; enum week a,b,c; 或者 enum week sun,mon,tue,wed,thu,fri,sat a,b,c; 或者 enum sun,mon,tue,wed,thu,fri,sat a,b,c; 枚举类型的变量被认为是有范围的整型变量,所赋的值也应该是枚举类型的值,如果不是枚举类型请强制其类型转换为枚举类型。枚举类型变量赋值的一般形式为 枚举变量枚举值;【课堂精练】,定义一个共用体类型,定义其变量后为其成员依次赋值,然后输出各成员的值。运行结果如图9-16所示。,图9-16 程序的运行结果【课堂精练】,根据程序的运行结果,请将下面程序补充完整并调试。 include “stdio.h“ typedef union int num; float f; UN; main UN x; x.num10; x.f10.5; printf“请输出x.num成员的值为dn“,x.num; _ getch; 【课堂精练】,2定义一个枚举类型,为第一个枚举成员赋值为1,然后定义一个枚举型数组并通过枚举成员为之赋值,输出各数组元素的值。其运行结果如图9-17所示。,图9-17 程序运行结果【课堂精练】,根据程序的运行结果,请将下面程序补充完整并调试。 include “stdio.h“ main enum body a1,b,c,d num8,j; /*此处a1,后面默认依次值为2,3,4*/ int i; _ fori0;id ja; printf“依次输出各数组元素的值为n“; fori0;i8;i printf“-5d“,numi; getch; 谢谢,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值