C++能够处理的基本数据类型
基本数据类型、常量、变量
C++能够处理的基本数据类型
整数类型;
浮点数类型;
字符类型;
布尔类型。
程序中的数据
常量
在源程序中直接写明的数据;
其值在整个程序运行期间不可改变。
变量
在程序运行过程中允许改变的数据。
整数类型
基本的整数类型:int
按符号分
符号的(signed)
无符号的(unsigned)
按照数据范围分
短整数(short)
长整数(long)
长长整数( long long )
ISO C++标准并没有明确规定每种数据类型的字节数和取值范围,它只是规定它们之间的字节数大小顺序满足:
(signed/unsigned)signed char ≤ (unsigned) short int ≤ (unsigned) int ≤ (unsigned) long int ≤ long long int
字符类型(char)
容纳单个字符的编码;
实质上存储的也是整数。
浮点数类型
单精度(float)
双精度(double)
扩展精度(long double)
字符串类型(详见第6章)
有字符串常量
基本类型中没有字符串变量
采用字符数组存储字符串(C风格的字符串)
标准C++类库中的String类(C++风格的字符串)
布尔类型(bool)
只有两个值:true(真) 、false(假)
常用来表示关系比较、相等比较或逻辑运算的结果
各基本类型的取值范围
常量
在程序运行的整个过程中其值始终不可改变的量;
直接使用符号(文字)表示的值;
例如:12,3.5,'A'都是常量。
整数常量
以文字形式出现的整数;
十进制
若干个0~9的数字,但数字部分不能以0开头,正数前边的正号可以省略。
八进制
前导0+若干个0~7的数字。
十六进制
前导0x+若干个0~9的数字及A~F的字母(大小写均可)。
后缀
后缀L(或l)表示类型至少是long,后缀LL(或ll)表示类型是long long,后缀U(或u)表示unsigned类型。
浮点数常量
以文字形式出现的实数;
一般形式:
例如,12.5,-12.5等。
指数形式:
例如,0.345E+2,-34.4E-3;
整数部分和小数部分可以省略其一。
浮点常量默认为double型,如果后缀F(或f)可以使其成为float型,例如:12.3f。
字符常量
单引号括起来的一个字符,如:'a'、'D'、'?'、'$';
C++转义字符列表(用于在程序中表示不可显示字符)
C风格字符串常量
一对双引号括起来的字符序列;
在内存中按串中字符的排列次序顺序存放,每个字符占一个字节;
在末尾添加 ‘\0’ 作为结尾标记。
例:
通过添加前缀可以改变字符常量或者字符串常量的类型,前缀及其含义如下表所示:
变量:在程序的运行过程中,其值可变的量
变量定义
数据类型 变量名1, 变量名2, ..., 变量名n;
初始化
C++语言中提供了多种初始化方式;
例如:
int a = 0;
int a(0);
int a = {0};
int a{0};
其中使用大括号的初始化方式称为列表初始化,列表初始化时不允许信息的丢失。例如用double值初始化int变量,就会造成数据丢失。
符号常量
常量定义语句的形式为:
const 数据类型说明符 常量名=常量值;
或:
数据类型说明符 const 常量名=常量值;
例如,可以定义一个代表圆周率的符号常量:
const float PI = 3.1415926;
符号常量在定义时一定要初始化,在程序中间不能改变其值。
C风格字符串”C++”在内存中占用的字节数是:4
符号常量在定义时一定要初始化(True)