整型
数据类型:short(短整型)、占用空间2字节;
int(整型)、占用空间4字节;
long(长整形)、占用空间Windows为4字节,Linux为4字节(32位),8字节(64位);
long long(长长整形)、占用空间8字节;
如何查看不同类型的数据占用的内存空间、通过sizeof()函数即可判断;
举列:
#include "iostream"
#include "windows.h"
using namespace std;
int main()
{
SetConsoleOutputCP(CP_UTF8);
// short、int、long、long long
short age = 21;
cout << age << endl;
int num1 = 10;
long num2 = 20;
long long num3 = 30;
cout << num1 << num2 << num3 << endl;
// sizeof()函数,用法:sizeof(数据),会告知得到数据所占用的字节
cout << "short变量,占用字节: " << sizeof(age) << endl;
cout << "int变量,占用字节: " << sizeof(num1) << endl;
cout << "long变量,占用字节: " << sizeof(num2) << endl;
cout << "long long变量,占用字节: " << sizeof(num3) << endl;
return 0;
}
有符号无符号
无符号和有符号的含义:
无符号:大于等于0的数
有符号:可以包含负数(默认都是有符号)
如何定义无符号整型:
如果需要主动使用unsigned,举列:unsigned intnum=1;
u_short、u_int、u_long,是无符号short、int、long的快捷写法
实型
注意:实型数据没有signed和unsigned默认全部有符号 ,且注意有效位数的个数,如果超出有效位数那么会导致准确度不够。具体的有效位数根据使用的编译器来确定。
代码举列:
#include "iostream"
#include "windows.h"
using namespace std;
int main()
{
SetConsoleOutputCP(CP_UTF8);
// float单精度浮点数,4字节,6~7位的有效位数
// 有效位数:整数位、小数点、小数位
float num1 = 1234567890; // 只提供了前7位的准确输出
float num2 = 1.234567890; // 只提供了7位的准确输出
cout << fixed; // 设置为小数显示
cout.width(20); // 设置显示的最大宽度(最大位数)
cout << num2 << "," << sizeof(num2) << endl;
// double双精度浮点数,8字节,15~16有效位
double num3 = 1234567890.1234567890;
cout << num3 << "," << sizeof(num3) << endl;
// long double长精度(多精度)浮点数,16字节,18~19有效位
long double num4 = 1234567890.1234567890;
cout << num4 << "," << sizeof(num4) << endl;
return 0;
}
字符型
char类型用来表示字符,同时支持有符号和无符号。
char类型其本质上是:数字,即在内存中存储的是实际上是数字,通过ASCII表作为对照,字符->数字存入,数字->字符使用。
char可以存储的范围是超出ASCII的,但是基于ASCII映射,可以认为,char应用内容就是ASCII表。
代码:
#include "iostream"
#include "windows.h"
using namespace std;
int main()
{
SetConsoleOutputCP(CP_UTF8);
char ch = 65;
cout << ch << endl; //输出结果是A
char ch2 = 'a';
cout << ch2 + 1 << endl; //输出的结果是98
char ch3 = 'a' + 2;
cout << ch3 << endl; //输出的结果是c
return 0;
}
ASCII表中字符分为两类:非打印控制字符、打印字符
非打印控制字符:无法打印出形态,但是可以用于表示各种控制功能,如换行、制表等
如果要使用非打印控制字符的功能,可以使用转义字符的形式
代码:
#include "iostream"
#include "windows.h"
using namespace std;
int main()
{
SetConsoleOutputCP(CP_UTF8);
// 转义字符:将普通的字符使用\作为开头,将其含义进行转换,
//对照得到ASCII表的控制字符的功能
// \n 换行 \t 制表符 \\ 表示一个反斜杠本身 \' 表示单引号 \" 表示双引号
cout << "你好呀 \n 我喜欢你" << endl;
cout << "---------" << endl;
// \t制表符演示, 效果等同于键盘的tab键,一个\t可以补充到8个字符位
cout << "hello\titheima" << endl;
cout << "a\titcast" << endl;
cout << "---------" << endl;
// 当你需要打印\本身 需要\\
cout << "\\" << endl;
// 如果要打印双引号和单引号,需要 \" \' 来转义,是反向转义,
//将双引号和单引号的特殊效果消除
cout << "\" \'" << endl;
return 0;
在C++中使用字符串的方式有多种
char s[]="abc";字符数组模式,不可更改变量值
char *s="abc"; 指针模式
string s="abc"; string类型模式
布尔型:
布尔类型的字面量仅仅有两个:
true:表示真(本质上是数字1)
false: 表示假(本质上是数字0)
如何控制cout输出小数格式
cout.width(20);设置显示宽度、设置小数显示
cout<< fixed;设置小数显示