什么是常量
文字是分配给常量变量的常量值。我们可以说文字代表无法修改的固定值。它还包含内存,但没有引用作为变量。例如,const int = 10;是一个常量整数表达式,其中10是整数文字。
文字类型
C语言编程:
整数文字
浮点文字
字符文字
字符串文字
整数文字
它是仅表示整数类型值的数字文字。
可以通过以下三种方式指定:
小数(以10为底) )
通过表示0到9之间的数字来定义。例如,45、67等。
八进制数(以8为底)
定义为一个数字,其中0后跟数字,例如0、1、2、3、4、5、6、7、例如012、034、055等。
十六进制数字(以16为底)
定义为一个数字,其中0x或0X后跟十六进制数字(即,从0到9的数字,从(az)或(AZ)的字母字符)。
整数文字的后缀是两个符号限定符:
L或l: 这是一个大小限定符,用于指定整数类型的长度为long。
U或u: 这是一个符号限定符,将整数的类型表示为无符号。未签名的限定词仅包含正值。
注意: 不考虑限定符的顺序,即lu和ul相同。
让我们看一个简单的整数文字示例。
#include <stdio.h>
int main()
{
const int a=23; // constant integer literal
printf("Integer literal : %d", a);
return 0;
}
输出
浮点文字
它是仅包含浮点值或实数的文字。这些实数包含整数部分,实数部分,指数部分和小数部分等部分的数量。浮点文字必须以十进制或指数形式指定。让我们简要地了解这些形式。
小数形式
小数形式必须包含小数点,指数部分或两者都包含。如果其中不包含任何一个,则编译器将引发错误。十进制符号可以以" +"或"-"符号作为前缀,以指定正数和负数。
以十进制形式表示的浮点文字的示例为:
让我们看一个简单的十进制浮点文字示例。
#include <stdio.h>
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;
}
输出
指数形式
当我们要表示数量很大的数字时,指数形式非常有用。它包含两个部分,即尾数和指数。例如,该数字为2340000000000,并且可以以指数形式表示为2.34e12、
float文字的指数形式语法
[+/-] <Mantissa> <e/E> [+/-] <Exponent>
以指数表示法的真实文字的示例为:
创建指数表示法的规则
以下是创建指数表示法浮点文字的规则:
以指数表示法,尾数可以十进制或小数形式指定。
指数既可以大写也可以小写,即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整数表示字符文字。例如,ascii值65为" A"。
八进制和十六进制表示法可用作表示字符文字的转义序列。例如," \ 023"," \ 0x12"。
字符串文字
字符串文字代表用双引号引起来的多个字符。它包含一个附加字符,即'\ 0'(空字符),它将自动插入。此空字符指定字符串的结尾。我们可以使用'+'符号连接两个字符串。
例如,
String1 ="lidihuo";
String2 ="family";
要连接以上两个字符串,我们使用'+'运算符,如以下语句所示:
" lidihuo" +" family" = lidihuo族
注意: 如果我们表示一个字符,即'b',则该字符将占据单个字节,因为它是字符文字。并且,如果我们用双引号" b"表示字符,则它将占用更多字节,因为它是字符串文字。