C语言的变量和常量

C语言的变量和常量

定义变量的方法

C语言中变量遵循“先定义后使用”的原则:

  1. 定义变量的格式:数据类型 变量名;
    首先要强调的一点是:变量的定义是一条语句,每条语句都是以分号结尾的。故定义完变量,后面不要漏掉“;”分号。在变量定义中,“数据类型”表示想要存储什么类型的数据就定义什么类型的变量。如想要存储整数就定义成 int 型;想要存储小数就定义成 float 型或 double 型;想要存储字符就定义成 char 型等等。“变量名”就是你想给这个变量起个什么名字,通常都是用字母、数字与下划线组合而成。比如:“int i;double price;double goods_price2”等等。就表示定义了一个整型变量 i、小数型变量price、goods_price2;

  2. 变量定义完成后,接下来就是使用变量,为变量赋值。将一个值放到一个变量中,这个动作叫“赋值”。通俗点讲,“给变量赋值”意思就是将一个值传给一个变量。赋值的格式是:变量名 = 要赋的值;它的意思是将=右边的数字赋给左边的变量。比如:"i = 3;"这就表示将 3 赋给了变量 i,此时 i 就等于 3 了。

  3. 变量的定义和赋值,可以分成两步写,也可以将它们合成一步,而且事实上,在实际编程中用得最多的也是合二为一的写法。
    形式如下:数据类型 变量名 = 要赋的值;比如:int i = 3;就表示定义了一个变量 i,并把 3 赋给这个变量。它与int i;i =3;是等价的。

变量的分类

常量

在程序中其值不能改变的量:
1. 如直接使用的数字1,abc”,567等.
2. 符号常量:#define PI 3.1416等

变量

先定义后使用

int a=0;

常变量

使用const定义常变量:
const int a=3;
常变量具有变量的属性,有类型,占存储单元,只是不允许修改值。
常变量就是有名字的不变量,名字便于在程序中被应用。

变量的作用域和周期

全局变量

全局变量作用于整个工程。
其生命周期:该程序的结束。

#include<stdio.h>
int a = 100;
void A()
{
	printf("a=%d\n",a);
}
int main()
{
	printf("a=%d\n",a);
	A();
	return 0;
}
}

执行图如下:
在这里插入图片描述

局部变量

局部变量作用于其所在的局部范围
其生命周期:进入局部范围生命周期开始,出了局部范围生命周期结束。

#include<stdio.h>
int main()
{
	{
		int a = 0;
		printf("%d",a);
	}
	return 0;
}

执行图如下:
在这里插入图片描述
如果超出局部变量范围则会报错

#include<stdio.h>
int main()
{
	{
		int a = 0;	
	}
	printf("%d",a);
	return 0;
}

执行图如下:
在这里插入图片描述

常量

字面常量

字面常量就是指指的是直接输入到程序中的值。

int main()
{
	"daksjdasjd";
	11255;
	return 0;
}

const的修饰常量

使用const修饰常量,一经定义就不能改变,但其本质仍然是一个变量。其通常可以可以节省空间,避免不必要的内存分配。

int main()
{
	const int a = 10;
	a = 50;
	printf("%d",a);
	return 0;
}

执行图如下:
在这里插入图片描述

#define定义的标识符常量

#define定义是一个标识符常量与const一样不能修改。

#define A 100
int main()
{
	A = 10;
	printf("%d",A);
	return 0;
}

执行图如下:
在这里插入图片描述

枚举常量

枚举常量是要占用内存的,它要在内存中开辟一个空间来存放枚举变量;其常量值在没有赋值时系统会默认给它的第一个变量赋值0,后面的依次为1、2…使用枚举类型的最大好处是使得程序可读性增强。
其格式为:enum 枚举类型名{常量1,常量2,常量3,…};

enum zubo { zhang, da, xian };
int main()
{
	printf("%d %d %d",zhang,da,xian);
	return 0;
}

执行图如下:
在这里插入图片描述

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文墨轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值