📅  最后修改于: 2020-10-21 08:08:05             🧑  作者: Mango
字面量是分配给常量变量的常量值。我们可以说字面量代表无法修改的固定值。它还包含内存,但没有引用作为变量。例如,const int = 10;是一个常量整数表达式,其中10是整数字面量。
C编程中存在四种类型的字面量:
它是一个数字字面量,仅表示整数类型值。它既不表示分数,也不表示指数。
通过表示0到9之间的数字来定义。例如45、67等。
它定义为一个数字,其中0后跟数字,例如0、1、2、3、4、5、6、7。例如012、034、055等。
它定义为一个数字,其中0x或0X后跟十六进制数字(即,从0到9的数字,从(az)或(AZ)的字母字符)。
以下两个符号限定符为整数字面量加上后缀:
L或l:这是一个大小限定符,它指定整数类型的大小为long。
U或u:这是一个符号限定符,表示整数的类型为unsigned。无符号的限定词仅包含正值。
注意:不考虑限定符的顺序,即lu和ul相同。
让我们看一个简单的整数字面量示例。
#include
int main()
{
const int a=23; // constant integer literal
printf("Integer literal : %d", a);
return 0;
}
输出量
Integer literal : 23
它是仅包含浮点值或实数的字面量。这些实数包含整数部分,实数部分,指数部分和小数部分等部分的数量。浮点字面量必须以十进制或指数形式指定。让我们简要地了解这些形式。
小数形式必须包含小数点,指数部分或两者。如果其中不包含任何一个,则编译器将引发错误。十进制符号可以以“ +”或“-“符号为前缀,以指定正数和负数。
十进制浮点字面量的示例包括:
1.2, +9.0, -4.5
让我们看一个简单的示例,以十进制形式表示浮点字面量。
#include
int main()
{
const float a=4.5; // constant float literal
const float b=5.6; // constant float literal
float sum;
sum=a+b;
printf("%f", sum);
return 0;
}
输出量
10.100000
当我们要表示数量很大的数字时,指数形式很有用。它包含两个部分,即尾数和指数。例如,数字为2340000000000,并且可以以指数形式表示为2.34e12。
指数形式的float字面量的语法
[+/-] [+/-]
指数符号形式的真实字面量的示例包括:
+1e23, -9e2, +2e-25
创建指数符号的规则
以下是用于以指数表示法创建浮点字面量的规则:
字符字面量包含一个用单引号引起来的单个字符。如果将多个字符分配给变量,那么我们需要创建一个字符数组。如果我们尝试在一个变量中存储多个字符,则将生成多字符字符常量的警告。让我们通过一个例子观察这种情况。
#include
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
字符字面量
字符字面量可以通过以下方式表示:
字符串字面量表示用双引号引起来的多个字符。它包含一个附加字符,即’\ 0′(空字符),该字符会自动插入。此空字符指定字符串。我们可以使用’+’符号来连接两个字符串。
例如,
String1 =“ javatpoint”;
String2 =“ family”;
要连接以上两个字符串,我们使用’+’运算符,如以下语句所示:
“ javatpoint” +“ family” = javatpoint系列
注意:如果我们表示一个字符,即’b’,则该字符将占据单个字节,因为它是字符字面量。并且,如果我们用双引号“ b”表示字符,则它将占用更多字节,因为它是字符串字面量。