首页 > 编程笔记 > C语言笔记 阅读:42

C语言关键字和标识符(新手必看)

我们知道,C语言程序里有很多的英文单词,比如:
#include <stdio.h>

int main(){
   // 要执行的代码
   printf("https://c.biancheng.net");
   return 0;
}
比如 include、int、return 等等,这些字母是随便定义的吗?有什么规则吗?本节会一一解答这些疑惑。

C语言关键字

所谓关键字,是指计算机语言中事先定义好并具有特殊意义的单词,如 C语言程序中出现的“int”和“return”。

需要注意的是,关键字作为 C语言中十分重要的组成部分,在编程时是需要细心使用的,否则它就可能成为小错误,例如图 1 和图 2 所示的小错误。


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

图 2 关键字英文拼写的错误提示

读者在使用关键字时,要多多留意以下两点,避免程序报错而找不到原因:
下表为大家列举了 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中使用中文标识符

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

相关文章