C语言关键字和标识符(新手必看)
我们知道,C语言程序里有很多的英文单词,比如:
需要注意的是,关键字作为 C语言中十分重要的组成部分,在编程时是需要细心使用的,否则它就可能成为小错误,例如图 1 和图 2 所示的小错误。

图 1 关键字首字母大小写的错误提示

图 2 关键字英文拼写的错误提示
读者在使用关键字时,要多多留意以下两点,避免程序报错而找不到原因:
下表为大家列举了 C语言中的关键字,带有 ★ 标记的是 C语言中出现频率较高的关键字,读者朋友们可以在具体使用时再学习。
大家不需要死记硬背这些关键字,可以在以后的学习中慢慢积累,熟能生巧。
在编程语言中,标识符是开发者在编程时需要使用的名字,如函数名、变量名及数组名等都属于标识符。简单来说,标识符可以理解为名字。
既然标识符是名字,就不能随意定义,要具备一些规则。就像我们给刚出生的孩子起名字,姓氏要随父亲或者母亲的姓。定义标识符的基本规则如下。
1) 所有标识符必须以字母或下画线开头,而不能以数字或者符号开头。例如:
2) 在设定标识符时,除开头外,其他位置都可以由字母、下画线或数字组成。例如:
3) 英文字母的大小写不同会代表不同的标识符。例如,下面的 3 个变量完全独立,是不同的标识符:
4) 标识符不能是关键字:
5) 标识符最好具有相关的含义:
6) 标识符中间不能有空格:
标识符中只要有一处是不同的,它们所代表的就是不同的名称,例如,Name 和 name 是不同的标识符。
在 Visual C++ 6.0 中使用中文标识符就会出现错误,如下图所示:

图 3 在Visual C++ 6.0中使用中文标识符
而在 Visual Studio 2019 中使用中文标识符编译器不会报错,如下图所示:

图 4 在Visual Studio 2019中使用中文标识符
建议最好不要用中文标识符,因为中文标识符会造成不必要的错误,在写代码时多写注释就可以方便很多。
#include <stdio.h> int main(){ // 要执行的代码 printf("https://c.biancheng.net"); return 0; }比如 include、int、return 等等,这些字母是随便定义的吗?有什么规则吗?本节会一一解答这些疑惑。
C语言关键字
所谓关键字,是指计算机语言中事先定义好并具有特殊意义的单词,如 C语言程序中出现的“int”和“return”。需要注意的是,关键字作为 C语言中十分重要的组成部分,在编程时是需要细心使用的,否则它就可能成为小错误,例如图 1 和图 2 所示的小错误。

图 1 关键字首字母大小写的错误提示

图 2 关键字英文拼写的错误提示
读者在使用关键字时,要多多留意以下两点,避免程序报错而找不到原因:
- 关键字的英文单词都是小写的,首字母也是小写的;
- 不要少写或者错写英文字母,如 return 写成 retrun,或 double 写成 duoble。
下表为大家列举了 C语言中的关键字,带有 ★ 标记的是 C语言中出现频率较高的关键字,读者朋友们可以在具体使用时再学习。
关键字 | 含义 | 关键字 | 含义 | 关键字 | 含义 | 关键字 | 含义 |
---|---|---|---|---|---|---|---|
auto | 自动变量 | double★ | 双精度浮点型 | int★ | 整型 | struct★ | 结构体类型 |
break★ | 跳出当前循环 | else★ | 条件语句否定分支 | long★ | 长整型 | switch★ | 开关语句 |
case★ | 开关语句分支 | enum★ | 枚举类型 | register | 寄存器变量 | typedef | 给数据类型取别名 |
char★ | 字符型 | extern | 外部变量或函数 | union★ | 共用体类型 | return★ | 返回语句 |
const★ | 声明常量 | float★ | 单精度浮点型 | short★ | 短整型 | unsigned | 无符号类型 |
continue★ | 结束当前循环 | for★ | 循环语句 | signed | 有符号类型 | void★ | 无返回值类型 |
default★ | 开关语句默认分支 | goto | 无条件跳转语句 | sizeof | 计算数据的长度 | volatile | 变量在程序运行中可被隐式地改变 |
do★ | 循环语句的循环体 | while★ | 循环语句的循环条件 | static★ | 静态变量 | if★ | 条件语句 |
大家不需要死记硬背这些关键字,可以在以后的学习中慢慢积累,熟能生巧。
C语言标识符
什么是标识符呢?举例来说,生活中当我们需要某件物品时,通常会想到它的名字。比如,喝水时要拿起水杯,“水杯”就是人们赋给这个物品的名字;再如,在乘坐地铁的时候,偶遇了某位同事,喊出她的名字,这个名字就是她的“标识”。在编程语言中,标识符是开发者在编程时需要使用的名字,如函数名、变量名及数组名等都属于标识符。简单来说,标识符可以理解为名字。
既然标识符是名字,就不能随意定义,要具备一些规则。就像我们给刚出生的孩子起名字,姓氏要随父亲或者母亲的姓。定义标识符的基本规则如下。
1) 所有标识符必须以字母或下画线开头,而不能以数字或者符号开头。例如:
/*错误标识符*/ 4a / 361day //不能以数字开头 /*正确标识符*/ a / B / name / c18 / _column3 //由字母、下画线、数字组成,没有以数字开头
2) 在设定标识符时,除开头外,其他位置都可以由字母、下画线或数字组成。例如:
/*错误标识符*/ hi! / ^left< /@name //不能有!、^、@ /*正确标识符*/ hello / _B / m_love //除开头外,其他位置可以由字母、下画线、数字组成
3) 英文字母的大小写不同会代表不同的标识符。例如,下面的 3 个变量完全独立,是不同的标识符:
int book=0; int Book=1; int BOOK=2;
4) 标识符不能是关键字:
/*错误标识符*/ int / double / char //不能是关键字 /*正确标识符*/ Int / Double / Char //首字母为大写,不是关键字
5) 标识符最好具有相关的含义:
/*有意义的标识符*/ userName / errorMessage //标识符具有相关的含义
6) 标识符中间不能有空格:
/*错误标识符*/ User Name / game Over //标识符中间有空格 /*正确标识符*/ UserName / gameOver //标识符中间不加空格
标识符中只要有一处是不同的,它们所代表的就是不同的名称,例如,Name 和 name 是不同的标识符。
标识符可以用中文吗?
C 语言可不可以用中文字符作为标识符,要看所使用的开发环境是否支持中文标识符。在 Visual C++ 6.0 中使用中文标识符就会出现错误,如下图所示:

图 3 在Visual C++ 6.0中使用中文标识符
而在 Visual Studio 2019 中使用中文标识符编译器不会报错,如下图所示:

图 4 在Visual Studio 2019中使用中文标识符
建议最好不要用中文标识符,因为中文标识符会造成不必要的错误,在写代码时多写注释就可以方便很多。