数据类型存在的意义:
给变量分配合适的内存空间,避免资源浪费。
整型:
整型变量表示的是整数类型的数据
long类型 在 windows 中4字节 linux 中 32位4字节 64位8字节,占用空间的不同,可以表示的取值范围就越广,实际开发中int使用的频率最高。
#include <iostream>
using namespace std;
int main()
{
// 短整型
short a = 10;
cout << "短整型a=" << a << endl;
short a1 = 32768;
cout << "短整型a1=" << a1 << endl; //-32768 表示范围为(-32768~32767)
// 整型
int b = 10;
cout << "整型b=" << b << endl;
int b1 = 32768;
cout << "整型b1=" << b1 << endl; //32768
// 长整型
long c = 10;
cout << "长整型c=" << c << endl;
// 长长整型
long long d = 10;
cout << "长长整型d=" << d << endl;
system("pause");
return 0;
}
sizeof关键字:
统计数据类型所占内存大小。
语法:
sizeof(数据类型 / 变量) “/”是或者的意思
#include <iostream>
using namespace std;
int main()
{
// 在windows中
// 短整型short(2)
// 整型int(4)
// 长整型long(4)
// 长长整型long long(8)
// sizeof(数据类型 / 变量) "/"是或者的意思不是运算符
short a = 10;
cout << "shortTest1:" << sizeof(a) << endl;
cout << "shortTest2:" << sizeof(short) << endl;
int b = 10;
cout << "intTest1:" << sizeof(b) << endl;
cout << "intTest2:" << sizeof(int) << endl;
system("pause");
return 0;
} //其他的感兴趣可以自行测试
实型(浮点型)
用于表示小数。
需要注意的是,浮点类型的占用空间和取值范围是近似值,具体取决于编译器和系统的实现。此外,long double 类型的占用空间可能会比 double 更大,但具体取决于系统架构和编译器的支持。
#include <iostream>
using namespace std;
int main()
{
// 默认情况下 输出一个小数 会显示6位有效数字 即3.14159
// 单精度 float
float f1 = 3.1415926f;
cout << "f1: " << f1 << endl;
// 双精度 double
double d1 = 3.1415926;
cout << "d1: " << d1 << endl;
// 科学计数法
float f2 = 3e2; // 3*10^2
cout << "f2: " << f2 << endl;
float f3 = 3e-2; // 3*10^2 = 300
cout << "f3: " << f3 << endl; // 3*0.1*0.1 = 0.03
system("pause");
return 0;
}
字符型
显示单个字符
语法
char ch = 'a';
注意:单引号且只能有一个字符 1个字节,字符型变量不是把字符本身放到内存中存储而是将对应的ASCII码放入到存储单元。
#include <iostream>
using namespace std;
int main()
{
// 创建字符型变量ch
char ch = 'a';
cout << ch << endl; // a
// 字符型所占内存空间大小
cout << sizeof(ch) << endl; // 1
// 字符型变量对应的ASCII编码
cout << (int)ch << endl; // 97
system("pause");
return 0;
}
转义字符
表示一些不能显示出来的ASCII字符
常用的有:\n ,\\, \t
#include <iostream>
using namespace std;
int main()
{
// 换行 \n
cout << "hello world\n";
// 反斜杠 两个反斜杠输出一个反斜杠
cout << "\\" << endl;
// 水平制表符 \t 补全8位 3个a则aaa bbb 中间存在5个空格 用途:制表符后内容对齐
cout << "aaa\tbbb" << endl;
cout << "aaaa\tbbb" << endl;
cout << "aaaa\tbbb" << endl;
cout << "aaaaaaaaa\tbbb" << endl; // 超出了8位 无补齐效果
system("pause");
return 0;
}
字符串型
表示一串字符
两种风格
C风格: char 变量名[] = "字符串值"
C++风格:String 变量名 = "字符串值"
#include <iostream>
// #include<string> C++风格可能报错 但是我的没有问题 网上有的说是vscode问题,我在Dev-C++编译器中也没有问题 不知道是否和mingw64有关联或者编译器版本
using namespace std;
int main()
{
// C风格字符串 char 变量名[] = "字符串值"
char arr1[] = "123";
cout << arr1 << endl;
// C++风格字符串 String 变量名 = "字符串值"
string arr2 = "1234";
cout << arr2 << endl;
system("pause");
return 0;
}
布尔类型 bool
代表真或假的值
bool只有两个值
true --真(本质是1)
false --假(本质是0)
#include <iostream>
using namespace std;
int main()
{
// 创建bool数据类型
bool flag = true;
cout << flag << endl; // 1
flag = false; // 变量赋值false
cout << flag << endl; // 0
cout<<sizeof(flag)<<endl; //boll占用内存空间
system("pause");
return 0;
}
数据的输入
从键盘中获取数据
关键字: cin
语法: cin>>变量
#include <iostream>
using namespace std;
int main()
{
// 整型
int a = 10;
cout << "please Enter int" << endl;
cin >> a;
cout << " Enter a " << a << endl;
// 浮点型
float b = 10.0f;
cout << "please Enter float" << endl;
cin >> b;
cout << " Enter b " << b << endl;
// 字符型
char c = 'a';
cout << "please Enter char" << endl;
cin >> c;
cout << " Enter c " << c << endl;
// 字符串型
string d = "abcd";
cout << "please Enter string" << endl;
cin >> d;
cout << " Enter d " << d << endl;
// 布尔型
bool e = false;
cout << "please Enter bool" << endl;
cin >> e;
cout << " Enter e " << e << endl; // (-1,1)开区间内与false 输出结果为0 其余为1
system("pause");
}