主要内容 #
1. 变量和常量 #
int dashima; // 这就是一个变量。 dashima = 5; // 变量可以赋值
变量的值,是可以被改变的。
在 C++ 中,有一些量,它们的值是不变化的。
举例:
// 数值常量 12 -5 3.14159 3.15f true
2. 变量的作用域 #
每个变量都有作用域,变量的作用域决定了变量定义的生效范围,就如同法律条文一样,一般不同国家的法律条文仅作用于本国,变量仅生效于其作用域。函数内定义的变量的作用域为该函数内,全局变量的作用域为全局。不同函数内定义的变量被视为独立实体,当该函数执行完毕便释放变量所占用的内存空间,即便不同函数内定义的变量名称相同也不会相互影响。
全局变量定义示例:
#include < iostream > using namespace std; int a=20; void Print() { cout<<a<<endl; } int main() { Print(); cout<<a<<endl; }
局部变量定义示例:
#include < iostream > using namespace std; int a=20; void Print() { int b=30; cout<<b<<endl; cout<<a<<endl; } int main() { Print(); cout<<a; //cout<<b; }
3. 定义“符号常量” #
除此以外,我们还可以定义“符号常量”
// 符号常量 const int dashima = 5; // 在这里可以理解为初始化。 const int dashi(500); const double b(10); const float c=10; const bool d=true; const char e='A'; // 不可以赋值 dashima = 80; // 编译器会报错。常量不允许被修改。
4. 使用场景 #
常量的重点在于“不变”。所以,一般我们经常将以下的量设置为常量。
示例程序:
#include < iostream > using namespace std; const double PI = 3.1415926; int main() { cout << "圆的面积为:" << 5*5*PI; return 0; }
5. #define #
除了使用 const 来定义常量以外,C++ 语法也支持使用 #define 来定义常量。
但是!
这是比较古老的写法。现代程序开发标准中,大多数情况下,我们都不推荐继续使用 #define
不过,了解这种写法,也是非常必要的。
示例程序:
#include < iostream > using namespace std; #define PI 3.1415926; // 使用 #define 定义常量 int main() { cout << "圆的面积为:" << 5*5*PI; return 0; }
#define 一般称为“宏定义”,写在 main 以外。
什么是“宏”呢?
“宏”是计算机科学中创造的概念。表示:一系列人为定义的指令。
它的作用其实就是“相同词替换”,怎么理解呢?
比如上述的示例程序中,程序员写的代码是这样的:
#define PI 3.1415926; cout << "圆的面积为:" << 5*5*PI;
在提交代码给编译器之前,计算机会对代码做一下修改:
#define PI 3.1415926; cout << "圆的面积为:" << 5*5*3.1415926; // 所以有代码中的 PI ,都被替换成了 3.1415926。然后才提交给编译器。
习题 #