《构造数据类型》ppt课件

《构造数据类型》ppt课件

ID:40062164

大小:437.50 KB

页数:151页

时间:2019-07-18

《构造数据类型》ppt课件_第1页
《构造数据类型》ppt课件_第2页
《构造数据类型》ppt课件_第3页
《构造数据类型》ppt课件_第4页
《构造数据类型》ppt课件_第5页
资源描述:

《《构造数据类型》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章程序的数据描述(II)--构造数据类型主讲人:侯海良通信与控制工程系本章内容构造数据类型概述枚举类型数组类型结构与联合类型指针类型(参数传递和动态数据结构)引用类型构造数据类型有些数据不适合用基本数据类型来表示。如:矩阵、向量语言往往提供了由基本数据类型来构造新类型的手段。构造数据类型属于用户自定义数据类型。枚举类型数组类型结构/联合类型指针/引用类型枚举类型如何描述一个星期的每一天这样的数据?如果用int来描述,将会面临:1表示什么意思?星期天用什么整数表示?0还是7?如果用0~6表示一个星期的每一天,则对于一个取值为一个星期某一天的int型变量day,如何防止下面的逻辑错误:day=

2、10day=day*2在C++中用枚举类型来解决上面的问题。枚举类型的定义枚举类型是由用户自定义的一种简单数据类型。在定义一个枚举类型时,需要列出其值集中的每个值(枚举值)。枚举类型的定义格式为:enum<枚举类型名>{<枚举值表>};<枚举值表>为用逗号隔开的若干个标识符。例如:enumDay{SUN,MON,TUE,WED,THU,FRI,SAT};enumColor{RED,GREEN,BLUE};enumMonth{JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC};每一个枚举值都对应着一个整数。默认情况下,第一个枚举值对应常量值0,其它的

3、值为前一个值加1。在定义枚举类型时,也可给枚举值指定对应的整数值。例如:enumDay{SUN=7,MON=1,TUE,WED,THU,FRI,SAT};TUE:2,...bool类型可看成是C++语言提供的一个预定义的枚举类型:enumbool{false,true};枚举类型变量的定义格式为:(1)<枚举类型名><枚举类型变量名>;例:enumDay{SUN,MON,TUE,WED,THU,FRI,SAT};Dayd1;(2)enum<枚举类型名><枚举类型变量名>例:enumDay{SUN,MON,TUE,WED,THU,FRI,SAT};enumDayd1,d2;//C语言风格(3)e

4、num<枚举类型名>{<枚举值表>}<枚举类型变量名>;例:enumDay{SUN,MON,TUE,WED,THU,FRI,SAT}d1,d2;(4)enum{<枚举值表>}<枚举类型变量名>;例:enum{SUN,MON,TUE,WED,THU,FRI,SAT}d1,d2;注意:第四种方法无法再定义变量,除非再一次重声明枚举类型枚举类型的运算赋值一个枚举类型的变量只能在相应枚举类型的值集中取值。例如:Dayday;day=SUN;//OKday=1;//Error。day=RED;//Error相同枚举类型之间可以进行赋值操作,例如:Dayd1,d2;d2=d1;可以把一个枚举值赋值给一个整

5、型变量,但不能把一个整型数赋值给枚举类型的变量,例如:inta;a=d1;//OKd1=a;//Errord1=(Day)a;//OK,但不安全=>day=(day)1;//OK比较枚举值之间的比较为枚举值所对应的整数之间的比较。例:MON>d;//Errorcout<

6、枚举类型输入/输出#includeusingnamespacestd;enumday{SUN,MON,TUE,WED,THU,FRI,SAT};intmain(){Dayd;inti;cin>>i;switch(i){case0:d=SUN;break;case1:d=MON;break;case2:d=TUE;break;case3:d=WED;break;case4:d=THU;break;case5:d=FRI;break;case6:d=SAT;break;default:cout<<"InputError!"<

7、h(d){caseSUN:cout<<"SUN"<

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

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

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