数据类型:
整数类型:
有符号类型
int(在内存中占用4个字节;表示范围:-(2的31次方)~2的31次方-1【正负21亿左右】)
long(long int)
在32位系统上,占4字节;在64为系统上,占8字节;【正负9百亿亿左右】
long long
长整型占8字节;仅用于特殊计算;
short
短整型占2字节;表示范围:-(2的15次方)~2的15次方-1【正负3万多】
无符号类型
unsigned int、unsigned long、unsigned short、unsigned long long
没有负数。
经典用法:
unsigned short port;//用来表示网络通信的端口号(0-65535)
unsigned int num;//表示编号(0到四十多亿)
字符数据类型
char(占1个字节;范围:[-128,127])
字符的实际表示:
所有的字符,使用对应的ASCII值来存储。
为什么?(因为计算机中只能存储0和1的组合)
ASCII码,使用1个字节。
比如:'A',用 0100 0001来表示,就是65
实例:
int x = 0;
x = 'a' + 1;//(数据类型转换)等价于97+1
浮点类型
float类型(单精度浮点类型)
占4字节;表示范围:-3.4*10^38~+3.4*10^38;精度:最长7位有效数字
float类型的存储方式:
符号位(1位)+阶码(8位)+尾数(23位)
符号位:0表正数,1表负数;
阶码:指数+127;
double类型(双精度浮点类型)
占8字节;表示范围:-1.7*10^308~1.7*10^308;精度:最长16位有效数字
带小数的常量默认都是double类型;
3.14 是double类型 ;3.14f 是强制转换成float类型。
“科学计数法”:1.75E5(1.75*10^5)
注意:1是int类型;1.0是double类型。
#include<iostream>
using namespace std;
int main()
{
double value = 3.14159627;
cout << value << endl;//默认情况下,cout输出5位有效数字 3.1416
cout.precision(6);//修改cout精度输出为6
cout << value << endl;// 3.1416
cout.flags(cout.fixed);//定点法:表示小数点 后面的位数
cout << value << endl;//3.141597
cout.unsetf(cout.fixed);//取消定点法
cout << value << endl;//3.1416
return 0;
}
unsigned char、long、long long、unsigned long、short、unsigned short、float、double、bool、各种指针类型、枚举类型、struct 结构体类型、union 联合类型、string、类;
注意:数据类型使用不当,容易导致数据溢出。
变量是什么?
变量,是内存中的一块存储空间,即一小块内存。
变量和数据类型有什么关系?
变量的类型,就是变量中数据的类型。
变量在定义(创建)时,必须先指定它的类型。
【相当于:制作一个盒子时,必须先确认这个盒子是用来装什么的。】
1个变量只有1个类型,而且不能改成其他类型。
变量的定义:
定义形式1:
int x;
int y;
定义形式2:(不推荐)
int x, y;
定义形式3:(定义的时候,设置一个初始值)
int x = 0;
解析:一个变量,就是一个“盒子”;
变量名就是盒子的名称;
变量的值,就是盒子内存储的内容。
内存的存储单位-字节(Byte)
变量的命名规范:
1)数字、大/小写字母、下划线组成的字符;
2)不能以数字开头,即只能由大/小写字母/下划线开头;
3)不能和“关键字”同名;
变量的命名风格:
1)下划线风格
int student_age;(一般用于变量名、函数名)
2)小驼峰风格
int studentAge;(一般用于变量名、函数名)
3)大驼峰风格
int StudentAge;(一般用于“类名”)
4)全部大写(一般用于宏)
#define MAX_AGE 30
常量:
字面常量
int类型字面常量:1,2,3,100;
long类型字面常量:200L;
long long类型字面常量:1000000000000000000LL;
char类型字面常量:'A';
float类型字面常量:3.14f;
double类型字面常量:3.14;
16进制常量:0x11(=17)以0x作为前缀;
8进制常量:011(=9)以0作为前缀;
符号常
1)#define宏定义的符号常量
#define MAX_AGE 35
在编译的预处理阶段,直接把MAX_AGE替换成35
2)const修饰的符号常量
const int maxAge = 35;
注意:const修饰的符号常量,又叫“只读常量”。
本质:是一个变量,只是被const限制,也叫常变量。