概述
C语言标识符分类
第一类:关键字
定义
由C语言规定的具有特定意义的字符串,通常也称为保留字。例如 int、char、long、float等。相当于已经被C语言本身特殊使用了的标识符,不可以再定义。在定义标识符的时候不能与关键字同名
内容
C语言有32个关键字
数据类型关键字(12个)
名称 | 作用 |
---|---|
char | 声明字符型变量或函数 |
double | 声明双精度变量或函数 |
enum | 声明枚举类型 |
float | 声明浮点型变量或函数 |
int | 声明整型变量或函数 |
long | 声明长整型变量或函数 |
short | 声明短整型变量或函数 |
signed | 声明有符号类型变量或函数 |
struct | 声明结构体变量或函数 |
union | 声明联合数据类型 |
unsigned | 声明无符号类型变量或函数 |
void | 声明函数无返回值或无参数,声明无类型指针 |
控制语句关键字(12个)
循环语句
名称 | 作用 |
---|---|
for | 一种循环语句 |
do | 循环语句的循环体 |
while | 循环语句的循环条件 |
break | 跳出当前循环 |
continue | 结束当前循环,开始下一轮循环 |
条件语句
名称 | 作用 |
---|---|
if | 条件语句 |
else | 条件语句否定分支 |
goto | 无条件跳转语句 |
开关语句
名称 | 作用 |
---|---|
switch | 用于开关语句 |
case | 开关语句分支 |
default | 开关语句中的“其他”分支 |
返回语句
名称 | 作用 |
---|---|
return | 子程序返回语句 |
存储类型关键字(4个)
名称 | 作用 |
---|---|
auto | 声明自动变量 一般不使用 |
extern | 声明变量是在其他文件正声明(也可以看做是引用变量) |
register | 声明寄存器变量 |
static | 声明静态变量 |
其他关键字(4个)
名称 | 作用 |
---|---|
const | 声明只读变量 |
sizeof | 计算数据类型长度 |
typedef | 用于给数据类型取别名 |
volatile | 说明变量在程序执行中可被隐含的改变 |
第二类:预定义标识符
定义
预定义标识符是C语言中系统预先定义的标识符,如系统类库名、系统常量名、系统函数名。就是printf和scanf这种函数名之类的;使用的时候尽量避免再一次地重新定义它们,但是如果定义了也不会有错,只是这些预定义标识符在程序中由于就近原则就会失去原来的作用,变成自己定义的那个功能
第三类:用户标识符
定义
用户标识符:用户根据需要自己定义的标识符。一般用来给变量、函数、数组等命名。用户标识符如果与关键字相同,则编译时会出错;如果与预定义标识符相同,编译时不会出错,但预定义标识符的原意失去了,或会导致结果出错,因此预定义标识符一般不用来作为用户标识符。
命名规则
1、有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。
2、有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。
例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,
是一回事而不加区别。在TCV2.0中,变量名(标识符)的有效长度为1~32个字符,缺省值为32。
3、C语言的关键字不能用作变量名
预处理标识符可以作为用户标识符来命名,但一般不这样做,这样会使预定义标识符的失去原意,
有时会导致结果出错。
例题
以下标识符中,不能作为C语言合法的用户定义标识符的是()
A. sizeof
B.
include
C.
define
D.
malloc
答案:A
解析:
sizeof是C语言关键字,不能用来定义为用户标识符因为
include,define和malloc仅仅是预处理命令,不是c语言关键字。并且都满足以字母或下划线开头的标识符定义
最后
以上就是发嗲烧鹅为你收集整理的C语言标识符之关键字,预处理标识符和用户标识符的区别和关系C语言标识符分类的全部内容,希望文章能够帮你解决C语言标识符之关键字,预处理标识符和用户标识符的区别和关系C语言标识符分类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复