1.5 变量和常量

变量和常量是用来在程序中表示数据的。 常量 是指取值在程序的执行过程中始终保持不变的量,又分为 文字常量 (Literal constant)和 常变量 (也称“ 符号常量 ”)。

本节将分三小节来介绍。

变 量

◆   变量 :在程序中是指可以改变值的量。

◆   变量名 :用于标识变量的标识符。而且变量必须用标识符进行标识。

◆   变量的类型 :变量有类型之分,如整形变量、字符变量等。

◆   变量的说明 :任何变量都必须先说明后使用。

目的:一是便于编译程序为变量分配空间,二是便于编译时进行语法检查。

格式:在C++中,变量说明的一般格式为:
     [存储类型]<数据类型> <变量名1>[,<变量名2>,…,<变量名n>]

举例,下面是变量说明的几个例子:
    int i, j, k;    //说明3个整型变量i,j,k
    float x,y,z;    //说明3个实型变量x,y,z
    char c1, c2;    //说明2个字符型变量c1,c2
    double dx;        //说明1个双精度型变量dx

◆   变量的使用 :变量使用的第一步,是给变量赋初始值,称为“初始化”。有两种方法:
  • 变量说明时直接赋初值:
        int a=3, b=4, c=5;
        float x=3.0;
  • 用赋值语句赋初值:
        float x, e;
        x=3.5;
        e=2.71828;

文字常量

文字常量 指程序中直接给出的量。文字常量存储在程序区,而不是数据区;对它的访问不是通过数据地址进行的。

根据取值和表示方法的不同,可分为 整型常量、实型常量、字符型常量和字符串常量

◆   整型常量 :即整数,可以有多种表示方法。
  • 十进制表示法:是平时的习惯写法,例如:15 -24;
  • 八进制表示法:以0打头,由数字0~7组成。例如:
        012      //八进制数12,即十进制数10
        -6555    //八进制数-655,即十进制数-429
  • 十六进制表示法:以0X(大小写均可)打头,由数字0~9和字母A~F(大小写均可)组成,用来表示一个十六进制数。例如:
        0x32A    //十六进制数32A,即十进制数810
        -0x2fe0   //十六进制数-2fe0,即十进制数-12256
  • 其他表示法:还可以表示以 L或l结尾的长整数和以U或u结尾的无符号整数。以UL或LU(大小写均可)结尾则可表示无符号长整型常数。例如:
        -84L        //十进制长整数-84
        026U       //八进制表示的无符号数26
        0X32LU     //十六进制表示的无符号长整数32

◆   实型常量 :包含小数点和10的幂的数,有两种表示方法:
  • 一般形式:与平时书写形式相同,由数字0 ~9和小数点组成。例如:
        0.23、 -125.76、 0.0、 .46、 -35.
  • 指数形式:即科学表示法,表示为尾数乘以10的次方形式,由尾数、E或e和阶数组成。要求在E或e前面的尾数部分必须有数字,后面的指数部分必须为整数。

    判断下列实型常量表示是否合法:(答案:红色的不合法)
    123E12 、 E4 、 1.43E3.5 、 -.34e-2 ;

◆   字符型常量 :用单引号引起来的单个字符。
  • 保存形式:在内存中保存的是字符的ASCII码值。
  • 直接表示形式:对于可显示字符,通常用单引号直接引起来表示。例如:
        'a'   //字符a            '4'   //字符4               '@'   //字符@               ' '   //空格字符
  • 转义序列表示法:对于不可显示的或无法从键盘输入的字符,如回车符、换行符、制表符、响铃、退格等;另外,还有几个具有特殊含义的字符,如反斜杠、单引号和双引号等,C++提供了一种称为“转义序列”的表示方法。例如:
    '\a'   //响铃             '\n'   //换行符                 '\\'   //字符\   

下表给出C++中预定义的转义序列字符及其含义。
字符表示 ASCII码值 名 称 功 能 或 用 途
\a 0x07 响铃 用于输出
\b 0x08 退格(Backspace键) 退回一个字符
\f 0x0c 换页 用于输出
\n 0x0a 换行符 用于输出
\r 0x0d 回车符 用于输出
\t 0x09 水平制表符(Tab键) 用于输出
\v 0x0b 纵向制表符 用于制表
\0 0x00 空字符 用于字符串结束标志等
\\ 0x5c 反斜杠字符 用于需要反斜杠字符的地方
\′ 0x27 单引号字符 用于需要单引号的地方
\″ 0x22 双引号字符 用于需要双引号的地方
\nnn 八进制表示   用八进制ASCII码表示字符
\xnn 十六进制表示   用十六进制ASCII码表示字符

说明:
  • 上表中最后两行是所有字符的通用表示方法,即用反斜杠加ASCII码表示。
  • 对于可显示字符,有三种表示方法。以字母a为例: ′a′、′\141′和′\x61′
  • 显然,对于可见字符,第一种是最简单直观的表示方法。

◆   字符串常量 :由一对双引号″″引起来的若干个字符组成。例如:″I am a Chinese.″、 ″123″、 ″a″、 ″ ″

字符串常量与字符型常量的区别如下:
  • 字符串常量″a″占两个字节,存放'a'和'\0',如图左半部分,值为0x6100;
  • 字符型常量'a' 占一个字节,存放'a',如图右半部分,值为0x61。

常变量

用常量说明符 const 给文字常量命名所得的标识符就称为“ 标识符常量 ”。因为标识符常量的说明和引用形式很像变量,所以也称“常变量”。例如:
    const float PI=3.14159;    //定义了常变量PI
    const int Number_of_Student=100; //定义了常变量Number_of_Student

在使用常变量时应注意以下几点:
  • 常变量必须也只能在说明时进行初始化。
  • 常变量初始化之后,不允许再被赋值。
  • 常变量必须先说明后使用。

你可能感兴趣的:(C++)