二级C  精品课程2-2:标识符和关键字
文章作者 100test 发表时间 2007:04:06 21:30:29
来源 100Test.Com百考试题网
  标识符是一个字符序列,用来标识变量、函数、数据类型等。任何程序都离不开标识符,也就是说,不可能有没有标识符的C  程序。在程序2-1中,include、void、main、int、i、cin、cout等都是标识符。
  标识符可以由大写字母、小写字母、下划线(_)和数字0~9组成,但必须是以大写字母、小写字母或下划线(_)开头。在C  语言程序中,大写字母和小写字母不能混用,比如Name和name就代表两个不同的标识符。在表2-1中,我们给出了几个正确和不正确的标识符实例。 
| 表2-1:正确和不正确的标识符实例 | 
| 
| 正确 | 不正确 |  
| smart | 5smart(不能数字开头) |  
| _decision | bomb?(有非法字符?) |  
| key_board | key.board(有非法字符.) |  | 
标识符的命名规则:  1. 所有标识符必须由一个字母(a~z或A~Z)或下划线(_)开头;
  2. 标识符的其它部分可以用字母、下划线或数字(0~9)组成;
  3. 大小写字母表示不同意义, 即代表不同的标识符,如前面的cout和Cout;
  在定义标识符时,虽然语法上允许用下划线开头,但是,我们最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。
  C  没有限制一个标识符中字符的个数,但是,大多数的编译器都会有限制。不过,我们在定义标识符时,通常并不用担心标识符中字符数会不会超过编译器的限制,因为编译器限制的数字很大(例如255)。 
  一个写得好的程序,标识符应该尽量有意义。 比如表示年可以用year,表示长度可以用length,表示累加和可以用sum等,这样的标识符本身就增加了程序的可读性,使程序更加清晰易懂。
C  语言的标识符经常用在以下情况中:  1. 标识对象或变量的名字
  2. 类、结构和联合的成员
  3. 函数或类的成员函数
  4. 自定义类型名
  5. 标识宏的名字
  6. 宏的参数 
  在C  中,有一些预定义的标识符,称之为关键字,也称之为保留字。例如,程序2-1中的int、void都是关键字。可见,关键字是一种特殊的标识符。关键字具有特定的含义,不能对它们再定义。例如,int、void在C  中被预定义为特定的数据类型,我们不能把它们再定义为变量的标识符。C  的关键字很多,不仅仅程序2-1中见到的int和void两个。标准 C  中预定义了63个关键字,参见表2-2。另外,还定义了11个运算符关键字,它们是:and、and_eq、bitand、bitor、compl、not、not_eq、or、or_eq、xor ?、xor_eq。在我们后面要学习的内容中,并没有涉及到C  的所有关键字,但会逐步介绍最重要和最常用的一些关键字。 
  另外,有些标识符虽然不是关键字,但C  语言总是以固定的形式用于专门的地方,也不能把它们当作一般标识符使用,以免造成混乱。这样的标识符有include、define等,我们在后面的学习中会逐渐遇到。
| 表2-2 C  关键字 | 
| 
| asm | default | float | operator | static_cast | union |  
| auto | 0delete | for | private | struct | unsigned |  
| bool | do | friend | protected | switch | using |  
| break | double | goto | public | template | virtual |  
| case | dynamic_cast | if | register | this | void |  
| catch | else | inline | reinterpret_cast | throw | volatile |  
| char | enum | int | return | true | wchar_t |  
| class | explicit | long | short | try | while |  
| const | export | mutable | signed | typedef | .   |  
| const_cast | extern | namespace | sizeof | typeid | . .   |  
| Continue | false | new | static | typename | . .   |  |