从C到C++(变量及其作用域)

5.C++中的变量可以“即用即定义”,且可用任何表达式初始化
(C语言硬性要求好像是必须定义在开头,但是C++的这个定义的时候就可以用表达式还是挺不错的~~)

#include <iostream>
using namespace std;
int main()
{
	double a=12*3.25;
	double b=a+1.112;
	
	cout<<"a contains:"<<a<<endl;
	cout<<"b contains:"<<b<<endl;
	
	a=a*2+b;
	
	double c=a+b*a;//“即用即定义”,且可用表达式初始化 
	
	cout<<"c contains:"<<c<<endl;
} 

6.程序块{}内部作用域可定义外部作用域同名的变量,在该块里就隐藏了外部变量
(这个直接可以加{}还是第一次用,感觉挺好玩的)

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
	int a;
	a=2;
	{
		int a;
		a=3;
		cout<<a<<endl;   //隐藏了外部变量a 
		{
			int a=4;
			cout<<a<<endl;
		}
	}
	
	cout<<a<<endl; //main 
	return 0;
} 

7.for循环语句中可以定义局部变量

#include <iostream>
using namespace std;

int main()
{
	int i=0;
	for(int i=0;i<4;i++)
	{
		cout<<i<<endl;
	}

	cout<<"i contains:"<<i<<endl;
	
	for(i=0;i<4;i++)
	{
		for(int i=0;i<4;i++)
		{
			cout<<i<<" "; 
		}
		cout<<endl;
	}
	return 0;
 } 

8.访问和内部作用域变量同名的全局变量,要用全局作用域限定::

 #include <iostream>
 using namespace std;
 
 double a=128;
 
 int main()
 {
 	double a=256;
 	cout<<"Local a:"<<a<<endl;       //输出的是256 
 	cout<<"Global a:"<<::a<<endl; //::是全局作用域限定 ,输出的是128 
	return 0;
	 
  } 
原创文章 46 获赞 56 访问量 3885

猜你喜欢

转载自blog.csdn.net/qq_46009744/article/details/105195822