生活中的一些数据:
有些数据是不可变的:血型、性别(如果你要说性别可变性手术,那可不算喔)、圆周率
有些数据是可变的:工资、年龄、体重
那么这些数据用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语言小白一个,记录学习瞬间,一起交流,共同进步。