第三章 常量与变量、代码文件后缀名

本文详细介绍了C++中的常量,包括整型、浮点型、布尔型、字符型和字符串字面值。讨论了变量的定义、声明、初始化与赋值。此外,还探讨了代码文件的头文件和源文件后缀名,以及`const`和`#define`定义的常量的区别和使用注意事项。
摘要由CSDN通过智能技术生成

一 常量

1. 字面值常量

(1)整型字面值

        整数字面值常量可以使用三种进制表示:十进制,八进制,十六进制,当然这些进制是不会改变其内存中的二进制值的。其中八进制以零(0)开头,十六进制以0x或0X开头。

        例如,30这个数,分别表示成十进制,八进制,十六进制即是:

        30        //十进制

        036      //八进制

        0x1e     //十六进制(不区分大小写)

        由上一章可知,整型按照其内存存储位数又分为unsigned,int,long型等分类,那么一个数字到底是分配到什么型呢?

        首先,假如你的数字只是单纯的数字,并未加任何后缀,就像上面的那个数字,那么它的默认类型则是int类型,但是如果数字范围超过了int型,那么其默认类型就会是long型了。

        其次,还要一种方式让你可以指定类型,一种是指定为unsigned类型,就是在数值后面添加U(不区分大小写),另一种就是指定为long型,即是在数值后添加L(同样不区分大小写),两种也可以组合,比如10UL,表示unsigned long型,U和L的组合顺序以及大小写都可随意,表示这个值是以该类型进行存储,而非默认的int型。

        注意,在这里,没有short型的字面值常量。

(2)浮点型字面值

        通常用十进制或是科学计数法表示浮点型字面值,使用科学计数法时,用E(不区分大小写)来表示底数10,指数部分用十进制,其中默认的浮点字面值为double型。如果想要使用float型,则需要在数值后面加上F(不区分大小写)来表示单精度,同样的,扩展精度型则需要在数值后面添加L(不区分大小写),如下:

        6.15f(float 6.15)    .001f (float 0.001)     -1. (double -1)      7.54e0  (double 7.54e+0=7.54)    

        8.44e-3f(float 8.44e-3=0.00844)      1.23e1L(long double 1.23e+1=12.3)     0e0(double 0)     

        3.5e40f(超出float范围,编译时报警告,运行时直接打印出inf)

(3)布尔字面值

        一共就两个值,true和false,但是布尔变量除了可赋值为布尔字面值外,还可以以非零值为true,零值为false。

(4)字符字面值        

        用单引号定义单个字符,都是char型,在字符前面加L(注意大写)就能够得到wchar_t类型的宽字符字面值。比如:

        ‘a’     ‘3’        ‘ ’          ‘,’          L'a'

        注意:如果单引号内是一个中文字符,编译会报错的,不过如果在前面加一个L就没问题了,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值