当前位置:网站首页>标识符、关键字、常量 和变量(C语言)
标识符、关键字、常量 和变量(C语言)
2022-08-04 23:59:00 【51CTO】
目录
1 标 识 符
1.1 命名规则
1.2 举例
1.3 命名原则
2 关 键 字
3 常 量
3.1 概念及类型
4 变 量
4.2 常见错误举例
4.3 常变量
1 标 识 符
1.1 命名规则
标识符元素: 字母 (a~z或A~Z)、数字 (0~9)、下划线 等组成。
注意事项: 不能以数字开头 。
大小写敏感: D ream与 d ream是两个不同的标识符。
1.2 举例
1.3 命名原则
书写方便:尽量减少大小写字母之间的频繁切换。
可读性强:见名知意。score_total、score_ave
风格统一:各单词全小写,单词之间加下划线:cnt_pass ,各单词首字母大写,无下划线:
ChinaDream
2 关 键 字
2.1 概念、注意事项
关键字:C语言预留的有特殊用途的标识符称为关键字。
注意事项:关键字不能用作变量名、函数名等。
2.2 ANSIC 32个关键字
int char float double signed register long auto struct union enum unsigned
const if else sizeof static continue do case break goto return volatile while for default switch extern typedef short void
C99 新增5个关键字:
inline restrict _Bool _Complex _Imaginary
C11 新增7个关键字
_Alignas _Alignof _Static _assert _Atomic _Noreturn _Thread _local _Generic
3 常 量
3.1 概念及类型
常量:在整个程序运行期间保持不变的量。
类型: 数值 常量、 字符 常量、 字符串 常量、 符号 常量等。
(1)数值常量
(2)字符常量
概念:使用 单引号 括起来的一个符号,可以是 空格符 。
字符串常量
概念:使用 双引号 括起来的若干个符号,可以是 空串 。
(4)符号常量-宏定义
形式:#define PI 3.14159
#define PRICE 32
作用:增强代码 可读性 、便于 统一修改
特点: 无 数据 类型 ,不安全、 不占空间 , 预处理 阶段, 替换 为其后的数据 通常大写 ,如PI、 PRICE等。
无类型 、无赋值号 、无分号
宏定义举例1 :
举例:#define a 20
#define b a+10
c = b * 5; 请问c的值是多少?
分析: b * 5 = a + 10 * 5 = 20 + 10 * 5 =70 傻瓜似的替换
宏定义举例2:
举例:#define a 20
#define b ( a+10 )
c = b * 5; 请问c的值是多少?
分析:b*5 = ( a + 10 ) * 5 = ( 20 + 10 ) * 5 =150
4 变 量
4.1 概念及定义格式
变量:其 值 可以改 变 的、有 名字 的存储 区域 。
格式:类型名 变量名 [ =初始化值 ] ,
int a; //先定义,后赋值
a = 2;
int b = 3; //定义时,初始化
4.2 常见错误举例
举例1:当定义同类型的多个变量时,变量名用逗号间隔。
举例2:在定义时多个变量不允许连续赋初值。
(1) int a=b=c=5; ×
(2) int a,b,c;
a=b=c=5; √
4.3 常变量
概念:又称 只读变量 ,在变量定义前加const(C89)
举例: const double PI = 3.14159 ;
注意事项: 赋值号 、 分号 、外加 const
4.4 宏定义与常变量异同
相同点:其值都不可以改变,都属于“常量”
差异:
边栏推荐
- Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
- LeetCode Hot 100
- Nuclei (2) Advanced - In-depth understanding of workflows, Matchers and Extractors
- 导入JankStats检测卡帧库遇到问题记录
- [LeetCode] Summary of Matrix Simulation Related Topics
- uniapp动态实现滑动导航效果demo(整理)
- 堪称奔驰“理财产品”,空间媲美宝马X5,采用了非常运动的外观
- 3. Actual combat---crawl the result page corresponding to Baidu's specified entry (a simple page collector)
- Vscode连接远程服务器(一套配置成功)
- 话题 | 雾计算和边缘计算有什么区别?
猜你喜欢
情侣牵手[贪心 & 抽象]
"Relish Podcast" #397 The factory manager is here: How to use technology to empower the law?
【CVA估值训练营】财务建模指南——第一讲
KT148A语音芯片ic工作原理以及芯片的内部架构描述
[Happy Qixi Festival] How does Nacos realize the service registration function?
Getting started with 3D modeling for games, what modeling software can I choose?
游戏3D建模入门,有哪些建模软件可以选择?
基于Appian低代码平台开发一个SpaceX网站
【LeetCode】滑动窗口题解汇总
Basic web in PLSQL
随机推荐
npm基本操作及命令详解
DNS常见资源记录类型详解
三大技巧让你成功入门3D建模,零基础小白必看
没有这些「伪需求」,产品经理的 KPI 怎么完成?
关于使用read table 语句
Mathematical Principles of Matrix
Modelers experience sharing: model study method
Day118. Shangyitong: order list, details, payment
2022年华数杯数学建模
10 个关于 Promise 和 setTimeout 知识的面试题,通过图解一次说透彻
建模师经验分享:模型学习方法
上课笔记(6)(2)——#742. 周末舞会
Three tips for you to successfully get started with 3D modeling
Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
再肝3天,整理了90个 NumPy 例子,不能不收藏!
动态上传jar包热部署
The applicable scenarios and common product types of the KT148A electronic voice chip ic solution
如何写好测试用例
LeetCode Hot 100
深度|医疗行业勒索病毒防治解决方案