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.   sizeofB.    includeC.   defineD.    malloc

答案:A
解析:

sizeof是C语言关键字,不能用来定义为用户标识符因为
include,define和malloc仅仅是预处理命令,不是c语言关键字。并且都满足以字母或下划线开头的标识符定义

C语言标识符之关键字,预处理标识符和用户标识符的区别和关系相关推荐

  1. python多行注释符号_python知识学习,python标识符和关键字

    python标识符和关键字 标识符和关键字都是之中具有某种意义的标记和称谓,就像人的外号一样.所谓的标识符就是代码的分号.单引号.双引号等等就是标识符,而代码中的if.for等等就是关键字. pyth ...

  2. JAVA入门级教学之(标识符与关键字)

    目录 JAVA入门级教学之(标识符与关键字) 1.什么是标识符? 2.标识符的命名规则? 3.标识符的命名规范? 4.严格遵守规则和规范: 在java里的关键字都是小写的 JAVA入门级教学之(标识符 ...

  3. python 去掉双引号_python知识学习,python标识符和关键字

    python标识符和关键字 标识符和关键字都是之中具有某种意义的标记和称谓,就像人的外号一样.所谓的标识符就是代码的分号.单引号.双引号等等就是标识符,而代码中的if.for等等就是关键字. pyth ...

  4. 用户标识符C语言规则,c语言用户标识符命名规则是什么?_后端开发

    PHP Xdebug 是什么?_后端开发 Xdebug是一个开源的PHP程序调试工具,可以使用它来调试.跟踪及分析PHP程序运行状态,该工具需要配合编辑器来打断点.跟踪.调试及分析等,支持Xdebug ...

  5. C002--c语言中的标识符,关键字及变量常量的声明和使用

    因为我第一个学习的计算机语言是java,因此我在学习一门新的语言时,或多或少会用学习过的语言与新学习的语言进行对比,然后找到它们之间的不同,如果没有学习过其他语言,第一次接触的计算机语言就是c语言的话 ...

  6. c语言关键字不做标识符,C语言标识符、关键字、注释、表达式和语句

    这一节主要讲解C语言中的几个基本概念. 标识符 定义变量时,我们使用了诸如 a.abc.mn123 这样的名字,它们都是标识符(Identifier). 标识符就是程序员自己起的名字,除了变量名,后面 ...

  7. C语言标识符、关键字和注释

    这一节主要讲解C语言中的几个基本概念. 标识符 定义变量时,我们使用了诸如"a""abc""mn123"这样的名字,它们都是程序员自己起的, ...

  8. C语言第三节关键字、标识符、注释

    学习语法之前的提醒 C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都是一样的,只是表现形式不太一样 就好像亚洲人和非洲人,大家都有人类的结构:2只 手.2只脚.1个头,只是他们外表不太一 ...

  9. C语言中的标识符有:关键字、预定义标识符、用户标识符

    1.关键字:不可以作为用户标识符号.main define scanf printf 都不是关键字.迷惑你的地方If是可以做为用户标识符.因为If中的第一个字母大写了,所以不是关键字. 2.预定义标识 ...

最新文章

  1. 使用Python、OpenCV翻转图像(水平、垂直、水平垂直翻转)
  2. VS2017配置OpenCV3.2+contrib3.2
  3. * 执行多条更新的Sql语句
  4. 盘点《头号玩家》里的 VR 技术,现在就能造个 Oasis 出来
  5. mysql 数据库 xtrabackup (完全备份恢复,恢复后重启失败总结)
  6. 实现auto_ptr的两种方法
  7. 【TensorFlow-windows】keras接口——BatchNorm和ResNet
  8. 硬盘结构及硬盘错误的解决方法(一)
  9. 考研408大纲22年考研
  10. 前端笔记-使用vue绑定id使得组件更加灵活(在使用echarts时常用)
  11. ndarry转置二阶及以上的矩阵
  12. which与whereis区别
  13. js如何操作或是更改sass里的变量
  14. [一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理 OnActionExecuting内如何获取参数...
  15. android 多个模块,Android 模块化中两个模块之间传递model
  16. Hive 之collect_list/collect_set(列转行)
  17. html图片浮空但占位置,求助:鼠标经过图片时,图片悬浮出现变大
  18. Win7 AERO主题变成灰色解决方法
  19. 单位换算:秒(s)/毫秒(ms)/微秒(us)/纳秒(ns)/皮秒(ps)之间密尔(mil)/毫米(mil)/英尺(inch)之间
  20. 【题解】LuoGu5369:[PKUSC2018]最大前缀和

热门文章

  1. Leetcode——507. Perfect Number
  2. CAD图纸如何批量转换JPG格式?
  3. 世界杯网页梦幻联动.html
  4. P2P 之 UDP穿透NAT的原理与实现(附源代码)
  5. 独孤思维:长期稳妥的赚钱方法
  6. 西安软件园:英特尔移动通信西安有限公司
  7. codecombat计算机科学入门四(python)
  8. 移动通信的一些技术名词英文缩写解释
  9. C语言基础之数据类型和数据的表现形式
  10. oracle日志如何查看,oracle如何查看日志