w07章结构和枚举类型.pptVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
w07章结构和枚举类型

第7章 结构体、共同体和枚举类型 本章介绍的数据类型是由各种基本数据类型的数据组合而成的导出数据类型: 结构体 共用体 枚举类型 但结构体、共用体和枚举类型各有不同的特点。 第7章 结构体、共同体和枚举类型 7.1结构体的定义与应用 7.3共同体的定义与应用 7.4枚举类型 结构体是各种不同类型数据的组合,编程者可按实际需要进行这种组合。 如:图书馆的书有若干特点: 7.1.2 结构体与数组间的区别 数组——所有的元素都具有相同的数据类型。 int array[10];定义的是数组变量。 数组元素用下标[ ]来访问。如:array[1] 结构体变量各成员变量在内存中是连续存放的。 结构体可以作为函数的参数,也可作为函数的返回值 函数的参数为结构体类型 形参与实参的结合属于值调用方式。 要提高其运行效率,可采用引用类型的结构体类型变量。(参见P124例7.4) 7.1.5 *结构体—关于静态成员的使用 #include iostream.h struct date{ int year,month,day; }; struct s{ char name[10]; int id; static date d; }s1,s2; date s::d={2000,1,1}; void main() {……} 7.1.6 一些要注意的问题 定义结构体的成员类型时除了static存储类型外,不允许有其它存储类型。而用static存储类型定义的成员变量仅作特殊用途时使用 struct stru{ static int id; auto int eng;}; 7.3.2 共用体与结构体区别 union utype {int i; char ch; }; struct stype {int i; char ch; }; 7.4 枚举类型 声明枚举类型的一般形式为 enum 枚举类型名 {枚举常量表列}; 在声明了枚举类型之后,可以用它来定义变量。如 weekday workday,week_end; 这样,workday和week_end被定义为枚举类型weekday的变量。 也可以直接定义枚举变量,如 enum{sun,mon,tue,wed,thu,fri,sat} workday,week_end 说明: (1) 对枚举元素按常量处理,故称枚举常量。 (2) 枚举元素作为常量,它们是有值的,C++编译按定义时的顺序对它们赋值为0,1,2,3,…。也可以在声明枚举类型时另行指定枚举元素的值。 枚举类型变量的使用 枚举变量可以与同类型的枚举变量做判断比较(关系运算)。 可将枚举常量赋值给枚举类型变量,也可在同类型枚举变量间相互赋值。 但一个整数不能直接赋给一个枚举变量。 workday=6 workday=sun 枚举类型变量不能直接从键盘输入 cinworkday; 但可以直接输出。 例7.7 口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中任意取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况。 #include iostream #include iomanip //在输出时要用到setw控制符 using namespace std; int main( ) { enum color {red,yellow,blue,white,black}; //声明枚举类型color color pri; //定义color类型的变量pri int i,j,k,n=0,loop; //n是累计不同颜色的组合数 for (i=red;i=black;i++) //当i为某一颜色时 for (j=red;j=black;j++) //当j为某一颜色时 if (i!=j) //若前两个球的颜色不同 { for (k=red;k=black;k++) //只有前两个球的颜色不同,才需要检查第3个球的颜色 if ((k!=i) (k!=j)) //3个球的颜色都不同 {n=n+1; //使累计值n加1 coutsetw(3)n; //输出当前的n值,字段宽度为3 for (loop=1;loop=3;loop++)

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档