C 语言变量、常量和字面量

本文介绍了 C 语言中的变量、常量和它们的命名规则,还介绍了不同的字面量。

在 C 语言中,变量、常量是狠常用的概念,它们都用于存储数据,只是变量可以重复赋值,而常量则只能赋值一次。

变量

在编程中,变量是保存数据的容器。每个变量都应该被赋予一个唯一的名称(标识符)。

变量名只是内存位置的符号表示,指向了内存中存储数据的位置。例如:

int playerScore = 95;

这里, playerScore 是一个 int 类型的变量,并被赋值一个整数值 95

变量的值可以更改:

char ch = 'a';
// 重新赋值
ch = 'l';

变量的命名规则

  1. 变量名只能包含字母(大写和小写字母)、数字和下划线。
  2. 变量的第一个字母应该是字母或下划线。
  3. 变量名(标识符)的长度没有规定。但是,如果标超过 31 个字符,在某些编译器中可能会遇到问题。

注意: 任何情况下都应该使用有意义的变量名。例如: firstName 是一个比 fn 更好的变量名。

C 是一种强类型语言。这意味着变量类型一旦声明就不能更改。例如:

int number = 5;      // 整数
number = 5.5;        // 错误
double number;       // 错误

在这里, number 变量是 int 类型。您不能给这个变量赋值为浮点(十进制)值 5.5 。此外,您不能将变量的数据类型重新定义为 double . 顺便说一句,要在 C 中存储十进制值,您需要将其类型声明为 doublefloat

要了解更多的信息,请访问不同数据类型的变量页面。

字面量

字面量是用于表示固定值的数据。它们可以直接在代码中使用。例如:1, 2.5, 'C' 等等。

整数

整数是没有任何小数或指数部分的数字字面量。C 语言编程中有三种类型的整数字面量:

  • 十进制(基数为 10)
  • 八进制(基数为 8)
  • 十六进制(基数 16)

例如:

  • 十进制:0-922
  • 八进制:021077033
  • 十六进制:0x7f0x2a0x521

在 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 预处理器和宏一文中介绍这种方式。