什么是常量? 

  1. 常量其实就是在程序运行过程中不可以被改变的量叫做常量。
  2. 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。
  3. 常量可以是任何的基本数据类型,比如整数常量(int)、浮点常量(float,double)、字符常量(char),或字符串字面值,也有枚举常量(enum)
  4. 常量就像是常规的变量,只不过常量的值在定义后不能进行修改

直接常量(字面常量)

  1. 整形常量可以理解为是直接使用的整形常数,如:123,456,-456,等......
  2. 整形常量可以是:长整型(long int)、短整形(short int)、有符号整形(signed int)、无符号整形(unsigned int)。
  3. 实型常量也称之为浮点型(单精度浮点型—float、双精度浮点型—double),由整数和小数部分组成,并用十进制(0~9)位组成的.
  4. 浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。
  5. 当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。当使用指数形式表示时, 必须包含小数点、指数,或同时包含两者。带符号的指数是用 e 或 E 引入的。
  6. 字符常量与之前所介绍的常量有所不同,即要对其字符型常量使用指定的定界符进行限制。
  7. 字符常量可以分为两种:1、字符常量(单个字符的单引号) 2、字符串常量(两个及以上双引号)
  8. 在这里注意一下:字符常量是区分大小写的、'A'和'a'的字符是不一样的!这两个字符代表不同的字符常量,' '这对单直撇代表着定界符号,不属于字符常量的一部分。在C语言中字符串常量时,系统会在字符串后面加"\0",作为字符串的结束标志,如图:

【C语言】常量_字符常量

说明⇢系统会在字符串尾部添加一个字符串作为结束字符"\0",那么如图所示的长度实际上是6的原因! 

字符串就是双引号""的内容叫做字符串,包含类似于字符常量的字符:普通的字符,转义序列和通用的字符。 

转义字符

当然如果你觉得这个字符比较长的话其实也可以用空格符分开来,进行分析!在C语言中有些特定的字符,当它们有反斜杠的时候(\)就会具有特定的含义,如图所示👇

【C语言】常量_字符串_02

下面的实例显示了一些转义序列字符,示例代码如下👇

#include<stdio.h>

int main(void){
printf( "This\nis\na\ntest\n\nShe said, \"How are you?\"\n");

return 0;
}

运行结果🖍

【C语言】常量_字符串_03

【C语言】常量_字符串_04

定义常量 

修饰常量的关键字是:const,被const关键字所修饰的变量,都是不能被改变的值。

const 前缀声明指定类型的常量,如:const(关键字)int(数据类型)number(变量名) = 5(变量值)

注意:在创建常量时候必须要设置它的初始值,下面就来举个例子:

const dobule PAL = 3.14159;    //正确的声明方式
const int MYLIST; //错误的声明方式

【C语言】常量_字符常量_05

你自己也可以用const关键字修饰下,然后再用变量改变常量值看看可不可以进行改变,我们这里PAL左边变量被const所给修饰的量左值指定了const的对象,所以它是不能被修改的值。那么现在我们把PAL就叫做式常变量。那么为什么叫常变量呢?因为它具有常属性—常属性就是不能被改变的属性,但是其实它的本质上还是变量!举个例子给大家看下:所以还是叫做常变量!所以在这里我们只能用#define标识符来进行常量的修饰。

【C语言】常量_#define_06

【C语言】常量_#define_07

【C语言】常量_字符串_08

【C语言】常量_#define_09

当然用const关键字修饰的话知识一种常量的修饰方式,实际上还有另外一种的修饰能够定义常量那就是用 #define 预处理编译器也是可以定义常量方式的一种方式。

下面举出一个习题:定义符号常量#define,用这个来打印自己的出生日期

#include<stdio.h>

#define
#define
#define

int main(void){
printf("我的出生日期是:%d年%d月%d日\n",YEAR,YUE,DAY);
return 0;
}

【C语言】常量_字符常量_10

  • 请注意:把常量定义成一个大写是一个很好的习惯!
  • 除了上面所讲述的还有一种常量被称之为:枚举常量 — 可以①①列举的常量 如下示例

#include<stdio.h>
enum color
{
//枚举常量
black,
white,
gules,
};
int main(void){
//从零开始打印
enum color max = black;
printf("%d\n", black);
printf("%d\n", white);
printf("%d\n", gules);
return 0;
}

运行结果🖍

【C语言】常量_#define_11

【C语言】常量_字符串_12