现在回过头来看上一篇中所写的程序:
#include <bits/stdc++.h>
using namespace std;
int main() {
// 程序主体
cout << "HelloWorld" << endl;
return 0;
}
我们会看到许多英文单词,像"include"、“using”,“int”,“main”,“HelloWorld”等,但是这些哪些属于关键字,哪些是非关键字呢?
首先来看关键字的定义:
关键字是计算机语言定义好的字符序列,有着特殊的含义,一般情况下不能做其它的使用,属于编程语言保留的特殊单词,用于执行特定的功能或操作。
C++中的关键写都是小写的,常用的关键字有 include,int , return , if , else, namespace , break , case , char , while 等等。这些在常用的开发中,需要根据C++语言的标准来查询关键字,但是只要知道这些常用的关键字,其它的不常用的,在使用的时候,可以查询资料或搜索,慢慢就会知道哪些是关键字了。
除在关键字,关键字的名称是编程语言定义好的,供开发者使用的,还有一类是自己定义的名称,这类我们可以称作标识符,比较常见的一些内容,比如,函数名,常量名,变量名,结构体,类名等。这些在以后的程序中会讲解,现在只知道这些概念即可。
标识符的命名遵循下面几个规则:
1.标识符必须以字母或下划线开始,后面可以跟任意数量的字母、数字或下划线。
2.标识符区分大小写。
3.不能使用C++的关键字作为标识符。
4.标识符最好具有描述性,简洁性和一致性。
最后第4条为建议性内容。
#include <bits/stdc++.h>
using namespace std;
int main() {
// 程序主体
int val; // 合法
int _val; // 合法
int 1val; // 不合法,不能以数字开头
int vval#; // 不合法,不能包含#符号
int int; // 不合法,使用了关键字
void printName(); // 合法
void print_name(); // 合法,推荐使用下划线分隔
void _print_name(); // 合法,推荐使用下划线分隔
void 1print_name(); // 不合法,不能以数字开头
cout << "HelloWorld" << endl;
return 0;
}
比如printName和print_name 第二个print_name在c++中为推荐的命名方法,在其它开发语言中并不是推荐原命名方法,在各种开发语言中常用的命名方法有如下几种:
Camel Case(驼峰式命名 Java 建议使用此方法):每个单词的首字母大写,除了第一个单词的首字母小写。例如:userName, userInfo
Pascal Case(帕斯卡命名,C#使用建议使用此方法 ):每个单词的首字母大写,包括第一个单词的首字母也大写例如:Student, UserName
Snake Case(下划线命名 C/C++建议使用此方法):单词之间使用下划线(_)分隔例如:user_name, user_phone
Kebab Case(短横线命名 见的相对较少):单词之间使用短横线(-)分隔例如:page-number, page-size。
再来看C++的分隔符
在C++源代码中有一些被定义用于分隔代码作用的字符,这些字符称为分隔符,常见的分隔符有分号(;),左右花括号({}),空白,Tab键(tab),冒号(:)等,其中分号(;)为最常见的分隔符,看程序
每个语句结尾包括了一个分号(;)表明此句结束了,还有大括号({}),
#include <bits/stdc++.h>
using namespace std;
int main() { //开始分割符
cout << "HelloWorld" << endl;
return 0;
} //结束分隔符
开始分隔符表示此函数main的作用范围的开发,结束分隔符表示main函数结构范围的结束,开始分隔符和结束分隔符必须同时出现,缺一不可,比如没有结束分隔符,则在编译时会出现错误,
在程序出现错误时,查看必要的错误信息是很重要的,上面的main(){}即为一个函数,{}表示函数块。
空白分隔符与tab分隔符主要是为了方便阅读和分隔不同的标识标 关键字等加进去的,两个标识符间有时需要使用空白或分隔符分隔,或者是其它使用符号连接,比如加号(+)
这里的分隔符是为了方便阅读加进来的,如果去掉,也不影响程序的执行。
但是去掉后,再看程序的执行
看程序执行起来是一样的,介理代码阅读起来,就不如加上空白或tab键方便了 。
上面三个是程序中最常用的分隔符。
分隔符冒号(:)不在同的地方作用是不一样的,我的理解是,如果表示分隔,比如在构造函数中,是类给变量赋值的方法,用于初始化成员变量,这个具体的用户,等用到再说。