C语言学习2---变量和常量

1.变量

函数f(x)中的自变量x、每天的天气温度、室外的风速大小、人的体重等,这些量都是会不断的变化。在C语言中,这些会变化的量叫做变量。

1.1变量的定义(类型+变量名)

int age = 150;
float weight = 45.5f;
char ch = 'w';

注:

1.一定不能忘记写变量的类型,变量的类型不能弄错。

2.char类型的变量要加单引号

3.变量在创建的时候最好直接初始化。

1.2变量的分类

  • 局部变量:在代码块部定义的变量就是局部变量。

  • 全局变量:在代码块部定义的变量就是局部变量。

什么是代码块?简单来说就是大括号括起来的就是代码块。

局部变量和全局变量如下代码:

#include <stdio.h>
int global = 2021;//全局变量
int main()
{
    int local = 2022;//局部变量
    return 0;
}

思考:如果局部变量和全局变量的名字冲突的话,打印的时候到底打印的是什么呢?

看下面的代码:

#include <stdio.h>
int a = 2021;//全局变量
int main()
{
    int a = 2018;//局部变量
    printf("a = %d\n", a);
    return 0;
}

 打印的结果是:2018

所以当局部变量和全局变量同名的时候,局部变量优先使用。

1.3变量的使用

现在,我们如果要将从键盘输入的两个数相加,并打印,该怎么做呢?

1.4变量的作用域和生命周期

  • 作用域:一段代码中的各种名字(比如:变量名)有效的区域。

        1.局部变量的作用域是变量所在的局部范围,进入局部变量所在的范围,生命周期开始,出局部变量所在的范围,生命周期结束。例:

如果运行这段代码,就会出现报错:未定义的表示符"b",且在第65行。因为变量b只在图中红色框里的大括号中有作用,在这个大括号外,变量b就无效了。

        2.全局变量的作用域是整个工程。

  • 生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。

         1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。同样如上图所示,在红色框内部b是存在着的,一旦到大括号结束,b变量就被销毁了。

         2.全局变量的生命周期是:整个程序的生命周期。全局变量在整个main函数执行的过程中都可以使用,一旦main函数执行结束,整个程序也就执行结束了,所以全局变量的生命周期是整个程序的生命周期。

2.常量

 圆周率的Π、人的性别、每个人的身份证号等,这些值都是不变的,在C语言中,这些不变的量叫做常量。

C语言中的常量分为以下以下几种:

2.1字面常量

字面上能够看懂和理解的值。如下:

100;
3.14;
"abc";
'w';

2.2const 修饰的常变量

在变量类型的前面加上const。如图:

图中如果想要修改num的值,运行后会出现错误:表达式必须是可修改的左值,发生在126行。因为此时num被const修饰,是一个常变量,具有常属性,后面不能够修改。

注:虽然上图中num是不能修改的,但是本质上还是一个变量,所以叫常变量

下面来更好地体会常变量:

在数组中,数组名后的[]中括号中不能填变量,不然会出现上图的错误。如果此时在变量n前加const修饰呢?

 如上图所示,依然会出现相同的错误,因为即使const修饰n,n是不能够被修改的,但是n本质上还是一个变量,所以不能放在数组名后的[]中括号中。

2.3#define 定义的标识符常量

#define MAX 100

define定义了一个标识符常量MAX(这里可以大写也可以小写,一般习惯大写),MAX的值是100。

2.4枚举常量

 枚举就是一一列举,生活中的很多值是可以一一列举(比如:性别),一些值不可以一一列举(比如:工资)。

//定义枚举类型
enum Sex
{
    //枚举这种类型的可能取值 - 就是枚举常量
    MALE,
    FEMALE
};

 注:定义枚举类型的时候最后要加分号,中间的枚举常量用逗号隔开。

———————————————————————————————————————————

好啦,这就是今天分享的内容,现在快12点了,肝不动了,求求兄弟们点赞关注哦!(后续将会陆陆续续更新C语言的内容)

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值