1:常量
1、常量就是不变的量,必须先声明后使用
2、常量包括三种,直接常量,符号常量和枚举常量
3、c++通过const关键词来定义符号常量其,说明形式
const <类名称> <常量名> =<表达式>
定义常量需要注意
1。定义常量必须以const开头
2。类型名为基本类型及其派生类型,可以省略
3。常量名符合c++的命名规则的标识符
4。表达式和常量类型一致
const float pi = 3.1415926
2:变量
1、变量说明的一般形式
[<存储类>] <类型名或类型定义> <变量名表>;
存储类是指变量的存储位置,一般来说有4种类型:
auto表示一次性存储,其中存储空间可悲若干变量多次覆盖使用;
register表示存储在通用的寄存器中;
extern 表示在所有函数或者程序段中都可被引用;
static表示在内存中的地址是固定存放的,在整个程序运行区间都有效。
程序默认的是auto
2、四种基本是数据类型
整型
字符型
浮点型
布尔型
四种修饰符
signed:有符号
unsigned:无符号
long:长型
short:短型
类型转换
隐形转换,显性转换
3:变量和常量的深度理解
第一个列子:
#include <iostream>
using namespace std;
int main()
{
const double pi=3.1415926;
int r;
cout<<"输入圆的半径:";
cin>>r;
cout<<"圆的直径为:"<<2*r<<endl;
cout<<"圆的周长为:"<<2*pi*r<<endl;
return 0;
}
结果:
通过结果看到,定义的pi为3.1415926,实际输出为3.14159,而计算的周长2*pi*r=37.6991
我通过内存查看了整型和常量,double在内存中的状态
通过上面 0x0043FC74为整形r的内存地址;
0x0043FC80为常量pi的内存地址;
double和float浮点型一般按照IEEE754标准来存储格式,小数的精确位数有指数位决定,详细看IEEE754浮点存储的标准
第二个例子:
#include <iostream>
using namespace std;
int main()
{
char a =65;
char b='a';
char c='b'+15;
int d=b;
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
cout<<d<<endl;
cout<<sizeof(d)<<endl;
cout<<sizeof(b)<<endl;
return 0;
}
运行结果:
通过内存的存储情况,char字符型常量显示的是ascii码