C++基本数据类型

2023-10-30

C++基本数据类型

第一章 C++ 基本数据类型




前言

C++基本数据类型详解


基本类型包括:short、int、long、long long、float、double、char、string(s是小写)

32位下基本类型占字节

      char1个字节

      char*(即指针变量): 4个字节(32位的寻址空间是2^32,4GB)

      short int : 2个字节

      int4个字节

      unsigned int : 4个字节

      float:  4个字节

      double:   8个字节

      long:   4个字节

      long long:  8个字节

      unsigned long:  4个字节
原文链接:https://blog.csdn.net/ykun089/article/details/107484042

64位下基本类型占字节:

      char1个字节

      char*(即指针变量): 8个字节

      short int : 2个字节

      int4个字节

      unsigned int : 4个字节

      float:  4个字节

      double:   8个字节

      long:   4 / 8个字节(视具体情况而定)

      long long:  8个字节

      unsigned long:  8个字节
原文链接:https://blog.csdn.net/ykun089/article/details/107484042

总结:其实只有指针和long型变量不一样

  • 32位 指针 :4个字节 long :4个字节
  • 64位 指针 :8个字节 long :4 / 8个字节

一、整形

                        一个字节占8位
  1. short(短整型 2字节)
  2. int(整型 4字节)
  3. long(长整型 4字节 在64位linux虚拟机里是8个字节
  4. long long(长长整型 8字节)
	short  a = 32768;//错误,结果输出为-32768,因为超出取值范围了
	int b=32768;//正确
	long c=1;
	//long c=1l;
	long long d=1;
	//long long d=1l;

sizeof关键字可以统计数据所占内存大小(单位是字节)。

cout <<sizeof(short)<< "-"<<sizeof(int)<< "-" 
<<sizeof(long)<< "-"<<sizeof(long long)<<endl;
//2-4-4-8

二、实型-浮点型

  1. float(单精度 4字节 7位有效数字)
  2. doubel(双精度 8字节 15~16位有效数字)
float a=3.1415926;//输出结果3.14159,此时3.1415926这个小数默认是双精度
float b=3.14159f;//给小数末尾加f使其默认为float类型
double a1=3.1415926;//输出结果3.14159
float c=3e2;//输出结果300,意思为3*10^2
float d=3e-2;//输出结果0.03,意思为3*0.1^2

注:默认小数为双精度,默认情况下输出小数会显示5位有效数字

三、字符和字符串

  1. 字符型变量用于显示一个字符。
    c和c++中字符型变量只占一个字节。
    字符型变量不是把字符本身放到内存中存储,而是把其对应的ASCll编码放到存储单元中。
//ASCll编码a-97,A-65
char a='a';
  1. 字符串类型
    在C中用【char 变量名[]=“字符串值”; 】来定义,
    在C++中用 【string 变量名=“字符串值”;】来定义,
    在Java中用【String 变量名=“字符串值”;】来定义。
    c++和java中都可以用c的办法定义字符串。(严格来说,这叫字符数组)

四、布尔类型

bool(1个字节 只有两种值-true或者flase)

bool a=true;//true-真,实值为非0
bool b=flase;//flase-假,实值为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 数字0 000
\ddd 8进制转义字符,d范围0~7 3位8进制
\xhh 16进制转义字符,h范围0-9,a-f,A-F 3位16进制

六、附录-算数运算符

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 10 + 5 15
- 10 - 5 5
* 10 * 5 50
/ 10 / 5 2
% 取模(取余) 10 % 3 1
++ 前置递增 a=2; b=++a; a=3; b=3;
++ 后置递增 a=2; b=a++; a=3; b=2;
前置递减 a=2; b=–a; a=1; b=1;
后置递减 a=2; b=a–; a=1; b=2;
注:两个小数不能做取余运算

七、附录-赋值运算符

运算符 术语 示例 结果
= 赋值 a=2; b=3; a=2; b=3;
+= 加等于 a=0; a+=2; a=2;
-= 减等于 a=5; a-=3; a=2;
*= 乘等于 a=2; a*=2; a=4;
/= 除等于 a=4; a/=2; a=2;
%= 模等于 a=3; a%2; a=1;

八、附录-比较运算符

运算符 术语 示例 结果
== 相等于 4 == 3 0
!= 不等于 4 != 3 1
< 小于 4 < 3 0
> 大于 4 > 3 1
<= 小于等于 4 <= 3 0
>= 大于等于 4 >= 1 1

九、附录-逻辑运算符

运算符 术语 示例 结果
! !a 如果a为假,则!a为真; 如果a为真,则!a为假。
&& a && b 如果a和b都为真,则结果为真,否则为假。
|| a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
注:在C++中除了0其他都为真。对于&&-同真为真,其余为假;对于或-同假为假,其余为真

十、附录-基本类型表

数据类型 说明 字节数 取值范围
bool 布尔型 1 true,false
char 字符型 1 -128~127
unsigned char 无符号字符型 1 0~255
short 短整型 2 -32768~32767
unsigned short 无符号短整型 2 0~65535
int 整型 4 -2147483648~2147483647
unsigned 无符号整型 4 0~4294967295
long 长整型 4 -2147483648~2147483647
unsigned long 无符号长整型 4 0~4294967295
float 单精度型 4 -3.4×10-38~3.4×10-38
double 双精度型 8 -1.7×10-308~1.7×10-308
long double 长双精度型 8 -1.7×10-308~1.7×10-308

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++基本数据类型 的相关文章

随机推荐

  • Linux yum提示Loaded plugins 错误的解决办法

    在Linux中使用yum时出现错误信息 Loaded plugins fastestmirror langpacks Existing lock var run yum pid another copy is running as pid
  • GPT3动口,RT-1动手,智能机器人开卷; 代码开源!

    机器学习 ML 研究的多个子领域 例如计算机视觉和自然语言处理 的最新重大进展是通过一种共享的通用方法实现的 该方法利用大型 多样化的数据集和能够有效吸收所有数据的表达模型 尽管已经有各种尝试将这种方法应于机器人技术 但机器人尚未利用高性能
  • 数图互通高校学生宿舍管理中会细分为哪些模块?

    数图互通学生宿舍管理系统 功能模块包括 基础数据 在线选宿舍 学生入住 宿舍调整 学生退宿 学生社区评定 外来人员来访管理 物品出楼登记 归寝管理 异性来访登记 宿舍维修管理 宿舍收费管理 辅导员管理 综合查询 统计报表
  • 24_Pandas.DataFrame,Series元素值的替换(replace)

    24 Pandas DataFrame Series元素值的替换 replace 要替换pandas DataFrame pandas Series元素的值 请使用replace 方法 这里 将描述以下内容 替换元素 一次替换多个不同的元素
  • tar: /usr/app: Not found in archive

    用tar解压文件报错 tar usr app Not found in archive 解决办法 加上 C就行 例如 tar zxvf zookeeper 3 4 10 tar gz C usr app
  • 细数华人那些代工企业

    原文地址 http www shudoo com news index php ac va aid 4438 一个不缺少人的社会 一个劳动密集型社会 廉价的社会劳动力让中国成为了世界的代工工厂 为客户提供低成本的代工服务 这其中有我们熟悉的
  • 19 【flex布局】

    34 移动Web开发之flex布局 34 1 flex布局体验 34 1 1 传统布局与flex布局 传统布局 兼容性好 布局繁琐 局限性 不能在移动端很好的布局 flex布局 操作方便 布局极为简单 移动端应用很广泛 PC 端浏览器支持情
  • iframe父子窗口通信(免跨域)(最下面附带封装好的)

    子窗口对父窗口发出消息 window parent postMessage type 自定义事件名 自定义事件名 value JSON stringify ObjData 数据 只能是字符串 父窗口接受消息 window addEventL
  • 关于QSqlDatabase::addDatabase的一个运行时错误

    这是一个在开发过程中不会出现的问题 但是当你发布程序后 将程序安装在别的机器 在运行时会出现的错误 错误如下 QSqlDatabase QSQLITE driver not loaded QSqlDatabase available dri
  • linux apache 403 forbidden,apache服务器显示403 Forbidden的原因和解决方法

    HTTP 错误 403 禁止访问 即403 Forbidden You don t have permission to access on this server 可能是权限不足引起的问题 解决方法 打开apache的配置文件httpd
  • 区块链如何应用于边缘计算、隐私计算联邦学习

    近年来数据安全事件频发 数据安全威胁日益严峻 随着 中华人民共和国数据安全法 的颁布和实施 对企业合规安全地发挥数据价值提出了更高的要求 如何在保障数据安全的前提下发挥数据价值 平衡效率和风险 是当前面临的重要课题 本文探讨如何将区块链应用
  • kafka扩容数据自动重分配脚本

    本文章记录使用kafka reassign partitions sh脚本来重新分配节点分区 kafka节点扩容后 已经存在的旧的topic的分区是不会伴随节点的增加而变动的 所以需要我们手动的去调整分区 下面提供了一套脚本 可以实现自动化
  • ViewPage配合FragmentPagerAdapter

    http blog sina com cn s blog 881875e70101m648 html 先说一段题外话 我们在进行android开发的时候发现 activity是与界面相关的 view及其派生类也是与界面相关的 fragmen
  • clickhouse优化使用clickhouse-keeper替代zookeeper

    ClickHouse Keeper 是 ZooKeeper 的替代品 与 ZooKeeper 不同 ClickHouse Keeper 是用 C 编写的 并使用 RAFT 算法实现 该算法允许对读写具有线性化能力 clikhouse kee
  • 关于 char 初始化多个字符问题

    心血来潮试了试 给一个字符赋多个字母回如何 include
  • Swift语法学习--数组

    Swift语法学习 数组 一维数组 多维数组 数组遍历 数组与字符串转换 数组过滤 数组截取 多维数组转一维 一维数组 多维数组 数组遍历 数组与字符串转换 数组过滤 数组截取 多维数组转一维
  • IPv6 MTU issue

    IPv6中间的路由器不会对过通的IPv6报文进行分片 分片只会在源节点进行 中间的防火墙可能会阻止ICMP too big的报文 导致源端无法获知MTU失效 Since modern networks use MTUs of 1500 by
  • Opencv-C++笔记 (10) : opencv-图像像素计算

    文章目录 一 概率 二 寻找图像像素的最大值和最小值 三 计算图像的均值和标准方差 4 两张图片的比较运算 5 两张图片的逻辑运算 一 概率 我们可以将数字图像理解成一定尺寸的矩阵 矩阵中每个元素的大小表示了图像中每个像素的亮暗程度 因此统
  • 笔记本电脑的键盘突然用不了怎么办(┬_┬)?!

    作为一个铁打的程序员 如果突然键盘用不了 那无异于打断了我们的双手 脑海中一大堆的代码想要溢出却无法打出来 简直无法想象 今天晚上由于手贱下载了个VMware的清理软件 不小心把键盘驱动的注册表信息也删除了 然后就各种GG 瞎紧张了半个多小
  • C++基本数据类型

    C 基本数据类型 第一章 C 基本数据类型 文章目录 C 基本数据类型 前言 一 整形 二 实型 浮点型 三 字符和字符串 四 布尔类型 五 附录 转义字符表 六 附录 算数运算符 七 附录 赋值运算符 八 附录 比较运算符 九 附录 逻辑