我是靠谱客的博主 发嗲烧鹅,最近开发中收集的这篇文章主要介绍C语言标识符之关键字,预处理标识符和用户标识符的区别和关系C语言标识符分类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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语言标识符分类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部