常量

2018-08-12 22:03 更新

常量

常量就是程序中不能被修改的固定的值,也称为字面值。

常量可以是任何基础数据类型,比如整型,浮点型,字符型,字符串和布尔类型。

通常情况下常量被认为是定义后不能更改的变量。

整型常量

整数常量可以是十进制、八进制或十六进制常量。对于十六进制可以用 ox 或 OX 前缀来标示,可以用 O 前缀来标示八进制,十进制默认不需要前缀标志。

整数常量也可以与 U 和 L 后缀一起搭配使用,相应的来表示无符号和长整型。后缀对大小写不敏感。

下面是整型常量的一些例子:

    212 // 合法   
    215u// 合法  
    0xFeeL  // 合法  
    078 // 不合法: 8不是合法的八进制  
    032UU   // 不合法: U后缀不能重复使用

下面试其他的关于不同类型的整型常量:

    85 // 十进制
    0213   // 八进制
    0x4b   // 十六进制
    30 // 整型
    30u// 无符号整型
    30l// 长整型
    30ul   // 无符号整型

浮点常量

浮点常量由整数部分、小数点、小数部分和一个指数部分组成。可以使用十进制或者指数的形式来表示浮点常量。

使用指数表示时,必须包含小数点,指数,或两者同时使用。相对应的,使用十进制形式表示,必须包含整数部分,小数部分,或两者兼而有之。有符号指数可以用 e 或 E 来表示。

下面是一些浮点常量的一些例子:

    3.14159   // 合法
    314159E-5L// 合法
    510E  // 不合法: 指数部分不完整
    210f  // 不合法: 没有整数部分
    .e55  // 不合法: 无整数或小数部分  

布尔常量

C++ 中只有两个布尔类型的常量,他们都是标准 C++ 中的关键词。

  1. true :代表肯定的
  2. false :代表否定的

需要注意的是不可以将true看做是1,也不可以将false看做是0.

字符常量

字符常量应该用单引号括起来。如果字符常量以 L 开头(仅大写),那么它将是一个宽字符常量且需要使用 wchar_t 类型的变量来存储。否则,它将是个窄字符常量且存储在 char 类型的变量中。

字符常量可以还是一个普通字符(比如 'x')、转义字符('\t')或者是一个通用字符(比如 '\u02C0').

C++ 中有一些使用反斜杠标志的字符,他们具有特殊的意义,且可以用于表示换行(\n)或者 tab 键(\t)。下面是一些转义字符的列表:

转义字符 意义
\\ \字符
\' '字符
\'' ''字符
\? ?问号字符
\a 警告
\b 退格
\f 换页
\n 换行
\r 回车
\t 横向tab
\ooo 八进制的一到三位数
\xhh... 一位或多位的十六进制数

下面是一些展示转义字符的例子:

    #include <iostream>
    using namespace std;

    int main()
    {
       cout << "Hello\tWorld\n\n";
       return 0;
    }

当上述代码先编译再执行后,会出现如下结果:

    Hello   World

字符串常量

字符串常量需要使用双引号括起来。字符串常量跟字符常量一样,包括:普通字符、转义字符和通用字符。

可以使用空格将一行字符分割成多个行。

如下是一些字符串常量的例子。所有的三种形式是相同的字符串。

    "hello, dear"

    "hello, \

    dear"

    "hello, " "d" "ear"

默认常量

如下为 C++ 中的两个简单的默认常量。

  1. #define:预处理
  2. const:关键字

如下是详细的例子:

    #include <iostream>
    using namespace std;

    #define LENGTH 10   
    #define WIDTH  5
    #define NEWLINE '\n'

    int main()
    {

       int area;  

       area = LENGTH * WIDTH;
       cout << area;
       cout << NEWLINE;
       return 0;
    }

当上述代码先编译再执行后,会出现如下结果:

    50

const 关键字

可以使用const前缀来声明特殊类型的常量,比如:

    const type variable = value;

下面是比较具体的例子:

    #include <iostream>
    using namespace std;

    int main()
    {
       const int  LENGTH = 10;
       const int  WIDTH  = 5;
       const char NEWLINE = '\n';
       int area;  

       area = LENGTH * WIDTH;
       cout << area;
       cout << NEWLINE;
       return 0;
    }

当上述代码先编译再执行后,会出现如下结果:

    50

注意:在程序首部定义常量是一个良好的编程习惯。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号