美文网首页C语言程序员
C语言编程学习:特殊的枚举型变量

C语言编程学习:特殊的枚举型变量

作者: 小辰带你看世界 | 来源:发表于2018-05-03 16:22 被阅读0次

    C语言是面向过程的,而C++是面向对象的

    C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

    枚举类型变量

    在日常生活中有许多对象的值是有限的,是可以一一列举出来的。例如,一个星期内只有七天、一年只有十二个月等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。枚举类型就是其值可以被一一列举出来,并且变量的取值不能超过定义的范围。

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    枚举类型的声明方式比较特殊,具体格式如下:

    enum 枚举名 {标识符 1 = 整型常量 1, 标识符 2 = 整型常量 2, ...};

    在上述代码中,enum表示声明枚举的关键字,枚举名表示枚举对象的名称。为了让大家更好的理解枚举类型的使用,接下来我们通过定义一个枚举类型来进行详细讲解。

    示例如下:

    enum month { JAN=1, FEB=2, MAR=3, APR=4, MAY=5, JUN=6,

    JUL=7, AUG=8, SEP=9, OCT=10, NOV=11, DEC=12 };

    上面的代码中,声明了一个枚举类型对象 month,然后就可以使用此类型来定义变量。然后,通过一个具体案例来学习枚举的具体用法。

    如例 2-5所示。

    1 #include

    2 enum month { JAN=1, FEB=2, MAR=3, APR=4, MAY=5, JUN=6,

    3 JUL=7, AUG=8, SEP=9, OCT=10, NOV=11, DEC=12 };

    4 int main()

    5 {

    6 enum month lastmonth, thismonth, nextmonth;

    7 lastmonth = APR;

    8 thismonth = MAY;

    9 nextmonth = JUN;

    10 printf("%d %d %d ", lastmonth, thismonth, nextmonth);

    11 return 0;

    11 }

    运行结果如下图所示:

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    在案例代码中,第 3 行代码定义了一个枚举类型,其中,枚举名 month 是一个标识符,大括号中的内容被称为枚举值表;枚举值表内的标识符 JAN、FEB、MAR 等被称作枚举元素,枚举元素是被命名的整型常量,枚举值表中罗列出所有可用值,枚举成员对应的值是枚举值。枚举类型的定义以分号结束。第 6行

    定义了三个枚举变量,在后面的代码中分别进行了赋值,最后依次将这三个枚举变量的值输出到显示器。可以看出输出结果为枚举元素对应的值。

    需要注意的是,枚举值是常量,不是变量,在程序中不能赋值。如果你在主函数中,对 MAR再次赋值,那么程序就会出现error了。

    多学一招:枚举变量的快速定义

    在枚举中规定,如果不给标识符指定具体的值,会默认该标识符的值等于前一标识符的值加 1 。

    因此,可以将上面的定义简化成:

    enum month{JAN=1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC};

    如果不指定第一个标识符对应的常量,则它的默认值是 0 。

    如下例所示:

    1 #include

    2 //定义一组常量

    3 enum constants{ C1, C2, C3 = 4, C4, C5 = 3, C6, C7, C8 = '0',C9 };

    4 int main()

    5 {

    6 printf("C1=%d",C1);

    7 return 0;

    8 }

    运行结果如图所示:

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    在这个例中,首先用枚举定义了一组常量 C1到 C9,并向显示器输出常量 C1的数值。刚开始学的小伙伴,在编译和运行该例程之前,最好可以先试着猜测 C1到 C9这九个常量的数值。

    这些是C/C++能做的

    服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

    求关注,求转发,求支持!

    相关文章

      网友评论

        本文标题:C语言编程学习:特殊的枚举型变量

        本文链接:https://www.haomeiwen.com/subject/kcihrftx.html