C 语言变量、常量和字面量
本文介绍了 C 语言中的变量、常量和它们的命名规则,还介绍了不同的字面量。
在 C 语言中,变量、常量是狠常用的概念,它们都用于存储数据,只是变量可以重复赋值,而常量则只能赋值一次。
变量
在编程中,变量是保存数据的容器。每个变量都应该被赋予一个唯一的名称(标识符)。
变量名只是内存位置的符号表示,指向了内存中存储数据的位置。例如:
int playerScore = 95;
这里, playerScore
是一个 int
类型的变量,并被赋值一个整数值 95
。
变量的值可以更改:
char ch = 'a';
// 重新赋值
ch = 'l';
变量的命名规则
- 变量名只能包含字母(大写和小写字母)、数字和下划线。
- 变量的第一个字母应该是字母或下划线。
- 变量名(标识符)的长度没有规定。但是,如果标超过 31 个字符,在某些编译器中可能会遇到问题。
注意: 任何情况下都应该使用有意义的变量名。例如: firstName
是一个比 fn
更好的变量名。
C 是一种强类型语言。这意味着变量类型一旦声明就不能更改。例如:
int number = 5; // 整数
number = 5.5; // 错误
double number; // 错误
在这里, number
变量是 int
类型。您不能给这个变量赋值为浮点(十进制)值 5.5
。此外,您不能将变量的数据类型重新定义为 double
. 顺便说一句,要在 C 中存储十进制值,您需要将其类型声明为 double
或 float
。
要了解更多的信息,请访问不同数据类型的变量页面。
字面量
字面量是用于表示固定值的数据。它们可以直接在代码中使用。例如:1
, 2.5
, 'C'
等等。
整数
整数是没有任何小数或指数部分的数字字面量。C 语言编程中有三种类型的整数字面量:
- 十进制(基数为 10)
- 八进制(基数为 8)
- 十六进制(基数 16)
例如:
- 十进制:
0
、-9
、22
等 - 八进制:
021
、077
、033
等 - 十六进制:
0x7f
、0x2a
、0x521
等
在 C 语言编程中,八进制数字以 0
开头, 十六进制数字以 0x
开头。
浮点字面量
浮点字面量是具有小数形式或指数形式的数字字面量。例如:
-2.0
0.0000234
-0.22E-5
注意: E-5 = 10⁵
字符
字符字面量是通过将单个字符括在单引号中来创建的。例如:'a'
, 'm'
, 'F'
, '2'
, '}'
等等。
转义序列
有时,在 C 语言编程中需要使用无法键入或具有特殊含义的字符。例如:换行(回车)、制表符、问号等。为了使用这些字符,需要用到转义序列。
转义序列 | 退格 |
---|---|
\b |
退格 |
\f |
换页 |
\n |
换行 |
\r |
回车 |
\t |
水平标签 |
\v |
垂直标签 |
\\ |
反斜杠 |
\' |
单引号 |
\" |
双引号 |
\? |
问号 |
\0 |
空字符 |
例如: \n
用于换行。反斜杠 \
是转义字符,编译器遇到转义字符会特殊处理。
字符串字面量
字符串字面量是用双引号括起来的字符序列。例如:
"good" // 字符串常量
"" // 空字符串常量
" " // 一个空格的字符串常量
"x" // 具有单个字符的字符串常量。
"Hello\n" // 字符串最后是一个换行
我们将在 C++ 字符串教程中详细了解字符串。
常量
const
关键字是一个类型标识符,标识其后面的变量是一个常量,其值不能被修改。例如,
const double PI = 3.14;
请注意,我们添加了 const
关键字; PI
是一个常量,它的值不能改变。
const double PI = 3.14;
PI = 2.9; // 错误
我们还可以使用 #define
预处理器指令定义常量。我们将在 C 预处理器和宏一文中介绍这种方式。