问题描述:
在C++中,什么叫符号常量呢?符号常量有什么作用呢?符号常量的语法是什么呢?符号常量的使用注意事项是什么呢?指出代码中的哪一部分是符号常量呢?
问题解答:
在 C++ 中,符号常量是指使用标识符(名称)来代表常量值的一种常量。它的主要作用是让程序中的常量值具备更好的可读性和可维护性,尤其是在多次使用同一个常量值时,只需修改定义符号常量的地方,而无需在代码的其他部分逐一修改。
符号常量的作用
- 提高代码的可读性:符号常量通常会使用有意义的名称,使代码更容易理解。
- 便于维护:当常量值需要改变时,只需修改符号常量的定义,无需在代码中逐个寻找并替换常量值。
- 防止硬编码:符号常量避免了在代码中硬编码具体的数值,减少了出错的机会。
符号常量的语法
#define 标识符 常量值
#define
是预处理指令,用于定义符号常量。标识符
是符号常量的名称(遵循标识符命名规则)。常量值
是符号常量所表示的具体值。
符号常量的使用注意事项
- 定义在代码的头部:符号常量通常在代码的开头定义,这样可以在整个文件中方便地使用。
- 先定义,后使用:符号常量必须在使用之前定义,否则会导致编译错误。
- 标识符命名规则:符号常量的名称是标识符,必须遵循标识符的命名规则。为了与变量区分开,建议符号常量的名称全部使用大写字母,并用下划线分隔单词。
- 无需分号结尾:符号常量的定义不需要分号结尾。
示例代码中的符号常量
在你提供的代码中,以下两行是符号常量的定义:
#define FAT_BMI 28
#define J2C_RATE 4.19
这两行代码定义了两个符号常量:
FAT_BMI
代表常量值28
。J2C_RATE
代表常量值4.19
。
完整示例代码
// Created by 黑马程序员.
#include "iostream"
// #include "windows.h"
using namespace std;
#define FAT_BMI 28
#define J2C_RATE 4.19 // 焦耳转卡路里的比率
// 符号常量:#define 名称(标识符) 常量值,符号常量定义在代码的头部
// 符号常量的定义 不需要分号结尾
// 方式1:引入windows.h库
// 方式2:system("chcp 65001");
int main()
{
system("chcp 65001");
// SetConsoleOutputCP(CP_UTF8);
// 使用符号常量的语句,就是正常的代码了,要写在main函数中
// 如何使用:使用符号常量 就直接用它的名字即可
cout << FAT_BMI << endl;
cout << "焦耳转卡路里需要除以:" << J2C_RATE << endl;
return 0;
}
在这个示例中,FAT_BMI
和 J2C_RATE
就是符号常量,分别对应常量 28
和 4.19
。通过在代码中使用这些符号常量,提升了代码的可读性和维护性。
######################################################################
花絮:
在C++中,什么叫符号常量呢?符号常量有什么作用呢?符号常量的语法是什么呢?符号常量的使用注意事项是什么呢?
定义:符号常量是指使用标识符命名的常量。
作用:可以基于其标识符(名称)重复使用常量值,无需再次书写。
语法:#define标识符(名称)常量。
注意事项:定义在代码头部;先定义,后使用符号常量名是标识符,符合字母、数字、下划线组合的要求且数字不可开头;字母建议全部大写(和后续学习的变量做区分)。
// Created by 黑马程序员.
#include "iostream"
// #include "windows.h"
using namespace std;
#define FAT_BMI 28
#define J2C_RATE 4.19 // 焦耳转卡路里的比率
// 符号常量:#define 名称(标识符) 常量值,符号常量定义在代码的头部
// 符号常量的定义 不需要分号结尾
// 方式1:引入windows.h库
// 方式2:system("chcp 65001");
int main()
{
system("chcp 65001");
// SetConsoleOutputCP(CP_UTF8);
// 使用符号常量的语句,就是正常的代码了,要写在main函数中
// 如何使用:使用符号常量 就直接用它的名字即可
cout << FAT_BMI << endl;
cout << "焦耳转卡路里需要除以:" << J2C_RATE << endl;
return 0;
}