c语言学习之基础知识点介绍(十三):枚举的介绍和使用
一、枚举的介绍
/*
枚举:限制的待选项。
语法:
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语言学习之基础知识点介绍(十三):枚举的介绍和使用的更多相关文章
- c语言学习之基础知识点介绍(三):scanf函数
本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...
- c语言学习之基础知识点介绍(二):格式化控制符和变量的补充
上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...
- c语言学习之基础知识点介绍(七):循环结构
本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...
- c语言学习之基础知识点介绍(四):算术运算符和逗号表达式
本节主要介绍c语言中运算符. 运算符主要分为四类: 1.算术运算符 加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数) 2.关系运算符 3.逻辑运算符 4.换位运算符 下面将依次介 ...
- c语言学习之基础知识点介绍(一):输出语句和变量简单介绍
本系列是为了学习ios做准备的,也能作为c语言入门的教程看看. c语言的程序结构: 1.顺序结构:自上而下依次执行. 2.分支结构:程序有选择的执行某段代码或者不执行某段代码. 3.循环结构:程序循环 ...
- oc语言学习之基础知识点介绍(五):OC进阶
一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...
- oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍
一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类 ...
- oc语言学习之基础知识点介绍(二):类和对象的进一步介绍
一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造 ...
- c语言学习之基础知识点介绍(十四):指针的进阶
一.指针的加.减法运算 /* 1.加法运算 1).可以跟整数进行加法运算,得到的还是一个地址 公式: 地址 + 1 = 地址 + 1 * 类型所占的字节数 地址 + n = 地址 + n * 类型所占 ...
随机推荐
- JD-GUI反编译后代码逻辑分析
一,用jd-gui.exe等工具查看源代码.如何你不会,可以参看此文章: http://blog.csdn.net/hp_2008/article/details/8207879 可以到以下连接下载可 ...
- C# 深复制
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- HDU-5373 The shortest problem
The shortest problem http://acm.hdu.edu.cn/showproblem.php?pid=5373 Time Limit: 3000/1500 MS (Java/O ...
- [King.yue]EXT.NET TextFieldFor添加正则表达式
EXT.NET TextFieldFor添加正则表达式以及提示用法 例:Html.Y().TextFieldFor().Regex("此处添加正则表达式") .InvalidTex ...
- JZ2440开发笔记(5)——通过按键点亮LED
在JZ2440中,点亮LED就是给LED的控制位设置为输出,数据位设置为低电平,而通过按键点亮LED,就需要将按键对应的控制位设置为输出. 下面是JZ2440的3个LED电路图: 下面是JZ2440的 ...
- curl post请求
libcurl发送post请求,包括httpheader参数 static size_t getCharCode(void *ptr, size_t size, size_t nmemb, void ...
- IIS8之System.ServiceModel.Activation.HttpModule錯誤處理
在Windows Server 2012 R2上安装一个WCF服务,怎么弄都是报System.ServiceModel.Activation.HttpModule錯誤 经过不懈尝次及查找资料,终于找到 ...
- usb 设备的端点 及输入输出方向
- 2015年10个最佳Web开发JavaScript库
2015年10个最佳Web开发JavaScript库 现在的互联网可谓是无所不有,有大量的JavaScript项目开发工具充斥于网络中.我们可以参考网上的指导来获取构建代码项目的各种必要信息.如果你是 ...
- IOS 中runtime 不可变数组__NSArray0 和__NSArrayI
IOS 中runtime 不可变数组__NSArray0 和__NSArrayI 大家可能都遇到过项目中不可变数组避免数组越界的处理:runtime,然而有时候并不能解决所有的问题,因为类簇不一样 # ...