原文: https://www.programiz.com/c-programming/c-variables-constants
在本教程中,您将学习变量和命名变量的规则。 您还将学习 C 编程中的不同字面值以及如何创建常量。
变量
在编程中,变量是用于保存数据的容器(存储区)。
为了指示存储区域,应该为每个变量赋予唯一的名称(标识符)。 变量名称只是存储位置的符号表示。 例如:
int playerScore = 95;
在此,playerScore
是int
类型的变量。 在此,为变量分配一个整数值95
。
变量的值可以更改,因此可以更改名称。
char ch = 'a';
// some code
ch = 'l';
变量命名规则
- 变量名称只能包含字母(大写和小写字母),数字和下划线。
- 变量的第一个字母应该是字母或下划线。
- 对于变量名称(标识符)可以使用多长时间没有规定。 但是,如果变量名超过 31 个字符,则在某些编译器中可能会遇到问题。
注意:您应始终尝试为变量赋予有意义的名称。 例如:firstName
是比fn
更好的变量名。
C 是一种强类型语言。 这意味着变量类型一旦声明就无法更改。 例如:
int number = 5; // integer variable
number = 5.5; // error
double number; // error
在此,number
变量的类型是int
。 您不能为该变量分配浮点(十进制)值 5.5 。 同样,您不能将变量的数据类型重新定义为double
。 顺便说一句,要将十进制值存储在 C 中,您需要将其类型声明为double
或float
。
访问此页面以了解有关变量可以存储的不同类型数据的更多信息。
字面值
字面值是用于表示固定值的数据。 它们可以直接在代码中使用。 例如:1
,2.5
,'c'
等。
此处,1
,2.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 宏教程中对其进行了解。