C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存.
1 整型
作用:整型变量表示的是整数类型的数据
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
数据类型 | 占用空间 | 取值范围 |
short(短整型) | 2字节 | (-2^15~2^15-1) |
int(整形) | 4字节 | (-2^31~2^31-1) |
long(长整型) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31~2^31-1) |
long long(长长整形) | 8字节 | (-2^63~2^63-1) |
数据类型存在的意义:给变量分配合适的内存空间。
#include<iostream>
using namespace std;int main()
{//整型//1、短整型short num1 = 10;//2、整形int num2 = 10;//3、长整型long num3 = 10;//4、长长整型long long num4 = 10;cout << "num1 = " << num1 << endl;cout << "num2 = " << num2 << endl;cout << "num3 = " << num3 << endl;cout << "num4 = " << num4 << endl;system("pause");return 0;}
日常开发中最常用的是int
2 sizeof关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型/变量)
示例:
int main() {short mum = 10;cout << "short 类型所占内存空间为:" << sizeof(short) << endl;cout << "num所占内存空间为:" << sizeof(num) << endl;cout << "int 类型所占内存空间为:" << sizeof(int) << endl;cout << "long 类型所占内存空间为:" << sizeof(long) << endl;cout << "long long 类型所占内存空间为:" << sizeof(long long) << endl;system("pause");return 0;}
3 实型(浮点型)
浮点型变量分为两种:
- 单精度float
- 双精度double
两者的区别在于表示的有效数字范围不同。
数据类型 | 占用空间 | 有效数字范围 |
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
示例:
int main() {//单精度float f1 =3.1415926f;cout << "f1 =" << f1 <<endl;//双精度double d1 = 3.1415926;cout << "d1 =" << d1 <<endl;// 默认情况下 输出一个小数,会显示6位有效数字//统计float和double占用的内存空间cout << "float占用内存空间为:" << sizeof(float) << endl;cout << "double占用内存空间为:" << sizeof(double) << endl;//科学计数法float f2=3e2; //3*10^2;cout << "f2 = " << f2 << endl;float f3=3e-2; //3*0.1^2;cout << "f3 = " << f3 << endl;system ("pause");return 0;}
4 字符型变量
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
- C和C++中字符型变量只占用1个字节。
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
示例:
#include<iostream>
using namespace std;int main() {//1、字符型变量创建方式char ch = 'a';cout << ch << end;//2、字符型变量所占内存大小cout << "char字符型变量所占内存:" << sizeof(char) << endl;//3、字符型变量常见错误//char ch2 = "b";//创建字符型变量的时候,要用单引号//char ch2 = 'abcdef';//创建字符型变量的时候,单引号内只能有一个字符//4、字符型变量对应ASCII编码//a---97//A---65cout << (int)ch << endl;system("pause");return 0;}
附 ASCII码表格
5 转义字符
作用:用于表示一些不能显示出来的ASCII字符
现阶段我们常用的转义字符有: \n \\ \t
转义字符 | 含义 | ASCII码值(十进制) |
\a | 警报 | 007 |
\b | 退格(BS),将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF),将当前位置移到下一行开头 | 010 |
\r | 回车(CR),将当前位置移到本行开头 | 013 |
\t | 水平制表(HT)(跳到下一个TAB位置) | 009 |
\v | 垂直指标(VT) | 011 |
\\ | 代表一个反斜线字符“\” | 092 |
\' | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 数字0 | 000 |
\ddd | 8进制转义字符,d范围0~7 | 3位八进制 |
\xhh | 16进制转义字符 | 3位16进制 |
示例:
int main() {cout << "\n" << endl;cout << "\\" << endl;cout << "\tHello" << endl;system("pause");return 0;
}
6 字符串型
作用:用于表示一串字符
两种风格
1.C风格字符串:char 变量名[ ] = "字符串值"
示例:
int main() {char str1[] = "hello world";cout << str1 << endl;system("pause");return 0;}
注意:C风格的字符串要用双引号括起来
2.C++风格字符串:string 变量名 = “字符串值”
示例:
int main() {string str = "hello world";cout << str << endl;system("pause");return 0;}
注意:C++风格字符串,需要加入头文件#include<string>
7 布尔类型 bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
- true --- 真(本质是1)
- false --- 假(本质是0)
bool类型占1个字节大小
示例:
int main() {bool flag = true;
cout << flag << endl;//1flag = false;
cout << flag << endl;//0cout << "size of bool =" << sixeof(bool) << endl;//1system("pause");
return 0;}
8 数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
示例:
int main() {//整形输入int a = 0;cout << "请输入整形变量" << endl;cin >> a;cout << a << endl;//浮点型输入double d = 0;cout << "请输入浮点型变量:" << endl;cin >> d;cout << d << endl;//字符型输入char ch = 0;cout << "请输入字符型变量:" << endl;cin >> ch;cout << ch << endl;//字符串型输入string str = "hello";cout << "请输入字符串:" << endl;cin >> str;cout << str << endl;//布尔型输入bool flag = false;cout << "请输入布尔型变量:" << endl;cin >> flag;system("pause");return 0;}