9.变量的命名规范
9.1 知识点
必须遵守的规则
- 不能重名:同一语句块中变量名不能重复。
- 不能以数字开头:变量名不能以数字开头。
- 不能使用程序关键字命名:变量名不能与关键字冲突。
- 不能有特殊符号:变量名不能包含特殊符号(下划线
_
除外)。
建议的命名规则
- 变量名要有含义:尽量使用英文(或拼音)来描述变量的作用。
示例:
int nian_ning = 1;
string ming_zi = "2";
不建议的命名规则
- 用汉字命名:虽然技术上可行,但不推荐。
示例:
string 我的名字 = "韬老狮";
cout << 我的名字 << endl; // 输出:韬老狮
常用的命名规范
驼峰命名法
- 首字母小写,之后单词首字母大写。
- 常用于变量、函数命名。
示例:
string myName = "韬老狮";
string yourMotherName = "你的妈妈的名字";
帕斯卡命名法
- 所有单词的首字母都大写。
- 常用于类名命名。
示例:
string MyName = "韬老狮";
string YourMotherName = "你的妈妈的名字";
下划线命名法
- 单词之间用下划线隔开。
- 常用于变量、函数命名,尤其在 C++ 中。
示例:
string my_name = "韬老狮";
string your_mother_name = "你的妈妈的名字";
匈牙利命名法
- 在变量名前加上表示类型或用途的前缀。
变量类型前缀
int
→n
float
→f
char
→c
bool
→b
string
→str
示例:
int nMyAge = 18;
cout << nMyAge << endl; // 输出:18
string strMyName = "韬老狮";
用途类型前缀
- 全局变量 →
g_
- 静态变量 →
s_
- 类成员变量 →
m_
示例:
int g_myGlobalVariable = 100; // 全局变量
static int s_myStaticVariable = 50; // 静态变量
int m_myMemberVariable = 30; // 类成员变量
前缀下划线命名法
- 在私有变量前加上下划线
_
。
示例:
int _myAge = 18;
潜在知识点:C++ 对大小写敏感
C++ 中变量名是区分大小写的。以下变量是不同的:
int Nian_Ning = 1;
int i = 1;
int I = 1;
9.2 知识点代码
Lesson09_变量的命名规范.cpp
#include <iostream>
using namespace std;
int main()
{
std::cout << "变量的命名规范\n";
#pragma region 知识点一 必须遵守的规则
//1.不能重名(同一语句块中)
//2.不能以数字开头
//3.不能使用程序关键字命名
//4.不能有特殊符号(下划线等符号除外)
//建议的命名规则:变量名要有含义——>用英文(拼音)表示变量的作用
int nian_ning = 1;
string ming_zi = "2";
//非常不建议的命名规则:用汉字命名
string 我的名字 = "韬老狮";
cout << 我的名字 << endl;//韬老狮
#pragma endregion
#pragma region 知识点二 常用的命名规范
// 1.驼峰命名法——首字母小写,之后单词首字母大写(变量,函数)—— C++中常用
string myName = "韬老狮";
string yourMotherName = "你的妈妈的名字";
// 2.帕斯卡命名法——所有单词首字母都大写(类)
string MyName = "韬老狮";
string YourMotherName = "你的妈妈的名字";
// 3.下划线命名法——单词之间用下划线隔开(变量、函数)—— C++中常用
string my_name = "韬老狮";
string your_mother_name = "你的妈妈的名字";
// 4.匈牙利命名法——在变量前加上一个表示类型的前缀或表示用途的前缀 (变量)
// 变量类型前缀常用规则:
// int——>n
// float——>f
// char——>c
// bool——>b
// string——>str
// 等等
int nMyAge = 18;
cout << nMyAge << endl;//18
string strMyName = "韬老狮";
// 用途类型前缀常用规则:
// 全局变量——>g_
// 静态变量——>s_
// 类成员变量——>m_
// 等等
// 5.前缀下划线命名法——在私有变量前加上_(私有变量)
int _myAge = 18;
//潜在知识点——C++中对大小写是敏感的 是区分的
int Nian_Ning = 1;
int i = 1;
int I = 1;
#pragma endregion
}
9.3 练习题
下面的变量名哪些是错误的?
UE5 No.1 3day
$money discount_ 1 Shang Hai
class int _a_b_c_
main _ 2C cin
正确的变量名:
int UE5 = 1; // 变量名以字母开头,符合C++变量命名规范,但建议采用更规范的命名方式。 int _a_b_c_ = 1; // 以下划线开头,后续由字母、数字和下划线组成,符合C++变量命名规则。 int main = 1; // 虽然合法,但“main”是C++的程序入口函数名,不建议作为普通变量名使用。 int cin = 1; // 虽然合法,但“cin”是标准库中的预定义名称,不应作为变量名使用。
错误的变量名:
// int No.1 = 1; // 错误,变量名中不能包含特殊符号如“.”。 // int 3day = 1; // 错误,变量名不能以数字开头。 // int $money = 1; // 错误,变量名一般不以“$”开头,且不符合C++常规命名习惯。 // int discount_ 1 = 1; // 错误,变量名中不能有空格。 // int Shang Hai = 1; // 错误,变量名不能包含空格。 // int class = 1; // 错误,“class”是C++的关键字,不能作为变量名。 // int int = 1; // 错误,“int”是C++的关键字,不能作为变量名。 // int _ 2C = 1; // 错误,变量名中不能有空格。
按照驼峰命名法命名以下变量(使用英文)
中文变量名称:
我的年龄、我的性别、我的攻击力、我的防御力、你的身高、你的体重驼峰命名法:
int myAge = 18; // 我的年龄 bool mySex = false; // 我的性别,false 代表男,定义规则。 int myAtk = 100; // 我的攻击力 int myDef = 200; // 我的防御力 float yourHeight = 180.5f; // 你的身高 float yourWeight = 80.5f; // 你的体重
9.4 练习题代码
Lesson09_练习题.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "变量的命名规范练习题\n";
#pragma region 练习题一
//下面的变量名哪些是错误的?
//UE5 No.1 3day
//$money discount_ 1 Shang Hai
//class int _a_b_c_
//main _ 2C cin
int UE5 = 1; //正确,变量名以字母开头,符合C++变量命名规范,不过通常建议采用更规范的命名方式比如驼峰命名等
// int No.1 = 1; //错误,变量名中不能包含像“.”这样的特殊符号,变量名应是由字母、数字和下划线组成的连续字符序列
// int 3day = 1; //错误,变量名不能以数字开头,在C++中变量名需以字母或下划线开头
// int $money = 1; //错误,变量名一般不以“$”符号开头,在C++常规变量命名里不使用这样带“$”的形式,变量名应由字母、数字和下划线构成
// int discount_ 1 = 1; //错误,变量名中不能有空格,空格属于非法字符,变量名要保证是连续的合法字符组成
// int Shang Hai = 1; //错误,变量名不能有空格,C++变量名里不允许出现空格来分隔内容
// int class = 1; //错误,“class”是C++中的关键字,用于定义类,不能作为普通变量名使用
// int int = 1; //错误,“int”是C++中表示整数类型的关键字,不能当作变量名来定义变量
int _a_b_c_ = 1; //正确,以下划线开头,后续由字母、数字和下划线组成,符合C++变量命名规则
int main = 1; //正确,但是“main”在C++中是一个特殊的函数名(程序入口函数),通常不建议作为普通变量名使用,容易造成混淆
// int _ 2C = 1; //错误,变量名中不能有空格,应是连续的合法字符组合
int cin = 1; //正确,但是“cin”是C++标准输入流对象,属于标准库中预定义的名称,类似于关键字的性质,不应该作为变量名使用
#pragma endregion
#pragma region 练习题二
//按照驼峰命名法命名以下变量(使用英文)
//我的年龄、我的性别、我的攻击力、我的防御力、你的身高、你的体重
int myAge = 18;
bool mySex = false;//false代表男 自己定的规则
//int mySex2 = 0;
//string mySex3 = "男";
int myAtk = 100;
int myDef = 200;
float yourHeight = 180.5f;
float yourWeight = 80.5f;
#pragma endregion
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com