elva

c语言常量

常量只有四类:整型常量,浮点常量,枚举常量 和 字符常量。
每类都有自己的一点规定,这个说起来比较扯,但记起来很容易:

整型常量有三类:十、八、十六进制常量。
    十进制的是指:非零数字起始的数字序列。
    八进制:0起始的八进制数字序列。八进制数字是指 0-7 这八个数字
    十六是:0x 或 0X 起始的十六进制数字序列。十六进制数字是指 0-9 a-f A-F 这些。
    以上三类都可以追加整型后缀u, U, l, L, ll, LL 用以分别表示常量是 usigned, long, long-long 类型。

浮点也有两类:一类是十进制浮点常量,另一个是十六进制浮点常量(这个不是很常用)。
    十进制的有两种上表示方法:
        一种借助小数点的:d.d    .d    d.    这三种形式。其中的 d 是数字序列的意思。
        一种不用小数点,就必须给出指数部分(就是用科学记数法)。
        即使使用第一种方法,后面也可以再根指数部分,就是加个 e 或者 E 再可选地加一个正负号,再数字序列。
    十六进制的,大体上差不多,但不管你前面有没有小数点,后面的指数部分都必须给出。用 p 或 P 代替 e E。
    所有类型都可以加后缀 f F l L。

枚举的一般不会考试出的,我想。它的语法也相对简单,就是加个 const 。我就不多说了。

字符的其实最复杂。
    简单的说就是用 '' 把数个(*见我后面的解释)字符括起来。比如 'a'。它也有两类,一个是所谓的普通字符常量。另一个(如果是应试的话其实可以无视),是宽字符常量,区别就是前面给个缀L,比如 L'a'。
    但是它有一些转义的规则。使得用文字描述起来超吃力,初学者也容易迷糊。
        转义规则有三类:简单转义,八进制转义 和 十六进制转义。
        简单转义就是指  \'  \"  \?  \\  \a \b \f \n \r \t \v 这么固定的几个。
        八进制是指 \ 后跟一至三个八进制数的形式,如 \1  \12  \ 123
        十六进制是指 \x 后跟一个以上十六进制数字的形式,如 \xa \x123abc 这样的。但限制是追加的值不能超过 unsigned char 或者 wchar_t 表示的上限。
    在语义上,一个字符常量的类型是 int 。

posted on 2011-01-26 11:14 叶子 阅读(1781) 评论(1)  编辑 收藏 引用 所属分类: C\C++

Feedback

# re: c语言常量 2011-09-17 15:56 wo

dfdsf  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理