资源描述:
《C++课件第5章构造数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章构造数据类型C++语言程序设计教程第5章构造数据类型第5章 构造数据类型1.掌握枚举类型的使用;2.深入理解数组的概念,掌握数组应用的一般方法;3.深入理解指针的概念,掌握指针的使用;4.注意指针与数组的区别,会使用多重指针以及指针与数组的多种混合体,会分配动态数组;5.理解字符串的概念,会使用字符串;6.理解引用的概念,掌握引用型函数参数的用法;7.掌握结构类型的使用。学习目标C++语言程序设计教程第5章构造数据类型5.1枚举类型1.枚举类型的定义:“枚举”是指将变量所有可能的取值一一列举出来,变量的取值只限于列举出来的常量。枚举类型的声明的
2、一般形式如下:枚举类型名以及枚举常量为标识符,遵循标识符的取名规则。在定义一个枚举类型时,定义了多个常量,供枚举类型变量取值,称此常量为枚举常量。当没给各枚举常量指定值时,其值依次默认为0、1、2、…;在定义枚举类型时,也可使用赋值号另行指定枚举常量的值。enum枚举类型名{枚举常量1,枚举常量2,…,枚举常量n};枚举!C++语言程序设计教程第5章构造数据类型枚举类型的定义:例1:enumweekday{SUN,MON,TUE,WED,THU,FRI,SAT};定义了7个枚举常量以及枚举类型weekday。枚举常量具有默认的整数与之对应:SUN的值
3、为0、MON的值为1、TUE为2、…、SAT为6。例2:enumcity{Beijing,Shanghai,Tianjin=5,Chongqing};枚举常量Beijing的值为0,Shanghai的值为1,Tianjin的值指定为5。对于指定值后面的没有指定值的枚举常量,编译器会将前一个常量值加1(下一个整数)赋给它,所以Chongqing的值为6。C++语言程序设计教程第5章构造数据类型枚举类型的定义说明:枚举类型定义了以后就可以使用枚举常量、枚举类型来定义变量,定义枚举变量的方法与定义其它变量的方法一样。enumcitycity1,city2;
4、citycity1,city2;用两种方法定义了city1、city2两个枚举类型的变量名。枚举类型变量也可以在定义枚举类型的同时定义enumcity{Beijing,Shanghai,Tianjin=5,Chongqing}city1,city2;在定义枚举类型的同时定义枚举类型变量可以省略枚举类型名enum{Beijing,Shanghai,Tianjin=5,Chongqing}city1,city2;在定义变量时,可以顺便给出初值,若不给初值,默认初值为随机的无意义的数。C++语言程序设计教程第5章构造数据类型枚举类型的使用:用枚举类型建立枚
5、举变量后就可以对枚举变量实施赋值以及进行其它运算了,对枚举变量进行赋值,其值要求为同一枚举类型。否则,在编译时出错。weekdayd1,d2,d3,d4;d1=SUN;d2=6;//错误d3=Shanghai;//错误其中对d2所赋之值是整数6,不是枚举常量;可以采用将一个整型值强制转换成同类型的枚举常量赋给枚举变量:d2=(weekday)6;枚举常量、枚举类型的变量可进行算术运算、关系运算。对枚举类型实施算术、关系运算时,枚举值转换成整型值参加运算,结果为整型值。所以,如果要将结果赋给枚举变量,还要将结果转换成枚举值。d1=d1+2;//是错误的
6、,因为结果为int型。需要将它强制转换成枚举型:d1=(weekday)(d1+2);C++语言程序设计教程第5章构造数据类型/*******************************************************************程序名:p5_1.cpp**功能:枚举类型的使用,输入城市代号,输出城市名称********************************************************************/#includeusingnamespacestd;enum
7、city{Beijing,Shanghai,Tianjin=6,Chongqing};voidmain(){intn;cout<<"Inputacitynumber("<>n;123456789101112C++语言程序设计教程第5章构造数据类型【例5-1】输入城市代号,输出城市名称。while(n>=Beijing){switch(n){caseBeijing:cout<<"Beijing"<8、l;break;caseTianjin:cout<<"Tianjin"<