- 常量及符号
- 常量:程序运行时,其值不能改变的量
- 常量可以分为:整型常量、实型常量、字符常量、字符串常量
#include<iostream>
using namespace std;
int main()
{
cout<<1234<<endl;//整型常量
cout<<3.14<<endl;//实型常量(浮点数常量)
cout<<\'a\'<<endl;//字符常量
cout<<"HelloWorld"<<endl;//字符串常量
return 0;
}
-
- 整型常量:有符号整型常量;无符号整型常量
- 十进制:有符号:-255、+225;无符号:225
- 八进制:以0开头,每位取值范围为0-7,通常为无符号
- 十六进制:以0x/0X开头,每位取值范围0-15,超过10的用a-f/A-F表示,如0x2a1
- 实型常量:也称为浮点数,只能采用十进制数表示,可以分为有符号和无符号
- 小数表示法:整数部分.小数部分,每位值的取值范围为0-9,且整数部分和小数部分可以不必同时出现
- 指数表示法(科学记数法):e/E 左右两边必须有数,且右边必须为整数,当左边为小数时,小数点左边应有一位非0数字,例如:0.1e10(错误) 1.0e9(正确)
- 书写浮点常量的时候,程序通常将它存储为double型,加后缀f/F为float型,加后缀l/L为long double型
- 与整数相比,浮点数有两大优点。首先,它们可以表示整数之间的值。其次,由于有缩放因子,它们可以表示的范围大的多。另一方面,浮点运算的速度通常比整数运算慢,且精度低。
- 字符常量:用单引号括起来的一个字符,编译的时候,字符常量会被转换为整型常量(十进制)—— ASCII表
- ‘\ddd’ 每个d代表八进制数:\101(八进制)=1*8^2+0*8^1+1*8^0(十进制)=65=A(字符)
- \'\xhh\' 每个h代表十六进制数:\x41 4*16^1+1*16^0=65 对应字符常量为A
#include<iostream> using namespace std; int main() { cout<<\'A\'<<endl;//A cout<<\'\101\'<<endl;//A cout<<\'\x41\'<<endl;//A cout<<\'\077\'<<endl;//? return 0; } -
转义字符:特殊的字符常量
-
\0空字符:字符串结束符,计算机会在每个字符串后面自动加
-
\b退格:相当于键盘上的backspace 删掉前一个字符
-
\n 换行=键盘上的回车键
-
\r 回车,回到本行行首输出 会将原来的替换掉
-
\t 制表符=Tab 如果前面的个数不是8的倍数用空格填充,若是8的倍数,则用一个整的制表符(8位)填充
-
\f 非显示字符 换页转义符 在制作打印机时用得到
-
#include<iostream> using namespace std; int main() { cout<<"****\b1"<<endl; //bsckspace // 输出结果 ***1 cout<<"Hello WORLD\rxxx"<<endl; // 输出结果 xxxlo WORLD cout<<"Hello WORLD\nxxx"<<endl; cout<<"0123456\txx"<<endl; // 0123456 xx 用一个空格填充 cout<<"01234561\txx"<<endl; //01234561 xx 用8个空格填充 return 0; }
-
-
字符串常量:一对双引号括起来的零个或多个字符序列;
-
“ ”空字符串
-
‘\0’空字符
-
NULL 是一种特殊的数据类型,变体,表示空的意思
- 空字符串与空字符的区别:其一 :概念上区分 (一个是字符串 一个是字符); 其二:字符串常量和字符常量的区别; \'A\' 占用一个字节, "A"(\'A\',\'\0\') 占用两个字节
-
#include<iostream> using namespace std; int main() { cout<<sizeof(\'A\')<<endl; //1 cout<<sizeof("A")<<endl; //2 return 0; } - NULL与空字符串的区别: 空字符串分配了内存空间, NULL不会分配内存空间
-
-
布尔(bool)常量:true false
- 整型常量:有符号整型常量;无符号整型常量