首页>计算机>软件水平考试>复习指导>正文
高级语言程序设计知识点 七

www.zige365.com 2010-7-28 10:48:48 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

    enum 枚举型名 {枚举常量1,枚举常量2,……,枚举常量n};
其中enum是枚举型的引导字,枚举型名是标识符,枚举常量也是用户指定的标识符,但它们被程序看作常量,习惯称它们为枚举常量。例如,
  enum  weekday { SUN, MON, TUE, WED, THU, FRI, SAT};
    通常,每个枚举常量都是有意义名称符号,但对程序本身来说,这些枚举常量并不自动代表什么含义。例如,并不因为写成SAT就自动表示“星期六”,不写SAT写成SATDAY或任何其它标识符也是可以的。对于编译系统来说,枚举型中的标识符只是一组互不相同的标识符而已,标识符本身的字面意义只是供阅读程序的人便于理解程序。

     为了便于处理枚举型,编译系统将每个枚举常量与一个整数相联系,即枚举常量在内部被视作一个整数,值的大小由它们在枚举型中出现的顺序确定,依次为0,l,2,…。如在上面的定义中,SUN值为0,MON值为1,……,SAT值为6。枚举型变量的值也可输出。例如,
   printf("%d \n", SUN);
将输出整数0。
       枚举常量的对应整数也可由程序直接指定。如
   enum weekday { SUN= 7, MON= l, TUE, WED, THU, FRI, SAT};
指定SUN为7,MON为1,后面未指定对应整数的枚举常量所代表的整数,则是前一个枚举常量代表的整数加1。所以在上述定义中,TUE为2,……,SAT为6。
    因枚举常量代表一个整数,同一枚举型的变量、枚举常量或整数相互间都可以作关系比较。
    2.枚举型变量
    定义枚举型变量也有以下多种方法:
    (l) 先定义枚举型,然后定义枚举型变量、枚举型数组、枚举型指针等。
  (2) 定义枚举型同时定义枚举型变量、枚举型数组、枚举型指针等。

(3) 定义无名枚举型同时定义枚举型变量、枚举型数组、枚举型指针等。例如:
  enum weekday today, yesterday, tomorrow;
  enum { RED, YELLOW, BLUE } color;
定义枚举型 enum weekday的变量 today,yesterday,tomorow;定义枚举型变量 color。例如,
  today=SUN; tomorrow = MON;
  yesterday =SAT ; color= YELLOW;
使用枚举型,除能命名见名议意的标识符外,对标识符值的内部实现,程序员可以不必考虑。另外,一个变量具有枚举型,还能反映变量值的有限性。枚举型变量常用于循环的控制变量,枚举常量用于多路选择控制的情况。

7.4  用户自定义类型

    C语言也提供类型定义外化成为类型命名的机制。让用户定义新的类型,并用这些新类型定义变量。用户自定义类型的方法为:
  typedef 类型 用户自定义类型名;
其中类型可以是基本类型,也可以是前面用户自定义的类型,也还可以是任何C语言允许的类型描述,如数组类型、结构型、共用型、枚举型,及各种指针类型。用户自定义类型名是标识符,以后就可用该用户自定义类型名定义相应类型的变量。例如,
    typedef   int   INTEGER;
  tyPedef struet {
    int num;
   char * name;
   char sex;
   int age;
   int score;
   } stdType; /*定义结构型stdType */
   typedef int INTARRAy[20] ; /* 含 20个整数的数组类型 INTARRAY */
   typedef enum { RED, YELLOW, BLUE } COLOR; /* 枚举型COLOR */ 
   typedef char *CHP; /* 定义字符指针类型CHP */ 
利用以上类型定义,可定义变量如下:
   INTEGER X,Y; /* 定义int类型变量 x和 y */ 

本新闻共6页,当前在第5页  1  2  3  4  5  6  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
高级语言程序设计知识点 六
高级语言程序设计知识点 五
高级语言程序设计知识点 四
高级语言程序设计知识点 三
高级语言程序设计知识点 二