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. sizeofB. includeC. defineD. malloc
答案:A
解析:
sizeof是C语言关键字,不能用来定义为用户标识符因为
include,define和malloc仅仅是预处理命令,不是c语言关键字。并且都满足以字母或下划线开头的标识符定义
C语言标识符之关键字,预处理标识符和用户标识符的区别和关系相关推荐
- python多行注释符号_python知识学习,python标识符和关键字
python标识符和关键字 标识符和关键字都是之中具有某种意义的标记和称谓,就像人的外号一样.所谓的标识符就是代码的分号.单引号.双引号等等就是标识符,而代码中的if.for等等就是关键字. pyth ...
- JAVA入门级教学之(标识符与关键字)
目录 JAVA入门级教学之(标识符与关键字) 1.什么是标识符? 2.标识符的命名规则? 3.标识符的命名规范? 4.严格遵守规则和规范: 在java里的关键字都是小写的 JAVA入门级教学之(标识符 ...
- python 去掉双引号_python知识学习,python标识符和关键字
python标识符和关键字 标识符和关键字都是之中具有某种意义的标记和称谓,就像人的外号一样.所谓的标识符就是代码的分号.单引号.双引号等等就是标识符,而代码中的if.for等等就是关键字. pyth ...
- 用户标识符C语言规则,c语言用户标识符命名规则是什么?_后端开发
PHP Xdebug 是什么?_后端开发 Xdebug是一个开源的PHP程序调试工具,可以使用它来调试.跟踪及分析PHP程序运行状态,该工具需要配合编辑器来打断点.跟踪.调试及分析等,支持Xdebug ...
- C002--c语言中的标识符,关键字及变量常量的声明和使用
因为我第一个学习的计算机语言是java,因此我在学习一门新的语言时,或多或少会用学习过的语言与新学习的语言进行对比,然后找到它们之间的不同,如果没有学习过其他语言,第一次接触的计算机语言就是c语言的话 ...
- c语言关键字不做标识符,C语言标识符、关键字、注释、表达式和语句
这一节主要讲解C语言中的几个基本概念. 标识符 定义变量时,我们使用了诸如 a.abc.mn123 这样的名字,它们都是标识符(Identifier). 标识符就是程序员自己起的名字,除了变量名,后面 ...
- C语言标识符、关键字和注释
这一节主要讲解C语言中的几个基本概念. 标识符 定义变量时,我们使用了诸如"a""abc""mn123"这样的名字,它们都是程序员自己起的, ...
- C语言第三节关键字、标识符、注释
学习语法之前的提醒 C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都是一样的,只是表现形式不太一样 就好像亚洲人和非洲人,大家都有人类的结构:2只 手.2只脚.1个头,只是他们外表不太一 ...
- C语言中的标识符有:关键字、预定义标识符、用户标识符
1.关键字:不可以作为用户标识符号.main define scanf printf 都不是关键字.迷惑你的地方If是可以做为用户标识符.因为If中的第一个字母大写了,所以不是关键字. 2.预定义标识 ...
最新文章
- 使用Python、OpenCV翻转图像(水平、垂直、水平垂直翻转)
- VS2017配置OpenCV3.2+contrib3.2
- * 执行多条更新的Sql语句
- 盘点《头号玩家》里的 VR 技术,现在就能造个 Oasis 出来
- mysql 数据库 xtrabackup (完全备份恢复,恢复后重启失败总结)
- 实现auto_ptr的两种方法
- 【TensorFlow-windows】keras接口——BatchNorm和ResNet
- 硬盘结构及硬盘错误的解决方法(一)
- 考研408大纲22年考研
- 前端笔记-使用vue绑定id使得组件更加灵活(在使用echarts时常用)
- ndarry转置二阶及以上的矩阵
- which与whereis区别
- js如何操作或是更改sass里的变量
- [一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理 OnActionExecuting内如何获取参数...
- android 多个模块,Android 模块化中两个模块之间传递model
- Hive 之collect_list/collect_set(列转行)
- html图片浮空但占位置,求助:鼠标经过图片时,图片悬浮出现变大
- Win7 AERO主题变成灰色解决方法
- 单位换算:秒(s)/毫秒(ms)/微秒(us)/纳秒(ns)/皮秒(ps)之间密尔(mil)/毫米(mil)/英尺(inch)之间
- 【题解】LuoGu5369:[PKUSC2018]最大前缀和