文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

c语言标识符有哪些类型

2022-11-28 19:15

关注

本教程操作环境:windows7系统、c99版本、Dell G3电脑。

在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。

c语言标识符的类型

C语言标识符有关键字、用户标识符、预定义标识符三类。C语言规定,标识符只能由字母、数字和下划线组成,并且第一个字符必须是字母或下划线,不能是数字。

1、关键字(Keywords)

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字,例如 int、char、long、float、unsigned 等。我们定义的标识符不能与关键字相同,否则会出现错误。

你也可以将关键字理解为具有特殊含义的标识符,它们已经被系统使用,我们不能再使用了。

标准C语言中一共规定了32个关键字:

关键字说明
auto声明自动变量
short声明短整型变量或函数
int声明整型变量或函数
long声明长整型变量或函数
float声明浮点型变量或函数
double声明双精度变量或函数
char声明字符型变量或函数
struct声明结构体变量或函数
union声明共用数据类型
enum声明枚举类型
typedef用以给数据类型取别名
const声明只读变量
unsigned声明无符号类型变量或函数
signed声明有符号类型变量或函数
extern声明变量是在其他文件正声明
register声明寄存器变量
static声明静态变量
volatile说明变量在程序执行中可被隐含地改变
void声明函数无返回值或无参数,声明无类型指针
if条件语句
else条件语句否定分支(与 if 连用)
switch用于开关语句
case开关语句分支
for一种循环语句
do循环语句的循环体
while循环语句的循环条件
goto无条件跳转语句
continue结束当前循环,开始下一轮循环
break跳出当前循环
default开关语句中的“其他”分支
sizeof计算数据类型长度
return子程序返回语句(可以带参数,也可不带参数)循环条件

2、预定义标识符

C语言中系统预先定义的标识符,如函数库中的函数名、宏定义和类型别名(typedef)。

预定义标识符具有见字明义的特点,如函数“格式输出”(英语全称加缩写:printf)、“格式输入”(英语全称加缩写:scanf)、sin、isalnum等等。

预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原意,使用不当还会使程序出错。

注:C语言函数库中的函数名可以成为用户定义的变量名!!!

3、用户定义标识符

用户根据需要自己定义的标识符。一般用来给变量、函数、数组等命名。用户标识符如果与关键字相同,则编译时会出错;如果与预定义标识符相同,编译时不会出错,但预定义标识符的原意失去了,或会导致结果出错,因此预定义标识符一般不用来作为用户标识符。

C语言规定,用户定义标识符可以是字母、数字、下划线(A~Z, a~z, 0~9, _)组成的字符串,并且第一个字符必须是字母或下划线。

(1)标识符只能以英文大小写字母、和下划线(_)开头,而不能用其他任何字符或数字开头。

例如以下就是错误的例子:

int %a;//错误,标识符不能以符号开头
int 8C[8];//错误,不能以数字开头

(2)标识符中只能包含英文大小写字母、下划线和阿拉伯数字,但是不能以阿拉伯数字开头

int a8;//正确
int _adf589S_5;//正确

(3)标识符区分大小写

在C语言中,大写字母和小写字母被认为是不同的字符,所以,ABC与abc表述的标识符是不一样的(Acd和acd、caDd和cadd、_8Fc9和_8fc9都是不相同的标识符)。

(4)标识符不能是关键字。

int float;//错误,float是关键字。
int Float;//正确

(5)ANSI标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这是因为某些编译程序(如IBM PC的MS C)仅能识别前6个字符。

除了这些硬性规则外,标识符的命名最好具有具体的意义,以便于观察、阅读和维护

//定义某长方体的长度、宽度和高度
int a;//高度
int b;//宽度
int c;//高度

可以改成如下定义:

int c_Long;
int c_Width;
int c_Height;

相关推荐:《C视频教程》

以上就是c语言标识符有哪些类型的详细内容,更多请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯