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,
      布          //2
}
//枚举中可以写中文

二、枚举的本质

/*
 枚举的作用详细说明:
     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 0;
}
时间: 2024-10-22 10:26:27

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

c语言学习之基础知识点介绍(三)

本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例如:int num =0; csanf("%d",&num);printf("num = %d \n",num); 注意:格式化控制符前面要求输入什么类型的数据,那么地址列表那里就必须只能放相应类型变量地址.输入值的时候可以指定输入值的分隔符, 也可以 默认用回

c语言学习之基础知识点介绍(一)

本系列是为了学习ios做准备的,也能作为c语言入门的教程看看. printf函数: printf函数作为输出语句,主要的作用个就是输出用户想输出的语句. 例如:printf("我是一个大帅哥~~"); printf("数字1=%d,数字2=%d",10,20);//%d接下来会在一起解释. /* %d:填入int,short型的数据,例如printf("数字1=%d,数字2=%d",10,20); %ld:填入long型的数据,例如printf(

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

一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类的方法,绝对不是再写一个自己类的方法. 代码中原话叫:子类重写父类方法. 因为父类定义的方法不一定适用于子类. 注意:如果有重写,那么调用的是自己重写后的方法,如果没有重写,那么就调用的是父类的方法. 所以我们方法有一个执行的过程: 1.先去自己类里面找这个方法,如果找到就执行. 2.如果没找到,就

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

一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点语法的语法: 对象.属性; 注意:这里的属性不需要加_ 对象.属性 = 值; 点语法的本质: 其实就是调用getter或者setter方法. 点语法注意事项: 1.在类的方法里面如果用self.age 这个是调用方法,self->_age 是直接调用成员变量. 2.千万记得不要在setter或者ge

c语言学习之基础知识点介绍(五)

本节主要说关系运算式和逻辑运算式. 一.关系运算式 1.等于(==):判断左边的表达式是否等于右边的表达式 2.大于(>):判断左边的表达式是否大于右边的表达式 3.大于等于(>=):判断左边的表达式是否大于等于右边的表达式 4.小于(<):判断左边的表达式是否小于右边的表达式 5.小于等于(<=):判断左边的表达式是否小于等于右边的表达式 6.不等于(!=):判断左边的表达式是否不等于右边的表达式 //注意:c语言中,关系运算所得结果只有0和1,0代表false(假),1代表tr

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

一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造成内存泄露 全局区:所有的全局变量和静态变量 常量区:所有的常量 代码区:程序编译后的指令集 类是模板,肯定需要存在内存里面,因为实例化对象的时候需要根据这个模板来创建,那么存在内存里面,存在哪呢?? 类模板存在:全局区! 存的是:类的描述,还有所有的方法实现 每个对象都会有一个系统给我们的isa指

oc语言学习之基础知识点介绍(一):OC介绍

一.第一个OC程序 #import <Foundation/Foundation.h> //导入头文件 int main(int argc, const char * argv[]) { //main函数 @autoreleasepool {//自动释放池,我们现在写代码最好都写这里面 NSLog(@"Hello, World!"); //输出语句 } return 0; //退出程序,返回一个值给系统看 } 二.OC中的字符串 /* 前缀的概念:(了解一下) 提供框架的作

c语言学习之基础知识点介绍(二十):预处理指令

一.预处理指令的介绍 预处理命令:在编译之前触发的一系列操作(命令)就叫预处理命令. 特点:以#开头,不要加分号. #include: 文件包含指令 把指定文件的内容复制到相应的位置 #define: #define 宏名 替换的值; 宏.宏定义或者还叫宏代换. 作用:就是在编译之前把所有用到这个宏的地方,替换成你指定的东西 规范:宏名大写,可以跟变量区分开来 之前学的宏: INT32_MAX INT32_MIN 宏不占据内存空间,只是帮你做简单的替换. 注意: 1.宏只是简单的替换,不参与编译

c语言学习之基础知识点介绍(十):内存空间模型、地址解释及指针变量

一.内存 /* 内存: 存在内存里的. 内存分了N多个小空间,每个小空间1个字节 每个小空间有它自己的地址.每个地址之间差1 int类型占用4个字节,等于占了4个空间(有4个地址),不需要记住4个地址,而记住首地址就行了(因为首地址相当于入口或者生活中的门) 指针: 指针就是地址,地址就是指针. 地址:内存的地址 内存中的地址: 其实也是从1开始编号,然后一直自增 1M内存,1024个地址 0x7fff5fbff7cc:这叫16进制 十进制:逢10进1 有:0 1 2 3 4 5 6 7 8 9