文字是分配给常量变量的常量值。我们可以说字面量代表了不可修改的固定值。它还包含内存但没有引用作为变量。例如,const int =10;是一个常数整数表达式,其中 10 是一个整数文字。
C 编程中存在四种类型的文字:
整型文字
浮动文字
字面量
字符串字面量
它是一个数字文字,仅表示整数类型值。它既不代表小数部分也不代表指数部分的值。
它通过表示 0 到 9 之间的数字来定义。例如,45、67 等。
文字是分配给常量变量的常量值。我们可以说字面量代表了不可修改的固定值。它还包含内存但没有引用作为变量。例如,const int =10;是一个常数整数表达式,其中 10 是一个整数文字。
C 编程中存在四种类型的文字:
整型文字
浮动文字
字面量
字符串字面量
它是一个数字文字,仅表示整数类型值。它既不代表小数部分也不代表指数部分的值。
它通过表示 0 到 9 之间的数字来定义。例如,45、67 等。
#include <stdio.h> int main() { const int a=23; // 常数整数字面量 printf("整数字面量: %d", a); return 0; }
输出
整数文字:23
它是一个仅包含浮点值或实数的文字。这些实数包含整数部分、实数部分、指数部分、小数部分等部分的个数。浮点文字必须以十进制或指数形式指定。让我们简要地了解一下这些表格。
小数形式必须包含小数点、指数部分或两者。如果它不包含其中任何一个,那么编译器将抛出错误。十进制表示法可以使用指定正数和负数的“+”或“-”符号作为前缀。
十进制形式的 float 文字的示例是:
1.2, +9.0, -4.5
让我们看一个十进制形式的 float 文字的简单示例。
#include <stdio.h> int main() { const float a=4.5; // 常量浮点数 const float b=5.6; // 常量浮点数 float sum; sum=a+b; printf("%f", sum); return 0; }
输出
10.100000
当我们想要表示数量级很大的数字时,指数形式很有用。它包含两部分,即尾数和指数。比如这个数是2340000000000,用指数形式可以表示为2.34e12。
指数形式的浮点字面量语法
[+/-] <Mantissa> <e/E> [+/-] <Exponent>
指数表示法中真实文字的示例是:
+1e23, -9e2, +2e-25
创建指数符号的规则
以下是以指数表示法创建浮点文字的规则:
在指数表示法中,尾数可以指定为十进制或小数形式。
指数可以用大写和小写形式书写,即 e 和 E。
我们可以在尾数和指数之前同时使用正号和负号。
不允许有空格
字符文字包含用单引号括起来的单个字符。如果多个字符被分配给变量,那么我们需要创建一个字符数组。如果我们试图在一个变量中存储多个字符,那么就会产生多字符字符常量的警告。让我们通过一个例子来观察这个场景。
#include <stdio.h> int main() { const char c='ak'; printf("%c",c); return 0; }
在上面的代码中,我们在单引号内使用了两个字符,即“ak”。因此,此语句将生成如下所示的警告。
警告产生:
main.c:6:18: warning: multi-character character constant [-Wmultichar] const char c='ak'; main.c:6:18: warning: implicit conversion from 'int' to 'char' changes value from 24939 to 107 [-Wconstant-conversion] const char c='ak'; ~ ^~~~ 2 warnings generated. ? ./main
字符文字的表示
字符文字可以用以下方式表示:
它可以通过在单引号内指定单个字符来表示。例如,“a”、“b”等。
我们可以在单引号内指定转义序列字符来表示字符文字。例如,'\n'、'\a'、'\b'。
我们还可以使用整数形式的 ASCII 来表示字符文字。例如,65 的 ascii 值是“A”。
八进制和十六进制表示法可用作转义序列来表示字符文字。例如,'\023'、'\0x12'。
字符串文字表示用双引号括起来的多个字符。它包含一个附加字符,即“\0”(空字符),它会自动插入。此空字符指定字符串的终止。我们可以使用“+”符号连接两个字符串。
例如,
String1 = "RocSchool";
String2=“家庭”;
要连接上述两个字符串,我们使用“+”运算符,如下面的语句所示:
"RocSchool" + "family"= RocSchool 系列