【C语言】常量的四大护法

简介: 了解C语言中的常量的基本概念及常量的四大类型,可以让你打下坚实的C语言基础,加油吧,为了成为更好的自己。

王国探险记系列

文章目录(3)


前言

一、常量是什么?

二、常量的第一护法:字面常量

1.什么是字面常量?

三、常量的第二护法:const修饰的常变量

1.什么是const修饰的常变量?

2,证明const修饰的常变量仍然是一个变量只不过是拥有常属性

编辑

四、常量的第三护法:#define定义的标识符常量

1.什么是#define定义的标识符常量?

五、常量的第四护法:枚举常量

1.什么是枚举常量?

总结


前言

C语言王国探险记,是我们学习C语言,从小白成长为大佬的的探险历程,我们在这章将探险常量这个知识关卡


一、常量是什么?

生活中有一些值是不变的(比如:圆周率,性别,身份证号码,血型等等)

在c语言中将那些不变的量使用常量来表示

二、常量的第一护法:字面常量

1.什么是字面常量?

直接写出的字面值,这些数值都叫做字面常量

举例理解:

100

20.0

3.14

‘a’

这些数字和字符都是我们所说的字面常量

三、常量的第二护法:const修饰的常变量

1.什么是const修饰的常变量?

const 就是常属性的意思,可以修饰变量

常量的这个常表示的是它是一个不会变化的值

变量是可变的,长又是不变,不是很矛盾吗?

理解:就和监狱中犯了法的人一样,在监狱里面,他们还是中华人民共和国的一个公民,
他还是有这样一个人民的属性的,但是因为他犯法了,我们把他关起来了,他就具有了另外一层属性,他被限制了自由

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

int main()
{
  //就和监狱中犯了法的人一样,在监狱里面,他们还是中华人民共和国的一个公民,
  //他还是有这样一个人民的属性的,但是因为他犯法了,我们把他关起来了,
    //他就具有了另外一层属性,他被限制了自由
  const int a = 10;//现在在int a前加一个const ,a本来里面放的是10
  //我们把a叫做const修饰的常变量
  //const修饰a的时候也是限制了a的自由,让a不能在被改了,但是他本质上还是一个变量
  printf("a=%d\n", a);
  a = 100;//当我们再次把a修改为100的时候就会报错,这个错误是啥意思呢,
    //就是当你去修改这个a的时候,抱歉a不能修改
  //const修饰a的时候让a具有了常属性,但是本质上a还是一个变量,
    //只不过是被const从语法上加了一个限制,让它不能在被改了
  //const放在那就是告诉你a的值放在那,你以后不要在改了
  //const就是在语法层面上加一个限定,说一旦一个变量被const修饰之后,你就不能去改它,
    //你如果去改它就是违背规则
  printf("a=%d\n", a);
  return 0;
}

image.gif

image.gif编辑

2,证明const修饰的常变量仍然是一个变量只不过是拥有常属性

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

//C语言里面一个叫数组,先看懂就行
int main()
{
  //我们在创建数组的时候需要指定数字大小
  //比如说,我们创建个数组叫arr大小给个10
  //数组在创建的时候要求arr的大小是一个常量
  int arr[10] = {0};//这个10就在告诉我,数组是10元素的,数组里面可以放10个值的
  //int n = 10;//我们刚刚使用n,n是个变量不行,
  const int n = 10;//当我们加一个const呢,还是不行,会报错,
  //所以现在n即便是被const修饰了还是不行,因为它还是一个常变量,
  //它是具有一定常属性的变量,它本质上是一个变量,所以不能放在这里
  int arr2[n] = { 0 };//当我们去编译的时候,它就报错,它提醒你表达式必须含有常量值,
  //也就是说你只能拿常量来指定arr的大小
  //在c++中把const修饰的n当常量来处理的,这是c和c++在这个语法细节上的差异
  return 0;//他是个常变量,他本身具有常数的属性,但是他还是一个变量
}

image.gif

image.gif编辑

四、常量的第三护法:#define定义的标识符常量

1.什么是#define定义的标识符常量?

格式:#define 名称  赋值

#define M 100  
我们定义一个M它的值是100,这个时候这个M就是我们定义出来的标识符常量

那这标识符常量算不算一个常量呢?算

M作为它的数组个数行不行呢,当然可以,因为此时此刻的M就是一个常量它是一个标识符常量

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

#define M 100
////我们定义一个M它的值是100,这个时候这个M就是我们定义出来的标识符常量
int main()
{
  int arr[M] = { 0 };//M作为它的数组个数行不行呢,当然可以,
    //因为此时此刻的M就是一个常量它是一个标识符常量
  //这就是我们定义的一个标识符常量
  //你以后在使用M的时候M的值就是100
  //那我们怎么用呢
  //我们能不能把这个M的值打印出来呢
  printf("标识符常量M-->%d\n",M);//当这个地方出现M的时候就会被替换成100
  int a = M;//这个地方有个a,我们将M的值赋予给a,你在这里在打印a都是没有问题的
  printf("标识符常量M被赋予给a后的a值-->%d\n", a);
  return 0;
}

image.gif

image.gif编辑

五、常量的第四护法:枚举常量

1.什么是枚举常量?

什么叫枚举常量.
枚举常量就是一一列举嘛?
我们生活中有一些东西是可以被一一列举的
有一些数据的取值可以被一一列举
比如说:三原色:红色,绿色,蓝色
性别:男.女,保密
星期:1 2 3 4 5 6 7
通过这些例子,我们可以知道,我们生活中的有些值是可以被一一列举出来的
C语言里面就给出了一个叫枚举类型
可以把这些可能的值一一列举出来
枚举关键字:enum

接下来让我们用具体实例直接在代码加注释,帮助理解:

//这就是我们创造的自定义的一个类型叫枚举类型叫 enum Color,
//这个颜色的取值只有三种放在下面的大括号里面
enum Color //定义颜色的这样一个类型
{
  //枚举类型里面列出来的值叫枚举常量
  //就是这个枚举类型可能的取值就是这三种,所以我可以将她一一列举出来
  RED,  //第一个常量是0,默认从0开始依次递增的
  GREEN,//1
  BLUE  //2
};
//未来呢,假设我想表示一个颜色,我会怎么做呢?
int main()
{
  enum Color c =RED ;//可以用这个自定义类型创建一个c,
  //用这个c来表示什么样的颜色,而c的取值只有三种,RED,GREEN,BLUE,
  //你可以给c用这三种变量给它赋值
  return 0;
}

image.gif

在举例打印枚举常量的默认的值

接下来让我们用具体实例直接在代码加注释,以及结果运行图理解:

enum Sex//enum sxe是一个类型,枚举类型里面列出来的值叫枚举常量
{
  MALE,//男,它们的值都是默认的//0
  FEMALE,//女//1
  SECRET//保密//2
};
int main()
{
  //但你想要表示一个性别的时候怎么用呢,
  //当你给一个人赋予性别的时候
  //enum Sex s = SECRET;//可以给小s赋值了
  //enum Sex s2 = MALE;
  printf("%d\n", MALE);//我们可以打印一下看一下
  printf("%d\n", FEMALE); 
  printf("%d\n", SECRET); 
  return 0;
}

image.gif

image.gif编辑


总结

以上就是今天要讲的内容,本文仅仅简单介绍了常量的基本概念及常量的四大类型,可以让你在c语言王国的探险更加有趣,充实。

相关文章
|
20天前
|
存储 算法 C语言
【C语言】字符常量详解
字符常量是C语言中处理字符数据的重要工具。通过单引号括起一个字符,我们可以方便地使用字符常量进行字符判断、字符运算和字符串处理等操作。理解字符常量的表示方法、使用场景和ASCII码对应关系,对于编写高效的C语言程序至关重要。
80 11
|
20天前
|
安全 程序员 C语言
【C语言】指针的爱恨纠葛:常量指针vs指向常量的指针
在C语言中,“常量指针”和“指向常量的指针”是两个重要的指针概念。它们在控制指针的行为和数据的可修改性方面发挥着关键作用。理解这两个概念有助于编写更安全、有效的代码。本文将深入探讨这两个概念,包括定义、语法、实际应用、复杂示例、最佳实践以及常见问题。
40 7
|
20天前
|
C语言
【C语言】<常量> 之群英荟萃
在C语言中,常量(Constants)是指在程序运行过程中其值不能被修改的固定值。常量包括数值常量(整型和浮点型)、字符常量、字符串常量、使用const关键字定义的常量变量以及枚举常量。
24 4
|
20天前
|
编译器 C语言
【C语言】常量的 “前缀和后缀” 大通关!
在C语言中,常量的前缀和后缀用于明确指定常量的类型和进制系统。前缀主要用于区分不同进制的数字常量,而后缀则用于区分不同类型的整数和浮点数。正确使用前缀和后缀,可以提高代码的可读性和可维护性,确保编译器正确地理解和处理常量。
32 1
|
2月前
|
存储 C语言
初识C语言:常量与变量中寻找数据类型
初识C语言:常量与变量中寻找数据类型
|
3月前
|
存储 C语言
【C语言基础考研向】02 数据类型-常量-变量
本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。
|
3月前
|
安全 编译器 C语言
C语言常量的定义与使用的注意点
在 C 语言中,常量是在程序运行期间值不变的量,通过字面值、`#define` 或 `const` 关键字定义。字面常量直接在代码中表示固定值,如整数 `100`、浮点数 `3.14`、字符 `'A'` 和字符串 `"Hello, World!"`;`#define` 用于定义宏,如 `#define PI 3.14159`;`const` 则定义不可变变量,如 `const int daysInWeek = 7`。常量可用于数组大小、循环边界等场景,并能提升代码的可读性和可维护性。使用时需注意作用域、类型安全和命名,避免直接使用数字(魔法数字)。
|
3月前
|
C语言
C语言程序设计核心详解 第二章:数据与数据类型 4种常量详解 常见表达式详解
本文详细介绍了C语言中的数据与数据类型,包括常量、变量、表达式和函数等内容。常量分为整型、实型、字符型和字符串常量,其中整型常量有十进制、八进制和十六进制三种形式;实型常量包括小数和指数形式;字符型常量涵盖常规字符、转义字符及八进制、十六进制形式;字符串常量由双引号括起。变量遵循先定义后使用的规则,并需遵守命名规范。函数分为标准函数和自定义函数,如`sqrt()`和`abs()`。表达式涉及算术、赋值、自增自减和逗号运算符等,需注意运算符的优先级和结合性。文章还介绍了强制类型转换及隐式转换的概念。
|
6月前
|
程序员 C语言
C语言中的宏定义:从常量到高级技巧
C语言中的宏定义:从常量到高级技巧
307 1
|
5月前
|
C语言
C语言2 常量
C语言2 常量
24 0