C语言的常量和变量

基本数据类型量,按照取值能否改变分为常量和变量。

一、常量
常量是程序执行过程中,其值不发生改变的量。
在程序中,常量可以不经说明直接引用。

1.常量定义方式
(1)使用 const定义:const 数据类型 常量名
const定义的是值不允许改变的常变量。
在这里插入图片描述
(2)宏定义:#define 标识符 常量值
符号常量在使用前必须先定义,定义方式为宏定义。其中,#define是一条预处理命令,称为宏定义命令。一经定义,以后在程序中需要用到该常量的地方,均用标识符代替。一般标识符用大写。
在这里插入图片描述
const定义和宏定义比较:

(1)const用于类成员变量,一经定义不可修改。define用于全局常量,不可用于类成员变量的定义。

(2)const可以在类中使用,而define不能。

(3)const定义的常量有数据类型,而宏定义的常量没有数据类型。因此编译器可以对const常量进行类型安全检查,但对宏常量就只进行字符替换,没有类型安全检查,并且在字符替换可能会导致边际效应。

什么是边际效应呢?下面举个简单的例子。
在这里插入图片描述
上面这段代码输出结果为:
在这里插入图片描述
这段代码用define定义了一个常量 N ,值为 5+2 ,按理说 num 的计算结果应该为3(int 取整数),但在计算的时候,num的值却是 6,因为它先计算了 2除以2,这就是边际效应。

而 const 不会出现这样的错误。
在这里插入图片描述
在这里插入图片描述

2.常量的类型
(1)整型常量:int,long,short,unsigned int
备注:int的默认类型是有符号的
(2)实型常量:float,double
(3)字符常量:char,用单引号括起来的一个字符
(4)字符串常量:用双引号括起来的字符
(5)符号常量

二、变量
变量代表内存中具有特定属性的一个存储单元,它用来存放数据,这个数据就是变量的值。在程序运行期间,变量值是可以改变的。
在这里插入图片描述

1.定义方法
类型 变量名,变量名
例如:int a , b ;

2.变量赋初值
(1)C语言允许在定义变量时使变量初始化
在这里插入图片描述
(2)可以一部分初始化
在这里插入图片描述
(3)对多个变量赋同一个初值
在这里插入图片描述
(4)未初始化的变量先申请内存,但存储单元内的值是随机数,然后再赋值;而初始化没有生成随机数的过程。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值