C++数据类型

目录

一、整型

二、sizeof关键字

 三、实型(浮点型)

四、字符型

五、转义字符

六、字符串型

七、布尔类型 bool

八、数据的输入

九、归纳案例


一、整型

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

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)

二、sizeof关键字

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

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

代码示例

#include <iostream>
using namespace std;

int main()
{
	short num1;
	cout << "短整型数据所占内存大小为:" << sizeof(num1) << endl;
	// 或者可以这样写
	cout << sizeof(short) << endl;		// 运行之后结果是一样的

	int num2;
	cout << "整型数据所占内存大小为:" << sizeof(num2) << endl;
	cout << sizeof(int) << endl;

	long num3;
	cout << "长整型数据所占内存大小为:" << sizeof(num3) << endl;
	cout << sizeof(long) << endl;

	long long num4;
	cout << "长长整型所占内存大小为:" << sizeof(long long) << endl;
	cout << sizeof(long long) << endl;

	return 0;
}

总结:short < int < long < long long

 三、实型(浮点型)

作用:用于表示小数

浮点型变量分为两种

  1. 单精度float
  2. 双精度double

两者的区别在于表示的有效数字范围不同

数据类型占用空间有效数字范围
float4字节7位有效数字
double8字节15~16位有效数字

代码示例

#include <iostream>
using namespace std;

int main()
{
	// 默认情况下,输出一个小数,会显示最多 6 位有效数字
	// 定义浮点型数据时,默认为双精度 double 类型
	// 所以要在定义好的数据后面 + f 表示 float 类型
	float num1 = 3.14f;
	double num2 = 3.14;

	cout << "单精度的数据的值为:" << num1 << "\n双精度的数据的值为:" << num2 << endl;


	// 科学计数法
	float ff = 3e2;			// 3 * 10^2
	cout << ff << endl;

	float fff = 3e-2;		// 3 * 10^(-2)
	cout << fff << endl;

	return 0;
}

四、字符型

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

语法:char ch = 'a';

注意

  1. 在线式字符串变量时,用单引号将字符括起来,不要用双引号
  2. 单引号内只能有一个字符,不可以是字符串
  • C和C++中字符型变量只占用1个字节
  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

代码示例:

#include <iostream>
using namespace std;

int main()
{
	char ch1 = 'h';
	char ch2 = 'e';
	char ch3 = 'l';
	char ch4 = 'l';
	char ch5 = 'o';
	char ch6 = ',';
	char ch7 = 'w';
	char ch8 = 'o';
	char ch9 = 'r';
	char ch10 = 'l';
	char ch11 = 'd';
	char ch12 = '!';

	cout << "字符串内容为: ";
	cout << ch1 << ch2 << ch3 << ch4 << ch5 << ch6 << ch7 << ch8 << ch9 << ch10 << ch11 << ch12 << endl;

	cout << "字符串的ASCII码值对应为:";
	cout << (int)ch1 << "," << (int)ch2 << "," << (int)ch3 << "," << (int)ch4 << "," << (int)ch5 << "," << (int)ch6
		<< "," << (int)ch7 << "," << (int)ch8 << "," << (int)ch9 << "," << (int)ch10 << ","<< (int)ch11 << "," << (int)ch12 << endl;

	cout << "char字符所占内存大小为:" << sizeof(char) << endl;

	return 0;
}

五、转义字符

转义字符含义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数字0000
\ddd8进制转义字符,d范围0~73位8进制
\xhh16进制转义字符,h范围0~9,a~f3位16进制

六、字符串型

作用:用于表示一串字符

两种风格

  1. C    风格字符串:char 变量名[指定字符串数组的大小] = "字符串值";
  2. C++风格字符串:string 变量名 = "字符串值";

代码示例:

#include <iostream>
using namespace std;

int main()
{
	// C风格字符串
	char my_char[20] = "hello\tworld";
	cout << my_char << endl;

	// C++风格字符串
	string my_str = "自律的苦,轻若鸿毛\n后悔的痛,重若泰山";
	cout << my_str << endl;

	return 0;
}

关于string,我是在Vistual studio进行编码的,我记得一些老版本的编译器里面要添加头文件

#include <string>才可以正常使用C++的字符串,我使用的是最新版的,所以就没添加也可以使用

七、布尔类型 bool

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

bool类型只有两个值:

  • true——真(本质是1)
  • false——假(本质是0)

bool类型只要是非零就都是真

八、数据的输入

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

关键字:cin

语法:cin >> 变量

九、归纳案例

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

int main()
{
	// 输入整型数据(只拿int做演示,其余可以自己试一下)
	int age = 0;
	cout << "请输入你的年龄:" << endl;
	cin >> age;
	cout << "你的年龄为:" << age << endl;

	// 输入浮点型数据(拿float做演示)
	float score = 0.0f;
	cout << "请输入你的成绩:" << endl;
	cin >> score;
	/*
	   * 想要控制浮点型数据输出的位数,要包含头文件iomanip,之后使用setprecision方法对其进行设置
	   * 其中 showpoint 表示如果不满指定的有效位数的话,拿0去补
	   * 如果是零基础的话,这个在看完后面的笔记之后,再回来实现也可以
	*/
	cout << setprecision(4) << showpoint << score << endl;

	// 输入字符型数据
	char ch = 'a';
	cout << "输入你的学号第一位(英文状态):" << endl;
	cin >> ch;
	cout << "你的学号第一位为:" << ch << endl;

	// 输入字符串型数据
	// 1、C
	char my_char[100] = "asdfasdf";
	cout << "请输入你的爱好:" << endl;
	cin >> my_char;
	cout << "你的爱好为:" << my_char << endl;

	// 2、C++
	string my_str = "aaa";
	cout << "请输入的你的学校名:" << endl;
	cin >> my_str;
	cout << "你学校的名字为:" << my_str << endl;

	// 输入布尔类型数据
	// 这里举的例子牵扯到后面的内容,看不懂也没关系,先记在你的小本本上,后面再来看,就会发现很简单
	bool isNow = false;
	cout << "输入 0 进入虚幻世界\t输入 1 返回现实世界:" << endl;
	cin >> isNow;
	if (isNow == true)
	{
		cout << "哦,你又回到了现实世界" << endl;
	}
	else
	{
		cout << "恭喜你,进入虚幻世界" << endl;
	}

	return 0;
}
  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值