位置:首页 > 高级语言 > C语言在线教程 > C语言常量和文字

C语言常量和文字

常量是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。

常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还可以是枚举常量。

常量只是它们的值不能定义后像常规变量进行修改处理。

常量整型

整数常量可以是十进制,八进制,或十六进制常数。前缀指定基或基数: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'),转义序列(如“ ')或普遍性 (e.g., 'u02C0').

有一些字符在C语言中,当它们前面加一个反斜杠将有特殊的含义,它们被用来表示类似的换行符( )或制表符( )。在这里,有一些这样的转义序列代码的列表:

转义序列 含意
\ 字符
' ' 字符
" " 字符
? ? 字符
a 警报或钟
 退格
f 换页
换行符
回车
水平制表
v 水直制表
ooo 一到三位数字的八进制数表示形式
xhh . . . 一个或多个数字的十六进制数

以下为例子来说明一些转义字符序列:

#include <stdio.h>

int main()
{
   printf("Hello	World

");

   return 0;
}

当上述代码被编译和执行时,它产生了以下结果:

Hello   World

字符串文字

字符串文字或常量用双引号“”。一个字符串包含类似于字符文字字符:普通字符,转义序列和通用字符。

可以使用字符串和分隔使用空格打破长行变成多行。

下面是字符串的一些例子。所有的三种形式是相同的字符串。

"hello, dear"

"hello, 

dear"

"hello, " "d" "ear"

定义常量

C语言有两种简单的方法来定义常量:

  1. 使用#define预处理。

  2. 使用const关键字。

#define预处理

下面是使用预处理 #define 定义常量形式:

#define identifier value

下面的例子说明了它的细节:

#include <stdio.h>

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '
'

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 = '
';
   int area;  
   
   area = LENGTH * WIDTH;
   printf("value of area : %d", area);
   printf("%c", NEWLINE);

   return 0;
}

让我们编译和运行上面的程序,这将产生以下结果:

value of area : 50

请注意,一个 良好的编程习惯是使用大写来定义常量。