第三章——变量和常量

1. 什么是变量和常量

常量是固定值,在程序执行期间不会改变。

变量是指指向某一个存储空间的名称,而存储空间我们用数据类型来定义,因此定义一个变量就是定义了一个可操作存储空间。

2. 整形常量

0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。

整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。

212         /* 合法的 */
215u        /* 合法的 */
0xFeeL      /* 合法的 */
078         /* 非法的:8 不是八进制的数字 */
032UU       /* 非法的:不能重复后缀 */
85         /* 十进制 */
0213       /* 八进制 */
0x4b       /* 十六进制 */
30         /* 整数 */
30u        /* 无符号整数 */
30l        /* 长整数 */
30ul       /* 无符号长整数 */

3. 浮点型常量

当使用指数形式表示时, 必须包含小数点、指数,或同时包含两者,默认的浮点类型是 double 类型。

带符号的指数是用 e 或 E 引入的整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。

3.14159       /* 合法的 */
314159E-5L    /* 合法的 */
510E          /* 非法的:不完整的指数 */
210f          /* 非法的:没有小数或指数 */
.e55          /* 非法的:缺少整数或分数 */

4. 字符常量

字符常量是括在单引号中,如:‘x‘,’X’。

转义字符指无法输出打印,或者会引起歧义的字符,如:

转义字符字符含义
\n换行
\t水平制表符
\’单引号
\“双引号
\\斜杠

5. 定义变量的命名规范

  • 变量可以由字母、数字和下划线字符组成,必须以字母或下划线开头
  • C 语言区分大小写,Print 和 print 是两个不同的变量
  • 定义变量是可以使用=给变量赋初值
  • 定义相同类型的变量时,可以连续定义而不需要定义数据类型

6. 定义一个常量(象征性)

使用 define,如:

#define LED_PIN 6
#define NUM_LEDS 30
#define LED_TYPE WS2812
#define COLOR_ORDER GRB

使用 const,如:

const uint8_t LED_PIN = 6;
const uint8_t NUM_LEDS = 30;