c大学基础教程第七章

c大学基础教程第七章

ID:39963130

大小:335.50 KB

页数:67页

时间:2019-07-16

c大学基础教程第七章_第1页
c大学基础教程第七章_第2页
c大学基础教程第七章_第3页
c大学基础教程第七章_第4页
c大学基础教程第七章_第5页
资源描述:

《c大学基础教程第七章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++大学基础教程第7章其它自定义数据类型北京邮电大学电信工程学院计算机技术中心第7章其它自定义数据类型C++语言不仅有丰富的基本数据类型,而且允许用户自己定义数据类型。2021/8/172北京邮电大学电信工程学院计算机技术中心7.1枚举型数据类型7.2结构型数据类型7.3联合型数据类型第7章C++其他自定义数据类型7.1枚举类型7.1枚举类型枚举型数据类型(简称枚举类型)有些问题中所处理数据的取值可以一一列举出来例:一周七天:星期日、星期1、星期2、星期3、星期4、星期5、星期6用户可以自己定义一种

2、数据类型,把这种数据类型的变量的可能值一一列举出来。然后就可以使用这种数据类型来定义变量了。这种新的数据类型称为枚举类型,声明形式为:enum枚举类型名{枚举元素列表};2021/8/175北京邮电大学电信工程学院计算机技术中心例如:enumweekday{sun,mon,tue,wed,thu,fri,sat};新的数据类型枚举元素或枚举常量7.1枚举类型2021/8/176北京邮电大学电信工程学院计算机技术中心enumweekday{sun,mon,tue,wed,thu,fri,sat};定义一

3、个weekday类型的变量:weekdayday;变量day的取值范围:类型定义时,表里列举出来的七种标识符,把这些标识符看作符号常量。例如:day=sat;7.1枚举类型2021/8/177北京邮电大学电信工程学院计算机技术中心在类型定义之后,对枚举元素按常量处理,不能对它们赋值。sat=6;枚举元素具有默认值,它们依次为:0,1,2,……。enumweekday{sun,mon,tue,wed,thu,fri,sat};也可以在类型声明时另行指定枚举元素的值。enumweekday{sun=7,m

4、on=1,tue,wed,thu,fri,sat}使用枚举类型时要注意:2021/8/178北京邮电大学电信工程学院计算机技术中心枚举值可以进行关系运算。整数值不能直接赋给枚举变量;如需要将整数值赋给枚举变量,应进行强制类型转换.例:intx=2;weekdayday;day=x;?day=(weekday)x;?使用枚举类型时要注意:2021/8/179北京邮电大学电信工程学院计算机技术中心枚举常量在机器内部仍然是用整型数来存取定义某个枚举类型的变量时,分配几个字节的内存空间呢?(前面我们看到,枚举

5、元素的默认值都是整数,可以给枚举元素指定值,也用整数,所以说,在计算机内部处理时,是把枚举类型按整型(int)对待的。)7.1枚举类型2021/8/1710北京邮电大学电信工程学院计算机技术中心例7.1读入1-7之间的一个数代表今天,输出明天是星期几。2021/8/1711北京邮电大学电信工程学院计算机技术中心#includeusingnamespacestd;enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};voidmain(){cout<

6、<"今天是星期(请输入一个数1-7):";intn;cin>>n;weekdaytoday=(weekday)n;weekdaytomorrow=(weekday)(today+1);if(today==sun)tomorrow=mon;2021/8/1712北京邮电大学电信工程学院计算机技术中心if(today==0)tomorrow=(weekday)-1;switch(tomorrow){casesun:cout<<"TomorrowisSunday."<

7、cout<<"TomorrowisMonday."<

8、reak;casesat:cout<<"TomorrowisSaturday."<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。