C语言程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 基本字符、标识符和关键字

2.1.1 基本字符

一个C程序就是C语言基本字符组成的一个符合规定形式的序列。C语言基本字符包括:

(1)数字字符0,1,2,3,4,5,6,7,8,9。

(2)大小写英文字母a~z, A~Z。

(3)其他一些可打印(可以显示)的字符(如各种标点符号、运算符号、括号等),包括~! % & * ( )_ - + = { } [ ]: ; "' < >, . ? / | \

现在不必死记这些,随着学习的深入,读者将很容易记住这些字符的意义和作用。

(4)还有一些特殊字符,如空格符、换行符、制表符等,空格符、换行符、制表符等统称为空白字符,空白字符在程序中主要用于分隔其他成分。

按规定,在C程序中大部分地方增加空白字符都不影响程序意义。因此人们写程序时常利用这种性质,通过加入一些空白字符,把程序排成适当格式,以增强程序的可读性,例如,在适当地方换行,在适当地方加空格或制表符。这样能使程序的表现形式更好反映其结构和所实现的计算过程。举例说,第1章的简单C程序也可以写成下面样子:

        #include <stdio.h>
        main(){printf("Good morning! \n"); }

这样明显不如前面的写法清晰。如果是更大的程序的话,情况则会更糟糕。本书在后面讨论中还会提出对各种程序成分的较好的写法,书中程序示例也反映了这方面的情况。

构成C程序的基本成分包括各种名字(如上面出现的main、printf等)、各种数值表示(如125、3.14等)以及各种运算符和其他符号。

2.1.2 标识符

程序中有许多需要命名的对象。例如,程序中常常需要定义一些东西,以便在各处使用。

为了在定义和使用之间建立联系,表示不同位置用的是同一个对象,基本的方式就是为程序对象命名,通过名字建立起定义与使用间、同一对象的不同使用间的联系。为了这种需要,C语言规定了名字的书写形式。程序中的名字称为标识符。

一个标识符是字母和数字字符组成的一个连续序列,其中不能有空白字符,而且要求第一个字符必须是字母。为了方便起见,C语言特别规定将下画线字符“_”也当做字母看待。这就是说,下画线可以出现在标识符中的任何地方,当然也可以作为标识符的第一个字符。下面是一些标识符的例子:

        Abcd  Beijing    C_Programming    _f2048 sin  a3b06  xt386ex
        A_great_machine  Small_talk_80   FORTRAN_90

以下画线开始的标识符保留给系统使用,在编写普通程序时不要使用这种标识符,以免与系统内部的名字冲突从而造成程序问题。

如果一个字符序列中出现了非字母、非数字、也非下画线的字符,那么它就不是一个标识符了(但有可能其中一部分是个标识符,例如x3+5+y,其中x3和y 都是标识符,中间的+5+不属于这两个标识符)。下面是一些非标识符的字符序列:

        += 3set   a[32]   $$$$   sin(2+5) ::ab4==

C语言还规定,标识符中同一字母的大写形式和小写形式将看作不同字符。这样,a 和A不同,name、Name、NAME、naMe和nAME也是互不相同的标识符。

2.1.3 关键字

C语言的合法标识符中有一个特殊的小集合,其中的标识符称为关键字。作为关键字的标识符在程序里具有语言预先定义好的特殊意义,因此不能用于其他目的,不能作为普通的名字使用。C语言关键字共32个,列在这里。

auto

break

case

char

const

continue

default

do

double

else

enum

extern

float

for

goto

if

int

long

register

return

short

signed

sizeof

static

struct

switch

typedef

union

void

unsigned

volatile

while

这里不准备对它们做更多解释。随着书中讨论的深入,读者会一个一个地接触并记住它们。目前只需要了解关键字这一概念。

除了不能使用关键字之外,人们写程序时几乎可以用任何标识符为自己所定义的东西命名,所用的名字可以自由选择。通过长期的程序设计实践,人们认识到命名问题并不是一件无关紧要的事情。合理选择程序对象的名字能为人们写程序、读程序提供有益的提示,因此,人们倡导采用能说明程序对象内在含义的名字(标识符)。

注意:命名问题并不是C语言中特殊的东西,每种程序语言都必须规定程序中名字的形式。在计算机领域中到处都用到名字。例如,计算机里的文件和目录,各种应用程序和系统,图形界面上的图标和按钮,甚至计算机网络中的每台计算机都需要命名。采用适当命名形式的原则在计算机领域中具有广泛适用性。