目录
常量:
1、整型常量
2、浮点型常量
3、字符常量
转义字符
将有特殊含义的字符转换为原本的含义
将八进制数据转义成字符
将十六进制数据转义成字符
4、字符串常量
5、标识符常量(宏)
常量:
程序中不可被改变的数据量
1、整型常量
1 2 553
0b1101
0301
0xfff
2、浮点型常量
3.14 5.16
3、字符常量
单引号框起来
'a' '&' '1' 'T' ' ' 'n'
转义字符
1 2 553
0b1101
0301
0xfff
3.14 5.16
3、字符常量
单引号框起来
'a' '&' '1' 'T' ' ' 'n'
转义字符
单引号框起来
'a' '&' '1' 'T' ' ' 'n'
转义:转换为其他/本身的含义
因为再c语言中, 是转义符,必须要配合其它有效的字符使用,单独使用无效
'\'表示字符 ,它的ASCII码为92.
注意:区分,斜杠:"/" 与 反斜杠:"" ,此处不可互换
将看不见的字符(有特殊意义的字符)转换为看的见的
转义字符 意义 ASCII码值(十进制)
' ' 空字符(NULL),作为字符串结束标志 000
'n' 换行(LF),将当前位置移到下一行开头 010
'a' 响铃(BEL) 007
'b' 退格(BS),将当前位置移到前一列 008
'f' 换页(FF),将当前位置移到下页开头 012
'r' 回车(CR),将当前位置移到本行开头 013
't' 水平制表(HT)(跳到下一个TAB位置) 009
'v' 垂直制表(VT) 011
将有特殊含义的字符转换为原本的含义
附上所有的转义字符和所对应的意义:
转义字符 意义 ASCII码值(十进制)
'\' 代表一个反斜线字符''' 092
''' 代表一个单引号(撇号)字符 039
'''' 代表一个双引号字符 034
将八进制数据转义成字符
'ddd' 1到3位八进制数所代表的任意字符 三位八进制
' 53' 代表 '+' (053转为十进制是43,43 ASCII对应字符 '+')
将十六进制数据转义成字符
'xhh' 1到2位十六进制所代表的任意字符 二位十六进制
'x26' 代表 '&' (0x26转为十进制是38,38 ASCII对应字符 '&')
4、字符串常量
附上所有的转义字符和所对应的意义:
转义字符 意义 ASCII码值(十进制)
'\' 代表一个反斜线字符''' 092
''' 代表一个单引号(撇号)字符 039
'''' 代表一个双引号字符 034
'ddd' 1到3位八进制数所代表的任意字符 三位八进制
' 53' 代表 '+' (053转为十进制是43,43 ASCII对应字符 '+')
将十六进制数据转义成字符
'xhh' 1到2位十六进制所代表的任意字符 二位十六进制
'x26' 代表 '&' (0x26转为十进制是38,38 ASCII对应字符 '&')
4、字符串常量
'xhh' 1到2位十六进制所代表的任意字符 二位十六进制
'x26' 代表 '&' (0x26转为十进制是38,38 ASCII对应字符 '&')
双引号框起来,字符串以' '作为结束标志,' '是存在的,至少默认省略(看不见)
"hello" "number"
"a" //字符串里面包含字符 'a' ' '
"hello " 11 n world x11 ' n" //这个字符串包含13个字符。字符串遇到第一个' '就结束了
5、标识符常量(宏)
利用标识符来表示常量
#include
#define NUM 10
#define PI 3.1415926
#define OUT "hello worldn"
#define N 1+2
#define M 3+4
int main()
{
int m = NUM; //gcc编译时,会将NUM原样替换为10,int m = 10;
int n = N*M; //n = 1+2*3+4 结果为11
return 0;
}
注意:
- 语句后没有分号
- 一般放在函数外,头文件下方(或放在头文件内)
- 作为域为全局
- 没有数据类型的限制,不做数据类型检查
- 在编译过程中会将宏原样替换到代码中
- 原则上大小写都可以,但是默认使用全部大写,为了和变量区分开
好处:
- 代码中使用某个常量数字较多的情况下,方标修改
- 减少"魔鬼数字"的出现



