C---常量

常量

常量是不可被改变的量

不同于变量,常量的生成是用来对变量进行赋值,所以常量也有类型的区分

整数常量

在数学中的整数只有一种表示形式,但由于计算机的进制问题,一个整数又有很多种表达形式

  • 十进制整数

    十进制整数默认情况下被认为是int型,如果在其结尾加上Ll就会被认为是long int型,这种方法往往被用于实参传递中比如一个函数要求传递的参数是long int型,这时候直接赋值123就是不行的,但123l123L就是可行的

  • 八进制整数

    0开头的整数会被C++编译器认为是八进制整数

  • 十六进制整数

    0X0x开头的整数会被C++编译器认为是十六进制整数(这一点与python相同)

小数常量

跟整数有异曲同工之妙

默认十进制小数(还可以使用带有e(自然数)的科学计数法来表示)就是double型,加了F/f就是单精度,加了L/l就是长双浮点

字符常量

就是用单引号括起来的单个字符'A' '%' '\n' 都是合法单个字符

还有转义字符的表示

符号 含义 ASCII
\a 响铃 7
\n 换行 10
\t 水平制表 9
\b 退格(移动至上一格) 8
\r 回车(移动到本行开头) 13
\f 翻页 12
\v 竖向跳格 8
\ \ 反斜杠 92
' 单引号 39
" 双引号 34
\0 空字符 0
\ddd 1~3位八进制数所代表字符 *
\xhh 1~2位十六进制数所代表字符 *

由于ASCII码的存在, 所以单个字符串可以赋值给整形, 其结果就是ASCII码

但是由于单个字符只占有一个字节, 所以最大表示数为2^8也就是0 ~ 255

字符常量

这里要注意, python中 "" ''都代表字符串, 但在C++中只有""代表字符串

每个字符串常量的大小为其位数n+1

原因: 字符串”abc”在内存中的表示

a b c \0
字符a 字符b 字符c 结束记号

结束记号并不是字符串的一部分, 只是起到结束字符串的作用

符号常量

符号常量就类似于在py文件开头的全大写变量, 其作用就是以一个名称来代替数值, 起到一改全改的作用

定义方法:

1
#define NAME 100 //这不是语句, 不加分号

这是一条预处理指令, 并不算是语句, 但他并不能像变量一样操作, 因为系统中并没有他的标识符, 编译时, 编译器会自动将其换为对应数值

相对于符号常量(C语言下常用), 性质类似的常变量在C++中更多被使用

  • Copyrights © 2024 Cdog Shen
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信