C语言的变量和常量
定义变量的方法
C语言中变量遵循“先定义后使用”的原则:
-
定义变量的格式:数据类型 变量名;
首先要强调的一点是:变量的定义是一条语句,每条语句都是以分号结尾的。故定义完变量,后面不要漏掉“;”分号。在变量定义中,“数据类型”表示想要存储什么类型的数据就定义什么类型的变量。如想要存储整数就定义成 int 型;想要存储小数就定义成 float 型或 double 型;想要存储字符就定义成 char 型等等。“变量名”就是你想给这个变量起个什么名字,通常都是用字母、数字与下划线组合而成。比如:“int i;double price;double goods_price2”等等。就表示定义了一个整型变量 i、小数型变量price、goods_price2; -
变量定义完成后,接下来就是使用变量,为变量赋值。将一个值放到一个变量中,这个动作叫“赋值”。通俗点讲,“给变量赋值”意思就是将一个值传给一个变量。赋值的格式是:变量名 = 要赋的值;它的意思是将=右边的数字赋给左边的变量。比如:"i = 3;"这就表示将 3 赋给了变量 i,此时 i 就等于 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;
}
执行图如下: