变量作用域和常量

阅读量: 159 编辑

变量的作用域指的是变量在程序中可访问的范围。

变量的作用域决定了变量在不同部分代码中的可见性和有效性。

一、代码演示讲解

for(int i = 1; i < 3; i++){
	
    int nianLing = 18;
    
	for(int j = 1; j < 3; j++){
        string xingMing = "张三"; //作用域就是当前的for循环中
        cout << xingMing << nianLing << endl;
	}
	
    //cout << xingMing << nianLing << endl;//这句话报错
} 

作用域的范围是根据代码所在的位置确定的,以{}为界限进行区分。

二、全局变量

程序中定义在函数(包括main函数)之外的变量称为全局变量。

全局变量的作用域是程序从变量定义到整个程序结束的部分,这意味在任何位置都可以访问到它。

int quanJuBianLiang = 1000; //全局变量 

int main(){
	cout << quanJuBianLiang << endl; 
	
	return 0;
}

三、局部变量

函数中定义的变量就是该函数的局部变量;在代码块{}中定义的变量就是该代码块的局部变量。

局部变量的作用域属于所在的代码块{},超过了这个范围是无法访问的,它的作用范围就是从{开始,到}结束。

int main(){
	
	int juBuBianLiang = 100; //局部变量 
	
	for(int i = 0; i < 10; i++){ // i也是局部变量 
		cout << i << endl;
	} 
	
	return 0;
}

四、常量(全局常量)

常量是相对于变量来说的,变量是可以修改的,比如自增、重新赋值等。

但是常量,是不可以修改的,一旦定义了就确定了它的值,不准修改。

const 类型名 常量名 = 值; 

语法非常简单,就是在变量定义的前面加上 const 关键字,表明它是常量。一般用于不会变化的数据,比如圆周率。

const double PI = 3.14;//全局常量

int main(){
    return 0;
}

五、宏定义常量

常量的定义还有一种方式,叫宏定义,语法格式

#define 常量名 值

比如:

#define PIE 3.14    

define是预处理阶段进行简单的文本替换,没有类型检查,const是编译的,具有类型和编译器的类型检查。

六、编程练习

// 爱码岛编程

#include <iostream>

#define PIE 3.14  

using namespace std;

int quanJuBianLiang = 500;//全局变量 

const double PI = 3.14;//常量圆周率 

int main(){
	
	int a = 100;
	
	const double PP = 314;
	
	for(int i = 0 ; i < 5; i++){
		cout << "i是:" <<i<< endl;
		cout << a << endl;
		
		for(int j = 0; j < 1; j++){
			string xingMing = "zhangsan";
			cout << i <<  a << j << endl;
		}
	
		//cout << xingMing <<endl;	
	}
	
//	cout << "i是:" <<i<<endl;
	
	a = 200;
	cout << "a是:" << a << endl;
	cout << "quanJuBianLiang 是:" << quanJuBianLiang<< endl;
	
	
	//PI = 3.1415;//常量不允许修改 
	cout << "圆周率" << PI <<endl; 
	
	//PP = 900;
	cout << "PP:" << PP <<endl; 
	
	cout << "PIE:" << PIE <<endl; 
	return 0;
}

爱码岛编程公众号
微信扫码关注
爱码岛编程小程序
微信扫码打开
苏ICP备13052010号
©2023 南京匠成信息科技有限公司