C++一些基本数据结构:字面常量、符号常量、枚举常量

1、常量:C++包括两种常量,字面常量和符号常量.

字面常量:指的是直接输入到程序中的值,比如:in myAge=26; myAge是一个int类型变量,而26是一个字面常量。

符号常量:指的是用名称表示的常量,就像变量一样表示,但是一旦初始化,其值就不能改变.

主要指的是:①const定义的常量:const unsigned short int studentPerClass=15;这里的studentPerClass就是一个符号常量

                 ②使用#include定义的常量:#define studentPerClass 15 这里的studentPerClass也是一个符号变量

2、枚举常量:

枚举常量可以创建一个新类型,然后定义新的类型变量,将这些变量的取值定义为一组可能值。

定义方法:  enum COLOR {RED,BLUE,GREEN,WHITE,YELLOW};

该语句执行后有两个变化:a、COLOR成为枚举的名称,成为一种新类型

                                  b、如果没有特殊说明,默认枚举中标示符的内容为从0开始递增的整形常数,即RED=0,BLUE=1,GREEN=2,WHITE=3,YELLOW=4

当然也可以自己定义枚举常量的值:

                  enum COLOR {RED=100,BLUE=200,GREEN=300,WHITE=400,YELLOW=500};

例题:

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    enum Days {monday,tuesday,wednesday,thursday,friday,saturday,sundy};
    Days d1;
    d1=monday;
//d1=0;,这样赋值是错误的,只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。
//如一定要把数值赋予枚举变量,则必须用强制类型转换,比如这里:d1=(enum Days)0;其意义是将顺序号为0的枚举元素赋予枚举变量a,相当于: a=monday; cout
<<d1<<endl; system("PAUSE"); return 0; }

运行程序,最后打印的结果是“0”,而不是“monday”

关于枚举的几点说明:

①枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如程序中再对枚举Days的元素再作以下赋值: monday=1; tuesday=10都是错误的。

②只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。

posted @ 2015-07-16 15:24  小白龙victory  阅读(2771)  评论(0编辑  收藏  举报