C++的数据类型你真的了解吗

 更新时间:2022年02月15日 16:48:45   作者:没有省略号  
这篇文章主要为大家详细介绍了C++的数据类型,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

前言

C++不像python,创建变量的时候必须指定类型,这样才能给变量分配一个合适的内存空间。

1 整型

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

整型的数据类型有4种(最常用的是int),其区别在于所占内存空间不同:

在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{
	//整型
	//1.短整型
	short num1 = 32768;
	//2.整型
	int num2 = 10;
	//3.长整型
	long num3 = 10;
	//4.长长整型
	long long num4 = 10;
	cout << "num1=" << num1 << endl;
	cout << "num2=" << num2 << endl;
	cout << "num3=" << num3 << endl;
	cout << "num4=" << num4 << endl;
	system("pause");
	return 0;
}

因为短整型取值范围为-32768-32767,所以注意数值溢出,当数值溢出时,取补码。

当如下定义时:

short num1 = 32768

输出为

num1=-32768

2 sizeof关键字

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

sizeof{数据类型/变量}
#include<iostream>
using namespace std;
int main()
{
	//利用sizeof求出数据类型占用大小
	short num1 = 10;
	int num2 = 10;
	long num3 = 10;
	long long num4 = 10;
	cout << "short占用内存空间为:" << sizeof(short) << endl;
	cout << "num1占用内存空间为:" << sizeof(num1) << endl;
	cout << "int占用内存空间为:" << sizeof(int) << endl;
	cout << "num2占用内存空间为:" << sizeof(num2) << endl;
	cout << "long占用内存空间为:" << sizeof(long) << endl;
	cout << "num3占用内存空间为:" << sizeof(num3) << endl;
	cout << "long long占用内存空间为:" << sizeof(long long) << endl;
	cout << "num4占用内存空间为:"      << sizeof(num4)      << endl;
	system("pause");
	return 0;
}

3 实型(浮点型)

作用:用于表示小数

浮点型变量分为两种:

  • 单精度float, 双精度double
  • 区别在于表示的有效数字范围不同。

在这里插入图片描述

在使用时,使用方法通常为

float f1 = 3.14f

如果不加f,默认是double型变量:

在这里插入图片描述

在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{	//默认情况下,输出一个小数,会显示最多6位有效数字
	//1.单精度
	float f1 = 3.1415926f;
	cout << "f1=" << f1 << endl;
	//2.双精度
	double d1 = 3.1415926;
	cout << "d1=" << d1 << endl;
	//占用内存查看
	cout << "float占用内存空间为:" << sizeof(float) << endl;
	cout << "double占用内存空间为:" << sizeof(double) << endl;
	//科学计数法
	float f2 = 3e2f;
	cout << "f2=" << f2 << endl;
	float f3 = 3e-2f;
	cout << "f3=" << f3 << endl;
	system("pause");
	return 0;
}

4 字符型

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

语法:char ch=‘a’;

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

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

:用单引号不要用双引号;单引号内只能有一个字符,不可以是字符串。

#include<iostream>
using namespace std;
int main()
{
	//字符型变量创建方式
	char ch = 'a';
	cout << ch << endl;
	//字符型变量所占内存大小
	cout << "char字符型变量所占内存:" << sizeof(char) << endl;
	//字符型变量常见错误
	// char ch2="b";
	// char ch2='abc';
	//字符型变量对应ASCII编码
	cout <<"字符A的ASCII码值为:"<<(int)'A' << endl;
	cout << "变量ch的ASCII码值为:" << (int)ch << endl;
	system("pause");
	return 0;
}

5 转义字符

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

常用的就下面这些,其余可自行百度

语法:使用cout时直接加在字符串中。

在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{	//换行符 \n
	cout << "hello world\n"<<endl;
	//反斜杠 \      
	cout << "\\" << endl;
	/*水平制表符 \t  
	使用空格补齐位置,使得所占位置为8的倍数
	输入正好为8个时,输出会多8个空格	*/
	cout << "aaaa\ttheworld" << endl;
	cout << "aaa\ttheworld" << endl;
	cout << "aaaaaaaa\ttheworld" << endl;
	cout << "aaaaaaaaa\ttheworld" << endl;
	cout << "aaaaaaaaaaa\ttheworld" << endl;
	
	system("pause");
	return 0;
}

6 字符串型

作用:用于表示一串字符。

两种风格

1.C风格的字符串:char 变量名[ ] = “字符串值”; ——注意加[ ],不加[ ]的时候默认的是字符。

2.C++风格字符串:string 变量名 = “字符串值”;——注意加头文件#include

#include<iostream>#include<string>using namespace std;int main(){//1.C风格字符串,注意加中括号[]char str[] = "hello world";cout << str << endl;//2.C++风格字符串,注意加头文件#include<string>string str2 = "hello world";cout << str2 << endl;system("pause");return 0;}#include<iostream>
#include<string>
using namespace std;
int main()
{	
	//1.C风格字符串,注意加中括号[]
	char str[] = "hello world";
	cout << str << endl;
	//2.C++风格字符串,注意加头文件#include<string>
	string str2 = "hello world";
	cout << str2 << endl;
	system("pause");
	return 0;
}

7 布尔类型 bool

作用:布尔数据类型代表真或假的值
bool类型只有两个值:

1.true 真

2.false 假

bool类型占一个字节

#include<iostream>#include<string>using namespace std;int main(){//1.创建bool数据类型bool flag = true;cout << flag << endl;flag = false;cout << flag << endl;//本质是1就是真,0就是假。//2.查看bool类型所占内存空间cout <<"bool类型所占内存空间为:" << sizeof(bool) << endl;system("pause");return 0;}#include<iostream>
#include<string>
using namespace std;
int main()
{
	//1.创建bool数据类型
	bool flag = true;
	cout << flag << endl;
	flag = false;
	cout << flag << endl;
	//本质是1就是真,0就是假。
	//2.查看bool类型所占内存空间
	cout <<"bool类型所占内存空间为:" << sizeof(bool) << endl;
	system("pause");
	return 0;
}

8 数据的输入

作用:从键盘获取数据

关键字:cin

语法:

cin >> 变量
#include<iostream>
#include<string>
using namespace std;
int main()
{
	//1.整型
	int a = 0; //尽量初始化,如果不初始化在使用或者打印它时都会报错。
	cout << "请给整型变量a赋值:" << endl;
	cin >> a;
	cout << "整型变量a=" << a << endl;
	//2.浮点型
	float f = 0.f; 
	cout << "请给浮点型变量f赋值:" << endl;
	cin >> f;
	cout << "浮点型变量f=" << f << endl;
	//3.字符型
	char ch = ' ';
	cout << "请给字符型变量ch赋值:" << endl;
	cin >> ch;
	cout << "字符型变量f=" << ch << endl;
	//4.字符串型
	string str = "abc";
	cout << "请给字符串型变量str赋值:" << endl;
	cin >> str;
	cout << "字符串型变量str=" << str << endl;
	//5.布尔型,用数字表示真假,只要输入不是0,那么就是1
	bool flag = false;
	cout << "请给布尔型变量flag赋值:" << endl;
	cin >> flag;
	cout << "布尔型变量flag=" << flag << endl;
	system("pause");
	return 0;
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!       

相关文章

  • C++Vector容器常用函数接口详解

    C++Vector容器常用函数接口详解

    最近我学习了C++中的STL库中的vector容器,对于常用容器,我们不仅要会使用其常用的函数接口,我们还有明白这些接口在其底层是如何实现的。所以特意整理出来一篇博客供我们学习
    2022-08-08
  • 一文带你学会C语言中的qsort函数

    一文带你学会C语言中的qsort函数

    qsort函数是C语言的库函数,能实现对各种元素类型的比较,使用的基本思想是快速排序法,头文件是<stdlib.h>,本文不讲解具体实现原理,只对使用方法进行说明,希望对大家有所帮助
    2022-12-12
  • 浅理解C++ 人脸识别系统的实现

    浅理解C++ 人脸识别系统的实现

    这篇文章主要介绍了浅理解C++ 人脸识别系统的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • C++浅析序列数据封装与优化实现方法

    C++浅析序列数据封装与优化实现方法

    封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全,数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制
    2022-12-12
  • Linux下实现C++操作Mysql数据库

    Linux下实现C++操作Mysql数据库

    由于工作需要抽出一周的时间来研究C/C++访问各种数据库的方法,并打算封装一套数据库操作类,现在奉上最简单的一部分:在Linux下访问MySQL数据库。
    2017-05-05
  • 教你用C语言实现三子棋

    教你用C语言实现三子棋

    这篇文章主要为大家详细介绍了C语言实现简单三子棋程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C语言数据结构深入探索顺序表

    C语言数据结构深入探索顺序表

    大家好,今天给大家带来的是顺序表,我觉得顺序表还是有比较难理解的地方的,于是我就把这一块的内容全部整理到了一起,希望能够给刚刚进行学习数据结构的人带来一些帮助,或者是已经学过这块的朋友们带来更深的理解,我们现在就开始吧
    2022-05-05
  • VC++中内存对齐实例教程

    VC++中内存对齐实例教程

    这篇文章主要介绍了VC++中内存对齐的实现方法,具有很高的实用价值,需要的朋友可以参考下
    2014-08-08
  • C++中智能指针最常用的shared_ptr和unique_ptr

    C++中智能指针最常用的shared_ptr和unique_ptr

    C++中的智能指针最常用的是shared_ptr和unique_ptr,C++新手最常问的问题是我从一个函数中拿到unique_ptr,但要转成shared_ptr才能使用,要怎么转换?同理是否能将shared_ptr转换成unique_ptr,面对这些问题,跟随小编一起看看吧
    2022-08-08
  • C语言结构体数组的定义和使用详解

    C语言结构体数组的定义和使用详解

    结构体中也有数组,称为结构体数组。它与数值型数组几乎是一模一样的,只不过需要注意的是,结构体数组的每一个元素都是一个结构体类型的变量,都包含结构体中所有的成员项。本文将带大家详解了解结构体数组的定义与使用
    2021-12-12

最新评论