原文: https://www.programiz.com/c-programming/c-variables-constants

在本教程中,您将学习变量和命名变量的规则。 您还将学习 C 编程中的不同字面值以及如何创建常量。

变量

在编程中,变量是用于保存数据的容器(存储区)。

为了指示存储区域,应该为每个变量赋予唯一的名称(标识符)。 变量名称只是存储位置的符号表示。 例如:

  1. int playerScore = 95;

在此,playerScoreint类型的变量。 在此,为变量分配一个整数值95

变量的值可以更改,因此可以更改名称。

char ch = 'a';
// some code
ch = 'l';

变量命名规则

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

注意:您应始终尝试为变量赋予有意义的名称。 例如:firstName是比fn更好的变量名。

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

int number = 5;      // integer variable
number = 5.5;        // error
double number;       // error

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

访问此页面以了解有关变量可以存储的不同类型数据的更多信息。


字面值

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

此处,12.5'c'是字面值。 为什么? 您不能为这些术语分配不同的值。


1.整数

整数是没有任何小数或指数部分的数字字面值(与数字关联)。 C 编程中有三种类型的整数字面值:

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

例如:

Decimal: 0, -9, 22 etc
Octal: 021, 077, 033 etc
Hexadecimal: 0x7f, 0x2a, 0x521 etc

在 C 编程中,八进制以0开头,十六进制以0x开头。


2.浮点字面值

浮点字面值是具有分数形式或指数形式的数字字面值。 例如:

-2.0
0.0000234
-0.22E-5

注意E-5 = 10<sup>-5</sup>


3.字符

通过将单个字符括在单引号内来创建字符字面值。 例如:'a''m''F''2''}'[


4.转义序列

有时,在 C 编程中必须使用不能键入或具有特殊含义的字符。 例如:换行符(输入),制表符,问号等。

为了使用这些字符,使用了转义序列。

转义序列

转义序列 字符
\b 退格键
\f 换页
\n 新行
\r 返回
\t 水平制表
\v 垂直制表
\\ 反斜杠
\' 单引号
\" 双引号
\? 问号
\0 空字符

例如:\n用于换行符。 反斜杠\导致编译器无法正常处理字符。


5.字符串字面值

字符串字面值是用双引号引起来的一系列字符。 例如:

"good"                  //string constant
""                     //null string constant
"      "               //string constant of six white space
"x"                    //string constant having a single character.
"Earth is round\n"         //prints string with a newline

常量

如果要定义一个不能更改其值的变量,则可以使用const关键字。 这将创建一个常数。 例如,

const double PI = 3.14;

注意,我们添加了const关键字。

在此,PI是符号常数。 其值不能更改。

const double PI = 3.14;
PI = 2.9; //Error

您也可以使用#define预处理器指令定义常量。 我们将在 C 宏教程中对其进行了解。