一、枚举的介绍

/*
枚举:限制的待选项。
语法:
enum 枚举名{
选项1,
选项2,
选项3,
........
选项n
};
注意:枚举中,选项之间用 , 隔开,最后一个不用加 , ;并且枚举已 ; 结尾。 声明枚举变量:
enum 枚举名 变量名 ;
例如:enum qHand qh; 赋值:
1、先声明,后赋值
enum 枚举名 变量名 ;
变量名 = 枚举项;
例如:
enum qHand qh; //qh是变量名,enum qHand 是类型
qh = 石头;
2、声明的时候初始化
enum 枚举名 变量名 = 枚举项;
例如:
enum qHand qh = 石头; //qh是变量名,enum qHand 是类型 */
//例如:
enum qHand{
剪刀, //0,
石头, //1,
布 //
}
//枚举中可以写中文

二、枚举的本质

/*
枚举的作用详细说明:
1、枚举项:就是一个整数,默认情况下,从0开始,依次递增。
注意:声明一个枚举类型的变量,就相当于声明一个int类型的变量
例:enum quanHead q1; 相当于 int q1;
2、枚举项可以指定起始的值,比如说,指定10以后,后面的就是11,12,13…………
enum direction{
up = 10, //10
down, //11
left, //12
right //13
};
注意:指定起始值的“ = 数据” 写在,前面 3、枚举项的值可以随意指定,只不过它后面的值如果没有指定的话,会在它的值的基础上依次递增
例:
enum direction{
up = 10, //10
down, //11
left=30, //30
right //31
};
4、枚举项的值不能指定为小数,否则报错 5、枚举项的值可以重复
例:
enum direction{
up = 10, //10
down, //11
left=11, //11
right //12
}; 6、枚举项不能重复
例:
enum direction{
up = 10, //10
down, //11
left=11, //11
left, //报错
right //12
}; 7、枚举的作用:方便程序员看懂源代码 8.不能直接输出枚举项 9.枚举变量可以赋任意的整数值,因为枚举变量就是int变量
*/ //例如:
enum qh{
石头,
剪刀,

}
int main(int argc,const char * argv[]){
//printf("%s \b",石头);//会报错,提示int类型不能转为char *(字符串) 类型。
printf("%d \b",石头); //输出 0
printf("%d \b",剪刀); //输出 1
printf("%d \b",布); //输出 2
return ;
}

c语言学习之基础知识点介绍(十三):枚举的介绍和使用的更多相关文章

  1. c语言学习之基础知识点介绍(三):scanf函数

    本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...

  2. c语言学习之基础知识点介绍(二):格式化控制符和变量的补充

    上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...

  3. c语言学习之基础知识点介绍(七):循环结构

    本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...

  4. c语言学习之基础知识点介绍(四):算术运算符和逗号表达式

    本节主要介绍c语言中运算符. 运算符主要分为四类: 1.算术运算符 加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数) 2.关系运算符 3.逻辑运算符 4.换位运算符 下面将依次介 ...

  5. c语言学习之基础知识点介绍(一):输出语句和变量简单介绍

    本系列是为了学习ios做准备的,也能作为c语言入门的教程看看. c语言的程序结构: 1.顺序结构:自上而下依次执行. 2.分支结构:程序有选择的执行某段代码或者不执行某段代码. 3.循环结构:程序循环 ...

  6. oc语言学习之基础知识点介绍(五):OC进阶

    一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...

  7. oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍

    一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类 ...

  8. oc语言学习之基础知识点介绍(二):类和对象的进一步介绍

    一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造 ...

  9. c语言学习之基础知识点介绍(十四):指针的进阶

    一.指针的加.减法运算 /* 1.加法运算 1).可以跟整数进行加法运算,得到的还是一个地址 公式: 地址 + 1 = 地址 + 1 * 类型所占的字节数 地址 + n = 地址 + n * 类型所占 ...

随机推荐

  1. WMS

    Web地图位置服务 Web地图服务(Web map service)利用具有地理空间位置信息的数据制作地图.其中将地图定义为地理数据可视的表现.这个规范定义了三个操作:GetCapabitities返 ...

  2. feed4junit 实现junit4框架体系下数据驱动

    junit 是一款很好用的测试框架,但是该框架在并行和数据驱动方面没有提供支持,往往我们队这2个需求是很迫切的,不过有需求就会有人去做,有心思的人出现了,feed4junit 出现了,弥补了junit ...

  3. JZ2440开发笔记(1)——arm-linux-gcc环境搭建

    1 下载arm-linux-gcc-4.4.3安装包,http://arm9.net/download.asp 2 解压arm-linux-gcc-4.4.3-20100728.tar.gz,使用命令 ...

  4. tomcat 服务器全解

    ①B/S.C/S比较 ⑴C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序: 缺点:软件更新时需要同 ...

  5. 【原】SparkContex源码解读(一)

    版权声明:本文为原创文章,未经允许不得转载. SparkContext(简称sc)是Spark程序的主入口,代表一个连接到Spark集群(Standalone.YARN.Mesos三种集群部署模式)的 ...

  6. 【HTML】Advanced5:Accessible Forms

    1.label <form> <label for="yourName">Your Name</label> <input name=&q ...

  7. 韦东山yy公开课笔记(2)--各种杂的问题

    1. 编译器的版本和glibc库有对应关系吗,如何查看glibc的版本(glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc),编译器是不是只带glibc被编译生成的 . ...

  8. 全面产品管理-从细微处认识"用户体验"

    转载: 让我以一个故事开始本文,我觉得这个故事能概括大多数人听到“用户体验”这个术语时的想法. 我经常访问的一个财经网站给我发了一封电子邮件,请求我点击里面的一个链接,对一些信息进行审核.所以我就点了 ...

  9. 使用Windows Azure创建Linux系统虚拟机-下

    如何将数据磁盘附加到新虚拟机 您的应用程序可能需要存储数据.要这样设置,您可以将数据磁盘添加到先前创建的虚拟机.要做到这一点,最简单的方法是将空数据磁盘连接到本机. 在Linux上,磁盘资源通常由Az ...

  10. 64位linux安装android sdk的问题

    截至到今天,似乎在64位机器下安装android sdk存在不能运行的问题,可以用以下方法解决: Android SDK requires: Fedora 17 64bit with 32bit An ...