1、变量的声明
2、变量的作用域与初始化
1)我们先回忆一下第1课,对C++程序有个基本的了解:
A、包含所需的头文件
B、不可缺少的入口函数:main()函数
C、程序是由语句构成的,在C++里,区分语句的是句尾的“;”分号
D、程序是用来处理数据的,所以必须定义一些数据
E、给程序加上必要的注释
2)再回忆一下我们第1讲的示例代码
/*
FileName: HelloWorld_1.cpp
by iawen 11/06/2008
*/
#include
using namespace std;
int main()
{
cout<<"Hello World!\n";
//cout<<"Hello World!"<
cout<<"\n请按任意键退出……\n";
cin.get();
return 0;
}
有,程序是用来处理数据的,没有数据,还要程序干嘛???
这里的"Hello World!\n",就是一个数据,是一个常量,字符串常量!!
cout<<是一个函数调用,用来输出数据显示到控制台。这里要输出的数据就是:"Hello World!\n"
3)C++语言是一种强类型的语言,要使用变量,必须提前声明。
如: char ch;
//char szSource[10];
bool bflag;
short sNum;
int iIndex;
long lNum;
float fParam;
double dParam;
void
enum
uion
…………
当然我们在一个语句里,同时定义多个变量,如:
int a,b;
另外,变量的命名是有一定要求的:
A、只能使用字母字符、数字与下划线(_)
B、名称的第1个不能是数字
C、区分大小写的
D、不能将C++的关键字作为变量名用
E、以两个下划线(__)或下划线和大写字母开头的名称被保留给编译器使用
F、不限长度,全部有效
当然,函数的命名,也将遵循这个规则!
不过有些类型的取值是有其规定范围的
不过,不同环境下会有所变化,具体的,可以查阅这个头文件:climits
4)不过变量的声明是有其作用域的,
一个声明将一个名字引进一个作用域
像上面的命名空间:
using namespace std;
其实也是一个作用域:
引用了这句,则std命名空间的变量与函数都将可以直接引用!
所以这里的using namespace std;可以用在头文件下,也可以用在main()函数体内。当然也可以不用,不过在使用
命名空间里的定义的变量或函数时,就需要像这样来调用:
std::cout<<"全局变量a的值为:"<
我们也可以定义自己的命名空间,示例:
/* 文件名: MyNamespace.cpp
定义自己的作用域
*/
#include
namespace mynamespace{
int value1;
double value2;
}
int main()
{
using namespace std;
using namespace mynamespace;
value1=8;
value2=4.5;
cout<<"value1*value2= "<
return 0;
}
5)变量的初始化
局域变量,如果没有初始化,其值是未知的,不确定的。而全局变量,将自动初始为0.
我们可以测试一下:
/* filename:testvalue.cpp
测试变量的初始化情况!
*/
#include
using namespace std;
int a;//这时定义的是一个全局变量,我们没有给它初始化!
int main()
{
int x;//这是一个局域变量,同样没有初始化
cout<<"全局变量a的值为:"< cout<<"局域变量x的值为:"<return 0;
}
结果为:
F:\Temp\C++教程视频\第02讲>testvalue
全局变量a的值为:0
局域变量x的值为:1