C语言基础---变量和常量

生活中的一些数据:

有些数据是不可变的:血型性别(如果你要说性别可变性手术,那可不算喔)、圆周率

有些数据是可变的:工资年龄体重

那么这些数据用C语言怎么描述呢?

变量-不能改变的量

常量-可以改变的量

变量

定义变量的方法

首先创建一个变量,其次定义一个类型,接着为类型赋值

所谓变量,就是可变的量,当为定义的变量进行基本的运算时,对应的结果就会发生变化

举例如下:初定义年龄的变量为20,体重60kg,此时如果不做运算则输出为20;60

现为年龄+1,体重+10,则输出结果为21;70;

#include<stdio.h>
int main()
{
	//创建的一个变量
	//类型   变量的名字=0(愿意的话,可以为你的类型赋值,建议赋值)
	//类型   变量的名字(不愿意的话,可以不赋值,语法上允许,但是不推荐)
	int age = 20;
	double weight = 60;
	age = age + 1;
	weight = weight + 10;
	printf("%d\n", age);
	printf("%f\n", weight);
	return 0;
}
//%d——int
//%f——float
//%lf——double

变量的分类:

局部变量       全局变量

#include<stdio.h>
int a = 100;//全局变量,在{}外部定义的
int main()
{
	int a = 10;//局部变量,{}内部定义的
	          //当局部变量和全局变量名字冲突时(此时定义都为a),局部变量优先输出
	         //不建议:全局变量和局部变量的名字一样
	printf("%d\n", a);
}

由于局部变量优先,所以输出结果为10

如果局部变量和全局变量定义的名字不同

假设在此代码中全局变量int   a=100;局部变量为int  b=10;输出printf(“%d\n”,a);则输出结果为100

变量的使用:

#include<stdio.h>
int main()
{
	int a = 0; //定义变量a
	int b = 0;//定义变量b
	int sum=0;//定义变量sum求和
	scanf("%d %d", &a, &b);//输入语句,输入a  b  的值
	sum = a + b;
	printf("%d\n", sum);//输出语句
	return 0;
}

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

作用域:程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效\可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。(什么意思呢?通俗一点讲就是这个代码在哪里可以使用,那里就是它的作用域

#include<stdio.h>
int g_val = 2022;//全局变量的作用域,整个工程
int main()
{
	printf("1:%d\n", g_val);
	int a = 10;
	printf("a=%d\n", a);//局部变量的作用域,就是变量所在的局部范围
	printf("2:%d\n", g_val);
	return 0;
}

生命周期:变量的创建到变量的销毁的一个时间段

//生命周期
//变量的生命周期:变量的创建和销毁之间的时间段
#include<stdio.h>
int main()//全局变量的生命周期:整个程序的生命周期(也可以说是main函数)
{
	{
		int a = 10;
		printf("%d\n", a);//局部变量的生命周期:进入这个局部范围{}花括号内,生命周期开始,出局部范围生命周期结束
	}
	return 0;
}

常量

常量的分类

1.字面常量

#include<stdio.h>
int main()
{
	3.14; 10; 'a'; "abcdef";//字面常量,好像没什么意义,但它确实存在
	return 0;
}

2.const修饰的常变量

此时可以正常输出,而当使用const修饰后,num即成为10,就不可变了,这时num=20就是错误的

当变量num被const修饰时,此时的num就成为了常变量,具有常属性(成为了不能被改变的量)

 3.#define定义的标识符常量

#include<stdio.h>
#define MAX 10000//可以定义在{}外面,也可以定义在{}里面,没有影响
int main()
{
	int n = MAX;//MAX不可变,否则会报错
	printf("%d\n", n);
	return 0;
}

4.枚举常量

可以一一列举的常量(生活中有些量是可以被一一列举的,比如性别,三元素,血型)

#include<stdio.h>
enum SEX
{
	//这种枚举类型的变量的可能取值
	//就是枚举常量
	MALE,
    FEMALE,
	SECRET
};
//代码第2-9行为枚举常量定义的格式
int main()
{
	enum SEX s = MALE;
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	return 0;
}

枚举常量输出结果:默认从0开始,往下顺序,不可更改(可以赋初值,但是本质并没有改变)

 C语言小白一个,记录学习瞬间,一起交流,共同进步。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值