常数是指程序在执行过程中不得更改的固定值,常量与常规变量的处理方式相同,只不过其值在定义后无法修改。

整数

整数可以是十进制,八进制或十六进制常量。前缀指定基数或基数:十六进制为0x或0X,八进制为0。

212         /* 有效 */
215u        /* 有效 */
0xFeeL      /* 有效 */
078         /* 无效:8 不是八进制数字 */
032UU       /* 无效:不能重复后缀 */

以下是各种类型的整数文字的其他示例-

85         /* decimal 十进制 */
0213       /* octal  八进制*/
0x4b       /* hexadecimal 十六进制 */
30         /* int 整数 */
30u        /* unsigned int 无符号整数 */
30l        /* long 长整数 */
30ul       /* unsigned long 无符号长整数 */

浮点数

浮点具有整数部分,小数点,小数部分和指数部分。您可以用十进制或指数形式表示浮点文字。

3.14159       /* 有效 */
314159E-5L    /* 有效 */
510E          /* 无效:不完整的指数 */
210f          /* 无效:没有小数或指数 */
.e55          /* 无效:缺少整数或分数 */

字符

字符文字用单引号引起来,如," x"可以存储在 char 类型的简单变量中。

转义序列 含义
\\ \
\' '
\" "
\? ?
\a 警报或响铃
\b 空格
\f 换页
\n 换行符
\r 回车
\t "水平"标签
\v "垂直"标签
\ooo 一到三位数的数字
\xhh 十六进制的一位或多位数字

以下是显示一些转义序列字符的示例-

#include <stdio.h>

int main() {
   printf("Hello\tLearnfk\n\n");

   return 0;
}

编译并执行上述代码后,将产生以下输出-

Hello Learnfk

字符串

字符串文字或常量用双引号""括起来。字符串包含与字符文字相似的字符:纯字符,转义序列和通用字符。

"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

参考链接

https://www.learnfk.com/c-programming/c-constants.html