(1)首字母只能是_或字母
(2)由_,字母和数字组成(不能包含除_外的任何字符)
整型分为带符号(signed)和无符号(unsigned)两种,默认为带符号的(除了char,signed char和unsigned char),带符号的可以表示正数,负数或0,不带符号的只能表示正数或0
1 byte字节 = 8 bit比特
(1)浮点数尽量选用double型,float型精度不够,而且在某些设备上运算速度不如double型,long double提供的精度在一般情况下没有必要,而且消耗大
(2)char字符型用于存储单个字符,一般用来表示性别(男女),选项(abcd),成绩(优良中差)等,一般情况下string字符串型较常用
身份证号一般采用string型(有的后面有X)
(3)当明确知道数值不可能为负时,选用无符号类型
(4)int与long int取值范围和位数一致,若超过了int的取值范围则选用long long
bool b = 42; //b=true,非布尔类型赋值给布尔类型,0为false,否则为true
int i = b; //i=1,布尔类型赋值给非布尔类型,false为0,true为1
i = 3.14; //i=3,浮点数赋值给整数类型,只保留整数部分3
double pi = i; //pi=3.0
unsigned char c = -1; //c=256-1=255,无符号类型的值超出范围取模
signed char c2 = 256; //无符号类型的值超出范围结果不定,程序可能崩溃
无符号数不会小于0,这一点也关系到循环函数的写法,切勿混合使用带符号类型和无符号类型
32 4294967264 32 -32 0 0
整型字面值
数值20的表示:
20 /*十进制*/
024 /*八进制前面加0*/
0x14 /*十六进制前面加0x或0X*/
浮点型字面值
3.14159
3.14159E0
0.
0e0
.001
字符和字符串字面值
'a' //char字符字面值,单引号
“Hello” //string字符串型字面值,双引号
编译器在每个字符串后面加一个空字符“\0”,因此字符串字面值的实际长度比它的内容多1
//分多行书写的字符串字面值
cout<<"I am the king "
"of the world"<
转义序列
常见的:换行符\n 制表符\t
ASCII表
(a): character literal, wide character literal, string literal, string wide character literal.
(b): decimal, unsigned decimal, long decimal, unsigned long decimal, octal, hexadecimal.
(c): double, float, long double.
(d): decimal, unsigned decimal, double, double.
十进制
09为不合法的八进制,07为8进制
(a): Who goes with Fergus?(new line) "string"
(b): 31.4 "long double"
(c): 1024 "float"
(d): 3.14 "long double"
#include
using namespace std;
int main()
{
cout << "\062\115\012"<
注:在c++中,初始化和赋值是两个完全不同的操作,初始化是在创建变量时赋予其一个初始值,而赋值是把对象的当前值擦除,以一个新值来代替
若定义变量时没有指定初值,则变量被默认初始化:
(1)定义在函数体外部的变量初始化为0
(2)函数体内部的内置类型变量不被初始化,值不确定(建议初始化每一个内置类型的变量,否则运行结果无法把握)
(3)每个类决定其初始化对象的方式,如string类没有指定空值则生成一个空串