C语言-常量(宏定义、const、枚举)

一、什么是常量

程序运行时,其值不能改变的量,即为常量

  常量有以下几类:

  1. 字面常量(就是直接写出的数字,例如3.14
  2. #define定义的标识符常量
  3. const修饰的常变量
  4. 枚举常量

二、定义常量

1.使用宏定义

Ⅰ.什么是宏定义

  在文件开头用 #define 来定义常量,也叫作“宏定义”。
  宏定义,就是用一个标识符来表示一个常量值,如果在后面的代码中出现了该标识符,那么编译时就全部替换成指定的常量值。即用宏体替换所有宏名,简称宏替换

Ⅱ.定义格式

定义格式:#define 符号常量名 常量值

  • 符号常量名,称为宏名,属于标识符,一般定义时用大写字母表示。
  • 常量值,称为宏体,可以是数值常量,也可以是字符常量。

    宏名用大写字母表示,与变量作区别(软性要求)

宏定义不是 C 语句,后面不能有分号

Ⅲ.实例

#include <stdio.h>

#define ZERO 0   //#define的标识符常量

int main() {
   
	printf("zero = %d\n", ZERO);
    return 0;
}

  跟#include一样,“#”开头的语句都是“预处理语句”,在编译之前,预处理器会查找程序中所有的“ZERO”,并把它替换成0,这个过程称为预编译处理。然后将预处理的结果和源程序一起再进行编译处理得到目标代码 (OBJ文件)

在这里插入图片描述

2.使用const限定符

  C99中新的声明方式,这种方式跟定义一个变量是一样的,只需要在变量的数据类型前再加上一个const关键字,这被称为“限定符”。

格式:const 数据类型 常量名 = 常量值;

  例如:

const float PI = 3.14f; // 一旦创建就不能改变,所以必须初始化。

跟使用 #define定义宏常量相比,const定义的常量有详细的数据类型,而且会在编译阶段进行安全检查,在运行时才完成替换,所以会更加安全和方便。

3.使用枚举

  枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量,它可以让数据更简洁,更易读。 枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。

#include <stdio.h>

//使用enum定义枚举类
enum Sex{
   
    //括号中的MALE,FEMALE,SECRET是枚举常量,因为我们没有赋值,默认是从0开始,依次向下递增1的
	MALE, // 0
	FEMALE, // 1
	SECRET // 2
};

三、练习

这段代码的打印结果为________。

#include <stdio.h>
#define  CANBERRA(x,y)  ((x-y)/(x+y))

int main() {
   
    printf("%lf", CANBERRA(1.0+2.0,0.0+2.0));
    return 0;
}

答案:1.0

宏替换后为(1.0+2.0-0.0+2.0)/(1.0+2.0+0+2.0)=1.0;

相关推荐

最近更新

  1. AMBA总线协议与PCIe总线协议的区别

    2024-01-25 21:38:01       0 阅读
  2. YModem在Android上的实现

    2024-01-25 21:38:01       0 阅读
  3. Selenium 切换窗口

    2024-01-25 21:38:01       1 阅读
  4. PCA和PCoA分析的python代码

    2024-01-25 21:38:01       1 阅读
  5. 24/07/09数据结构(3.1206)数组OJ单链表实现

    2024-01-25 21:38:01       1 阅读

热门阅读

  1. 【家庭版windows远程桌面连接攻略】

    2024-01-25 21:38:01       38 阅读
  2. layui select onchange事件处理

    2024-01-25 21:38:01       35 阅读
  3. 【dpdk】Getting Started Guide for Linux DPDK

    2024-01-25 21:38:01       35 阅读
  4. 【MySQL】表列数和行大小限制详解

    2024-01-25 21:38:01       36 阅读
  5. C++面试题

    2024-01-25 21:38:01       35 阅读
  6. SQL 系列教程(一)

    2024-01-25 21:38:01       34 阅读
  7. 程序员需要关注的事情

    2024-01-25 21:38:01       34 阅读