【暑假自学C语言】--2 变量和常量

一、变量

·概念

    在程序运行时其值可以改变的量

·分类

    全局变量

    局部变量

·用法

//可以定义一个变量做一些简单程序

例如

#include<stdio.h>
int main()
{
	int num1 = 0;
	int num2 = 0;
	int fin = 0;
	scanf("%d%d", &num1, &num2);
	fin = num1 + num2;
    printf("fin=%d\n",fin);
	return 0;
}

可以输入两个数值来确定变量最终数值完成加法计算。

补充:有些编译器这里引用scanf()可能会报错,下次会出解决办法

·作用域

作用域即为有效定义变量的范围。

全局变量:在整个程序中都可以作用

局部变量:简单理解就是它所在的花括号内,即为局部变量的作用域

·生命周期

全局变量:整个程序的生命周期全局变量的生命周期

局部变量:进入作用域生命周期开始,出作用域生命周期结束。

·提醒

全局变量局部变量名称不要重复,

如果重复程序可以正常运行不会报错,所以更难检查出问题。

如果全局变量局部变量同时存在,那么优先认定定义局部变量的值为最后的值。


二、常量

·概念

在程序运行时其值不改变的量

·分类

·字面常量

              直接的一个值,例如数字


·const修饰的常变量

              介绍这个变量举一个例子可以更好理解

#include<stdio.h>
int main()
{
	int num = 1;//常值属性
	printf("%d\n", num);
	num = 2;//赋值
	printf("%d\n", num);
	return 0;
}

·

代码可以运行并且没有因为两个数值都定义在num上而报错,由此可见num确实是一个可变的量,但可以思考一下能否变成不可更改的量,也就是常量呢

#include<stdio.h>
int main()
{
	const int num = 1;//常值属性
	printf("%d\n", num);
	num = 2;//赋值
	printf("%d\n", num);
	return 0;
}

这时候就会发现

 就会报错,即具有了常属性的变量。可能有人就会疑惑为什么都已经是不可修改具有常属性了为什么还是变量,这样就可以引入下一个例子

#include<stdio.h>
int main()                                 
{             
    const int MAX=10              
	int arr[MAX] = { 1 }; 
	return 0;
}

这个代码设计数组创建,如果有不明白的下期解释一下,此时【】内应放常量,但是我们刚才知道他是一个具有常属性的变量了,那么我们放进去可不可以呢?

编译结果:【】内应放常量表达式


#define定义的表示符常量

#include<stdio.h>
#define MAX 10
int main()                                 
{                               
	int arr[MAX] = { 1 };  
	printf ("%d\n", MAX);
	return 0;
}

通过代码编译来看,发现这个可以正常运行。

运用#define定义变量后即可正常运行,所以可以知道运用#define定义和const定义的区别,以及应该在什么地方可以运用特定的来定义。


·枚举常量

     枚举关键字 -- enum

可以运用枚举常量来将某样东西一一列举出来

并且输入指定值,然后输出相对应的字符

代码如下

#include<stdio.h>
enum week
{
	one,
	two,
	three,
	four,
	five,
	six,
	seven
};
int main()
{
	print("%d\n",one);
	print("%d\n",two);
	print("%d\n",three);
	print("%d\n",four);
	print("%d\n",five);
	print("%d\n",six);
	print("%d\n",seven);
	return 0;
}

此时输出就会发现每一个列举出来的都会对应一个值

 从而可以跟据对应的值,来找到所列举的。

如果有任何错误,可以在评论区指正,希望大家可以点赞,让更多的人看到。

猜你喜欢

转载自blog.csdn.net/weixin_73125509/article/details/126163793
今日推荐