C - 常量和文字
常量是指程序在执行过程中可能不会改变的固定值。这些固定值也称为 literals .
常量可以是任何基本数据类型,例如整数常量、浮点常量、字符常量或字符串字面量 .还有枚举常量。
常量的处理方式与常规变量一样,只是它们的值在定义后不能修改。
整数字面量
整数文字可以是十进制、八进制或十六进制常量。前缀指定基数或基数:0x 或 0X 表示十六进制,0 表示八进制,没有任何内容表示十进制。
整数文字也可以有一个后缀,它是 U 和 L 的组合,分别表示无符号和长整数。后缀可以大写也可以小写,顺序不限。
以下是整数文字的一些示例 -
212 /* Legal */ 215u /* Legal */ 0xFeeL /* Legal */ 078 /* Illegal: 8 is not an octal digit */ 032UU /* Illegal: cannot repeat a suffix */
以下是各种整数文字的其他示例 -
85 /* decimal */ 0213 /* octal */ 0x4b /* hexadecimal */ 30 /* int */ 30u /* unsigned int */ 30l /* long */ 30ul /* unsigned long */
浮点文字
浮点文字具有整数部分、小数点、小数部分和指数部分。您可以用十进制形式或指数形式表示浮点字面量。
表示小数形式时,必须包含小数点、指数或两者;在表示指数形式时,您必须包括整数部分、小数部分或两者。有符号指数由e或E引入。
以下是浮点文字的一些示例 -
3.14159 /* Legal */ 314159E-5L /* Legal */ 510E /* Illegal: incomplete exponent */ 210f /* Illegal: no decimal or exponent */ .e55 /* Illegal: missing integer or fraction */
字符常量
字符文字用单引号括起来,例如,'x' 可以存储在 char 的简单变量中 输入。
字符文字可以是普通字符(例如,'x')、转义序列(例如,'\t')或通用字符(例如,'\u02C0')。
C 中的某些字符在以反斜杠开头时表示特殊含义,例如换行符 (\n) 或制表符 (\t)。
- 这里,你有一个这样的转义序列代码列表 -
转义序列 意义 \\ \字符 \' ' 字符 \" " 字符 \? ?字符 \a 警报或铃声 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平标签 \v 垂直标签 \ooo 一到三位的八进制数 \xhh 。 . . 一个或多个数字的十六进制数
以下是显示一些转义序列字符的示例 -
现场演示#include <stdio.h> int main() { printf("Hello\tWorld\n\n"); return 0; }
当上面的代码编译并执行时,它会产生以下结果 -
Hello World
字符串字面量
字符串文字或常量用双引号“”括起来。字符串包含类似于字符文字的字符:纯字符、转义序列和通用字符。
您可以使用字符串文字将长行分成多行并使用空格分隔它们。
以下是字符串文字的一些示例。这三种形式都是相同的字符串。
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
定义常量
C中有两种简单的方法来定义常量 -
-
使用 #define 预处理器。
-
使用 const 关键字。
#define 预处理器
下面给出了使用#define 预处理器定义常量的形式 -
#define identifier value
下面的例子详细解释了它 -
现场演示#include <stdio.h> #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
当上面的代码编译并执行时,它会产生以下结果 -
value of area : 50
const 关键字
你可以使用 const 声明具有特定类型的常量的前缀如下 -
const type variable = value;
下面的例子详细解释了它 -
现场演示#include <stdio.h> int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
当上面的代码编译并执行时,它会产生以下结果 -
value of area : 50
请注意,用大写字母定义常量是一种很好的编程习惯。
C语言