C语言的元素(二)

C语言的元素(二)

常量

常量是在程序中作为值使用的数字、字符或字符串,常量的值不因执行的环境不同而改变。

C语言有四种常量:整数常量、浮点数常量、字符常量和串直接量。以下各部分说明各类常量的格式及使用。

整数常量

整数常量是表示一个整数值的十进制、八进制或十六进制数。十进制常量的形式为:digits其中dvUs是一个或多个十进制数字(从0到9)。

八进制常量的形式为:Oodigits其中是一个或多个八进制数字(从0到7),前导零是必须的。十六进制常量的形式为:Oxhdigits其中Idt是一个或多个十六进制数字(从0到9、以及从a到f和从A到F),前导零是必须的,而且必须跟以“X”。

整数常量总是表示正值。若需要负值,则可以把负号(一)放在常量之前形成一个表示负值的表达式,而负号被视为一个算术运算符。

每个整数常量根据它的值都有一个类型,常量的类型决定了它出现在表达式中或用以形成负常量时将进行的转换,十进制常量被认为是带符号的数值,并给以类型int或者kmg、八进制和十六进制常量也可指定为int或者long类型,但它们与其它有符号数不同,在类型转换中不进行符号扩充。

程序员可以告诉编译程序让一个常量具有long类型,方法是在常量后面附加上“1”或“L”。列举了类型为long整数常量:类型的说明在第四章“说明”中给出,类型转换规则在第五章“表达式和赋值”中给出。

浮点常量

浮点数常量是表示一个有符号的实数的十进制数值,有符号的实数包括整数、小数和指数三部分。浮点数常量的形式为:其中是一个或多个十进制数字(从0到9),E(或e)是指数的符号。小数点以前的数字(值的整数部分)或小数点以后的数字(值的小数部分)均可以省去,但二者不能同时省去。指数由指数符号后面跟以有可能为负值的整数值构成。仅当给出指数时才能省去小数点。不能用空白字符把常量中数字或字符隔开。

浮点数常量总是表示正值,当需要负值时,可以把负号()置于常量之前形成一个具有负值的浮点常量表达式,而负号被视为算术运算符。

字符常量

字符常量是括在单引号之内的字母、数字、标点符号或转义序列,字符常量的值就是它本身。字符常量中不能出现多乎一个的字符或转义序列。其中是可表示字符集中(包括任何转义序列)除了单引号()或反斜线()和换行符以外的任何字符。为了把单引号或反斜线用作字符常量,应该按那样在它前面再加一个反斜线,而用转义序列,来表示换行符。字符常量的类型为chai,在类型转换时进行符号扩充。

串直接

串直接量是括在双引号之内的字母、数字和符号的序列。串直接量为一个字符数组,数组串中的字符依次存贮在内存中一块连续的区域内,并且把空字符()自动地附加到串的尾部。程序中的每个串都被视为不同的项,如果程序中有两个相同的串,那么它们各自都有自己的存贮K域。

元素类型为char的数组,数组中元素的个数是串中的字符的个数加1,因为最后一个字符之后的空字符也被计算在内。

标识符

标识符是用户为程序中所使用变量、函数和标号所起的名字。用户可以创建一个标识符,方法是在说明部分把它和变量或函数联系在一起,用户也可以在以后使用该标识符以表示给定的项(说明在第四章“说明”中介绍)。

标识符是以字母或下划线(-)开头的字母、数字或下划线序列,标识符中可以有任意数目的字符,但只有前31个对编译程序来说有意义(其它需要编译程序的输出作为输入的程序,如连接程序,可能使用更少的字符.)。使用前导的下划线必须小心,因为这时有可能和隐含的系统子程序名字发生冲突,从而产生错误。

C编译程序区分大小写英文字母,因此,可以说明拼写方法一样但大小写不完全一样的不同的标识符。例如,下列标识符是互不相同的:

连接程序可能要进一步限制全程可见符号中的字符的类型和数目,而且不像编译程序那样,连接程序还可能不区分大小写。关于连接程序所使用的名字规则请查阅相应的连接程序的文档资料。

关键字

关键字是对c编译程序来说有特殊含意的预先定义的标识符,程序项的名字不能与下面所列出的关键字发生冲突:

不能重定义关键字,但是可以在编译之前用预处理程序指令说明用以替换关键字的文字(见第八章,预处理程序指令)。

注释

注释是被编译程序视为空白字符并予以略去的字符序列。

这里,是可表示字符集中的任何字符,包括换行符的任意组合,但不能包含“*/”。这就是说注释可以占据一行以上的位置,但是不能嵌套。

注释典型的用处是说明源程序中的语句或动作,它可以出现在空白字符所能出现的任何地方。既然编译程序对注释的字符不予理睬,那么关键字可以出现在注释中而不会产生任何错误。

编译程序把“nest”之后的第一个“*/”识别成注释的结束,而处理其余的正文就会产生错误。

为了压缩程序的大模块或包含注释的程序段的编译,可以使用预处理程序指令if,而不使用注释

单词

当编译程序处理程序时,它把程序分成字符组,即所谓的单词。一个单词对编译程序来说是有一定含义的语法单位,而且它不能再进一步划分了。本章所讨论的运算符、常数、标识符和关键字都是单词的例子,标点字符,如方括号([])、花括号({})、括号和逗号也都是单词。

单词由空白字符和其它单词,如运算符和标点字符区分开来。为使编译程序不把一项分解为两个或更多的单词,标识符、多字符运算和关键字的字符间是禁止出现空白字符的。

当编译程序构成单词时,在转入处理下一个单词之前,它把尽可能多的宇符组成一个单词,正是因为如此,没有空白字符隔开的单词可能得不到预期的处理。

展开阅读全文

页面更新:2024-03-28

标签:负号   编译程序   负值   标识符   常量   整数   注释   序列   单词   符号   字符   元素   关键字   语言   类型   数字   程序

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top