当前位置:网站首页>标识符、关键字、常量 和变量(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 宏定义与常变量异同
相同点:其值都不可以改变,都属于“常量”
差异:
边栏推荐
猜你喜欢

NebulaGraph v3.2.0 Release Note, many optimizations such as the performance of querying the shortest path

软件质量评估的通用模型

基于深度学习的路面坑洞检测(详细教程)

Xiaohei's leetcode journey: 95. Longest substring with at least K repeating characters

Nuclei (2) Advanced - In-depth understanding of workflows, Matchers and Extractors

看图识字,DELL SC4020 / SCv2000 控制器更换过程

深度|医疗行业勒索病毒防治解决方案

SQL关联表更新

子连接中的参数传递

Implementation principle of golang coroutine
随机推荐
ansible学习笔记分享-含剧本示例
手写分布式配置中心(1)
Bidding Announcement | Operation and Maintenance Project of Haina Baichuang Official Account
How to automatically push my new articles to my fans (very simple, can't learn to hit me)
MongoDB permission verification is turned on and mongoose database configuration
【Valentine's Day special effects】--Canvas realizes full screen love
堪称奔驰“理财产品”,空间媲美宝马X5,采用了非常运动的外观
leetcode经典例题——单词拆分
Nuclei (2) Advanced - In-depth understanding of workflows, Matchers and Extractors
The role of the annotation @ EnableAutoConfiguration and how to use
VMware NSX 4.0 -- 网络安全虚拟化平台
工业物联网 —— 新型数据库的召唤
KT6368A蓝牙的认证问题_FCC和BQB_CE_KC认证或者其它说明
Day118.尚医通:订单列表、详情、支付
Handwritten Distributed Configuration Center (1)
【七夕情人节特效】-- canvas实现满屏爱心
KT148A语音芯片怎么烧录语音进入芯片里面通过串口和电脑端的工具
基于深度学习的路面坑洞检测(详细教程)
IDEA file encoding modification
2022年华数杯数学建模





