IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 自学C++ 2.数据类型 -> 正文阅读

[C++知识库]自学C++ 2.数据类型

这篇文章是对基本数据类型的自学总结

目录

零、数据为什么要分不同的类型?

一、整型

二、浮点型

三、字符型

四、字符串型

五、布尔型

六、数据的输入:


零、数据为什么要分不同的类型?

当我们创建一个变量时,电脑会用内存中的一个空间来存放这个变量,比如我们要创建a = 1和b = 1000000这两个变量,从直观上看,a只需要很小的一个空间就够了,而给b需要大一些,但是我们也可以给a与b同样大小的一个空间,这样完全没问题,只是这样会白白地浪费内存空间,所以我们通过区分不同类型,给变量赋予合适的类型从而使其占用合适的内存空间,除此之外,变量a = 1和b = 'e',一个代表数字,一个代表字母,代表的东西不同,所以我们也应该给a,b赋予不同的数据类型。

一、整型

整型就是容纳整数的数据类型,在整型中又包括4种:

1.short? 2.int? 3.long? 4.long long

这四种整型的区别就是占用的内存大小不同,从而可以表示的数据的范围不同。

下面从

1、整型的创建

2、不同整型所占的内存空间大小

3、不同整型可表示的数据范围

来介绍整型

#include<iostream>
using namespace std;
int main()
{
    //整型变量的创建
	short in1 = 10;
	int in2 = 10;
	long in3 = 10;
	long long in4 = 10;
    //所占内存大小
	cout << "4个类型所占内存大小:" << endl;
	cout << "short	" << sizeof(short) << endl;
	cout << "int	" << sizeof(int) << endl;
	cout << "long	" << sizeof(in3) << endl;
	cout << "long long" << sizeof(long long ) << endl;
	system("pause");
	return 0;
}

在5-8段我们创建了short,int,long,long long类型的变量,之后在9-13段我们用sizeof分别导出4个类型所占内存大小:

?注意:1.sizeof是一个关键字,并不是函数,我们在sizeof()的括号中可以填入数据类型或者(常)变量名,sizeof()返回所填类型或变量名所占内存大小

2.从结果可以看到4个类型所占的内存大小,单位为字节(byte),要注意的是,我用的电脑是windows系统的,如果是linux(32位)则long占4字节,而linux(64位)中long占8字节

各类型可以表示的整数范围:

short ——?


二、浮点型

浮点型就是容纳有小数的数字的数据类型,有2种:

1.float

2.double

这两种类型的区别是小数点后的精度不同、占用内存不同

1.浮点型变量创建

2.浮点型占用空间

3.浮点型的精度

4.科学计数法

来介绍浮点型:

	//定义
    float f1 = 13.1;
	float f2 = 14.2f;
	double d1 = 1.1;
    //所占内存大小
	cout << "f1	" << sizeof(f1) << endl;
	cout << "d1	" << sizeof(d1) << endl;

可以看到f2和f1都是float类型,但f2的14.2后多了一个f,为什么要多一个f呢?

原来是因为计算机会将浮点型的数默认为double,当前面标明了是float后,计算机才会将数转为float,而加了f后计算机会知道14.2这个数是一个float,这样就少了转化成float这一步.

结果:

float占4字节,double占8字节

精度:float有效数字为7位,double有效数字为15-16位

科学计数法:

	float f1 = 4e-2;
	cout << f1 << endl;

?f1表示的是4 乘以10的-2次方,以此类推。


三、字符型

字符型就是容纳单个字符的数据类型,如'a','1',换行都是字符型(注意‘1’与1为不同类型)。

字符型只有char(character)一种.

字符型我们将从:

1.电脑储存字符型的方式,及ASCII码获取

2.字符型所占内存大小

3.字符型表示范围

4.注意事项

5.转义字符

介绍字符型变量

char c = 'a';
cout << "The size of char = " << sizeof(char) << endl;
cout << "The ASCII of 'a' : " << (int)c << endl;

1.当我们这样创建了一个char类型的变量c时,电脑并没有直接将'a'储存在内存中,而是将'a'对应的ASCII码储存在内存中,那么如何获得字符对应的ASCII码值呢?

从上面的输出:

知char占1字节,且通过将变量c强制转换为int型得到了'a'对应的ASCII码:97(类型转换在六有讲)。

3.字符型的字符所对应的ASCII码值范围是-128-127

4.注意事项:

char c1 = "a";
char c2 = 'abc';

以上两种定义都是错误的,char类型要用单引号,且单引号内只能有一个字符

5.转义字符:

有一些符号如换号、水平制表符无法如'a'一样写出来,这时就需要转义字符:

#include<iostream>
using namespace std;
int main()
{
	cout << "\thello\nworld\\" << endl;
	system("pause");
	return 0;
}

?输出为:

\t表示水平制表符,\n表示换行符,两个\\最后输出了一个\


四、字符串型

在字符型中我们知道char只能存储1个字符,要是想要存储多个字符就要用字符串型

#include<iostream>
#include<string>

using namespace std;

int main()
{
	string str = "Hi,I'm a string";
	cout << "This is a string: " << str << endl;

	system("pause");

	return 0;
}

1.首先我们要在开头处添加一个头文件string,这个文件里包含了我们要用的string的相关内容,之后我们就可以按第8行哪像使用string型了,以上的输出为:

2. 字符串型占多少内存呢,我们还是通过sizeof()来导出:

	string str2 = "How much memory size i occupy";
	cout << "This is a string: " << str2 << endl;
	cout << "The size of string:" << sizeof(string) << endl;
	cout << "The size of str2:" << sizeof(str2) << endl;

?输出为:

?string类型占28个字节

除此之外,字符串型的创建还可以用如下方法:

#include<iostream>
using namespace std;
int main()
{
	char a[] = "This is another method to set up a string";
	system("pause");
	return 0;
}

?这里我们创建了一个字符串a,要注意有[],这种方法无需添加string头文件。


五、布尔型

布尔(bool)型是容纳真假的数据类型,它的值只有true和false两种可能,同时非0值为true,0为false

用sizeof()可得bool型所占内存大小为1字节.


六、数据的输入

我们知道了数据的输出(cout),当我们想要在程序中输入一个数,就需要用输入(cin)

#include<iostream>
using namespace std;
int main()
{
	int a;
	cin >> a;
	cout << "a = " << a << endl;
	bool b;
	cin >> b;
	cout << "b = " << b << endl;
}

格式:cin >> 想要赋值的变量;

结果为:

除了输入(cin)之外,从程序中的b可以知道:给布尔型赋任何非零的数都会表示真,即1

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-11 16:27:42  更:2021-07-11 16:29:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/27 22:56:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码