浅谈C语言中的“枚举”

Posted 天“码”行空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈C语言中的“枚举”相关的知识,希望对你有一定的参考价值。

枚举,顾名思义就是“一个一个地举出来”。在处理很多问题时,程序中的变量只需要少量有意义的值。例如,用来存储一周中某一天的变量应该只有7种可能的值:Mon, Tue, Wed, Thu, Fri, Sat, Sun;用来存储扑克牌花色的变量应该只有4种可能的值:“黑桃”,“红桃”,“梅花”, “方片”。C语言提供枚举类型来定义这种变量。枚举即一一列举之意,枚举类型是一种值由程序员列出的类型,而且程序员必须为每个值命名(枚举常量),需要用关键字enum来定义。

enum Weekday = Sun, Mon, Tue, Wed, Thu, Fri, Sat;
enum Weekday someDay;

语句声明了名为Weekday的枚举类型,它的可能取值Sun, Mon, Tue, Wed, Thu, Fri, Sat。第二条语句定义了一个Weekday类型的变量someDay。

可以使用Sun, Mon, Tue, Wed, Thu, Fri, Sat中任意一个值给变量someDay赋值。例如:

someDay = Mon;

变量someDay还可以用在条件语句中,例如:

if(someDay == Tue)语句序列:

也可以省略枚举标签直接声明变量,例如:

enum Weekday = Sun, Mon, Tue, Wed, Thu, Fri, Sat someDay;

解决问题:事件提醒程序

编写程序,实现一个事件提醒程序:如果今天是周一,输出“交英语作文”;如果是周二,输出“给妈妈打电话”;如果是周四,输出“看电影”;如果是周六,输出“篮球赛”;其它情况,输出“刷编程题”。

//事件提醒程序
#include<stdio.h>
#include<time.h>

enum weekday Sun, Mon, Tue, Wed, Thu, Fri, Sat ;
int main()

   time_t rawtime;  //定义一个代表日历时间的变量
   struct tm *timeinfo //定义一个指向tm结构变量的指针
   enum weekday wday; //定义一个枚举变量
   
   rawtime = time();
   timeinfo = localtime(&rawtime);
   wday = (enum weekday)timeinfo->tm_wday;
   
   switch(wady)
   
    case Mon:
         printf("交英语作业\\n");break;
    case Tue:
         printf("给妈妈打电话\\n");break;
    case Thu:
         printf("看电影\\n");break;
    case Sat:
         printf("篮球赛\\n");break;
    default:
         printf("刷编程题\\n");break;
    
    return 0;

 

以上是关于浅谈C语言中的“枚举”的主要内容,如果未能解决你的问题,请参考以下文章

C语言的随机发牌程序(红桃黑桃梅花方块)

浅谈在Java开发中的枚举的作用和用法

c语言编程问题。。。这是一个作业。。实在不会写,求大神帮忙。。。

浅谈java中的枚举类型(转)

C语言中的枚举类型

python语言初识(红桃三)