C++ 基础篇 2 之数据类型

数据类型

C++ 规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给其分配内存空间

整型及 sizeof 关键字

整型

作用:整型变量表示的是整数类型的数据

C++ 中表示整型有几种方法,区别在于所占的内存空间不同

数据类型占用空间(字节)取值范围
short2-2^15 ~ 2^15-1
int4-2^31 ~ 2^31-1
long4-2^31 ~ 2^31-1
long long8-2^63 ~ 2^63-1

程序举例:输出 num1 为 -32678,输出 num2 为 32768

#include <iostream>
using namespace std;

int main() 
{
	// 1. 短整型(-32768 ~ 32767)
	short num1 = 32768;
	cout << num1 << endl; // 内存溢出

	// 2. 整型
	int num2 = 32768;
	cout << num2 << endl;

	system("pause");
	return 0;
}

sizeof 关键字

作用:利用 sizeof 关键字可以统计数据类型所占内存(字节)大小

语法:sizeof(数据类型 / 变量)

#include <iostream>
using namespace std;

int main() 
{
	cout << "short 类型的数据所占的内存空间为:" << sizeof(short) << endl; // 2
	cout << "int 类型的数据所占的内存空间为:" << sizeof(int) << endl; // 4
	cout << "long 类型的数据所占的内存空间为:" << sizeof(long) << endl; // 4
	cout << "long long 类型的数据所占的内存空间为:" << sizeof(long long) << endl; // 8
	
	int num1 = 10;
	cout << "int 类型的变量 num1 所占的内存空间为:" << sizeof(num1) << endl; // 4
	long long num2 = 100;
	cout << "long long 类型的变量 num2 所占的内存空间为:" << sizeof(num2) << endl; // 8

	system("pause");
	return 0;
}

实型(浮点型)及字符型

实型(浮点型)

作用:用于表示小数

浮动型变量分为二种:第一种是单精度 float,第二种是双精度 double,二者的区别在于表示的有效数字范围不同

数据类型占用空间(字节)有效数字范围
float47
double815 ~ 16

程序举例:默认情况下输出一个小数会显示出 6 位有效数字

#include <iostream>
using namespace std;

int main() 
{
	// 1. 单精度 float
	float pai1 = 3.1415926f;
	cout << "π = " << pai1 << endl; // π = 3.14159

	// 2. 双精度 double
	double pai2 = 3.1415926;
	cout << "π = " << pai2 << endl; // π = 3.14159

	system("pause");
	return 0;
}

科学计数法表示实型数据:输出 num1 的值为 3141.59,输出 num2 的值为 0.00314159

#include <iostream>
using namespace std;

int main() 
{
	// 科学计数法
	float num1 = 3.1415926e3; // 3.14 * 10^3
	float num2 = 3.1415926e-3; // 3.14 * 10^(-3)
	cout << "num1 = " << num1 << endl;
	cout << "num2 = " << num2 << endl;
	system("pause");
	return 0;
}

字符型

作用:字符型变量用于显示单个字符

语法:char 变量名 = 变量值;

注意:1. 在显示字符型变量时,用单引号将字符括起来,不要用双引号、2. 单引号内只能有一个字符,不可以是字符串

C 和 C++ 中的字符型变量只占用 1 个字节

字符型变量并不是把字符本身放到内存中存储,而是将对应的 ASCII 编码放入到存储单元

#include <iostream>
using namespace std;

int main() 
{
	// 1. 字符型变量创建方式
	char ch = 'a';
	cout << ch << endl;
	
	// 2. 字符型变量所占内存大小
	cout << "char 类型的数据所占内存空间大小为:" << sizeof(char) << endl; // 1
	
	// 3. 字符型变量常见错误
	// char ch2 = "a"; // 创建字符型变量时只能使用单引号
	// cahr ch3 = 'abc'; // 单引号内只能有一个字符
	
	// 4. 字符型变量对应的 ASCII 编码值
	cout << (int)ch << endl; // 97
	system("pause");
	return 0;
}

转义字符

作用:用于表示一些不能显示出来的 ASCII 字符

#include <iostream>
using namespace std;

int main() 
{
	// 换行符
	cout << "Oh\nMy dear Xiaosu" << endl;

	// 反斜杠
	cout << "\\你是猪!我不管!你就是猪\\" <<endl;

	// 水平制表符
	cout << "abc\thello" << endl;
	cout << "ab\thello" << endl;
	cout << "abcd\thello" << endl;

	system("pause");
	return 0;
}

字符串型

作用:用于表示一串字符

二种风格:第一种是 C 风格的字符串,另一种是 C++ 风格的字符串

1. C 风格的字符串

语法:char 变量名[ ] = 字符串值;

#include <iostream>
using namespace std;

int main() 
{
	char ch[] = "hello su";
	cout << ch << endl; // hello su

	system("pause");
	return 0;
}

2. C++ 风格的字符串

语法:string 变量名 = 字符串值;

#include <iostream>
using namespace std;
#include <string>

int main() 
{
	string str = "hello su";
	cout << str << endl; // hello su

	system("pause");
	return 0;
}

布尔类型(bool)

作用:布尔数据类型代表真或假的值

bool 类型只有二个值:true(真)、false(假)

bool 类型占 1 个字节大小

#include <iostream>
using namespace std;

int main() 
{
	bool flag = true;
	cout << flag << endl; // 1

	flag = false;
	cout << flag << endl; // 0

	cout << "bool 数据类型所占的内存空间大小为:" << sizeof(flag) << endl; // 1

	system("pause");
	return 0;
}

数据的输入

作用:用于从键盘获取数据

语法:cin >> 变量名;

#include <iostream>
using namespace std;
#include <string>

int main() 
{
	// 1. 整型
	int num1 = 0;
	cout << "请输入一个整数:";
	cin >> num1;
	cout << "您输入的整数为:" << num1 << endl << endl;;

	// 2. 实型
	float num2 = 0;
	cout << "请输入一个实数:";
	cin >> num2;
	cout << "您输入的实数为:" << num2 << endl << endl;

	// 3. 字符型
	char ch = 'a';
	cout << "请输入一个字符:";
	cin >> ch;
	cout << "您输入的字符为:" << ch << endl << endl;

	// 4. 字符串型
	string str = "hello su";
	cout << "请输入一个字符串:";
	cin >> str;
	cout << "您输入的字符串为:" << str << endl << endl;

	// 5. 布尔型
	bool flag = true;
	cout << "请输入一个布尔值(0为假、1为真):";
	cin >> flag;
	cout << "您输入的值为:" << flag << endl << endl;

	system("pause");
	return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是我来晚了!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值