新手入门c++(8)

news2024/10/28 23:14:35

到时候了,是时候给你们讲一下其他的定义形式与格式化输入输出了。

1.长整型变量

长整型变量分为两种:

①long类型

在计算机编程中,long 类型是一个整型数据类型,用于存储较大的整数。它的大小和范围取决于操作系统和编译器的实现,但通常至少是32位的,可以存储的数值范围通常从 -2,147,483,648 到 2,147,483,647(对于有符号的 long 类型)。在某些系统中,long 可能是64位的,尤其是在64位的操作系统中。在 C 和 C++ 中,long 至少是32位的,但具体大小由实现决定。使用 long 类型时,通常在变量类型后面加上 Ll 来表示这是一个长整型字面量,例如 123L123l。这有助于区分 long 类型和 int 类型的字面量。在定义变量时,也可以在变量名后面加上 Ll,例如 long number = 123L;

②long long类型

long long 类型是 C 和 C++ 语言中的一种数据类型,用于存储更大的整数值。它是在 C99 标准中引入的,以满足对更大范围整数的需求。long long 类型至少是64位的,通常用于存储非常大的整数。

在 C 和 C++ 中,long long 类型的数值范围通常是:

  • 对于有符号的 long long 类型(long long),范围是从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
  • 对于无符号的 long long 类型(unsigned long long),范围是从 0 到 18,446,744,073,709,551,615。

在定义 long long 类型的变量时,可以在变量类型后面加上 LLll 来表示这是一个长长整型字面量,例如 123LL123ll。这有助于区分 long long 类型和 intlong 类型的字面量。在定义变量时,也可以在变量名后面加上 LLll,例如:

long long number=123LL;//为了让大家看清楚,就用大写了

long long 类型在不同的编译器和平台上可能会有所不同,但至少会满足上述的数值范围要求。在编写跨平台代码时,了解目标平台的 long long 类型的具体实现是很重要的。

2.小数点定义

①float类型

在计算机编程中,float 类型是一种用于存储浮点数的数据类型,它能够表示小数点前后的数值。浮点数是一种近似表示实数的方式,因为计算机使用二进制来存储数据,所以不能精确表示所有的实数。

在大多数编程语言中,float 类型通常遵循 IEEE 754 标准,这是一个广泛使用的浮点数算术标准。根据这个标准,一个 float 类型的数值通常由以下几个部分组成:

符号位(Sign bit):1位,表示数值的正负,0表示正数,1表示负数。

指数位(Exponent bits):8位,用来表示数值的范围。

尾数位(Mantissa bits):23位,用来表示数值的精度。

float 类型的数值范围和精度如下:

  • 范围:大约从 1.2E-38 到 3.4E38。
  • 精度:大约7位十进制数字。

例如,在 C、C++ 和 Java 中,float 类型都是32位的,遵循上述的 IEEE 754 标准。在 Python 中,虽然没有明确指定 float 类型,但通常使用的是双精度浮点数(double),它有更高的精度和更广的范围。

在定义 float 类型的变量时,可以在数值后面加上 fF 来明确表示这是一个浮点数,例如 3.14f2.5F。这在某些语言中是可选的,但在其他语言中可能是必需的,以区分整数和浮点数。

需要注意的是,由于浮点数的表示方式,它们在进行算术运算时可能会有精度损失,因此在需要精确计算的场合(如金融计算)应谨慎使用

②double类型

在计算机编程中,double 类型是一种用于存储浮点数的数据类型,它能够提供比 float 类型更高的精度。double 类型通常用于需要更精确的科学计算和工程计算,因为它可以表示更广泛的数值范围和更高的数值精度。

double 类型遵循 IEEE 754 标准,这是一个广泛使用的浮点数算术标准。根据这个标准,一个 double 类型的数值通常由以下几个部分组成:

符号位(Sign bit):1位,表示数值的正负,0表示正数,1表示负数。

指数位(Exponent bits):11位,用来表示数值的范围。

尾数位(Mantissa bits):52位,用来表示数值的精度。

double 类型的数值范围和精度如下:

  • 范围:大约从 2.2E-308 到 1.8E308。
  • 精度:大约15到17位十进制数字。

在大多数编程语言中,double 类型是64位的,包括 C、C++、Java 和 Python。在这些语言中,double 类型通常用于需要高精度的浮点数计算。

在定义 double 类型的变量时,可以在数值后面加上 dD 来明确表示这是一个双精度浮点数,例如 3.14d2.5D。这在某些语言中是可选的,但在其他语言中可能是必需的,以区分单精度浮点数(float)和双精度浮点数(double)。

需要注意的是,尽管 double 类型提供了更高的精度,但在进行算术运算时仍然可能会有精度损失。

3.格式化输入,输出

scanf(输入)printf(输出) 是 C ++语言标准库中用于输入和输出的函数。这两个函数提供了一种灵活的方式来处理格式化的输入和输出。以下是 scanfprintf 的一些好处:

  1. 格式化能力printf 允许你指定输出格式,包括数字的宽度、精度、填充、对齐、符号和基数(如十进制、十六进制等)。scanf 则允许你指定输入的格式,确保用户输入的数据符合预期的类型和格式。

  2. 灵活性:你可以使用 printfscanf 来格式化几乎任何类型的数据,从简单的字符和字符串到复杂的结构体。

  3. 可读性:使用 printf 可以生成易于阅读的输出,这对于调试和用户界面的友好性非常重要。

  4. 效率scanfprintf 是底层的 C 语言函数,通常比高级语言中的类似功能更接近硬件,因此它们在执行时非常高效。

  5. 跨平台:这些函数在几乎所有的 C 语言编译器和平台上都是可用的,这使得代码具有很好的可移植性。

  6. 错误处理scanf 返回成功读取的项目数,这可以用来检查输入是否有效,以及是否发生了错误或意外的输入结束。

  7. 用户输入控制scanf 允许你控制用户输入的解析,例如,你可以指定跳过空白字符,或者要求输入必须符合特定的格式。

  8. 输出控制printf 允许你控制输出的显示,例如,你可以设置字段宽度和填充字符,以确保输出的对齐和格式。

  9. 国际化支持:虽然 scanfprintf 本身不直接支持国际化,但它们可以与 locale 设置结合使用,以支持不同语言环境中的数字和货币格式。

  10. 兼容性:由于 scanfprintf 是 C 语言标准的一部分,它们在几乎所有的 C 语言环境中都是可用的,这使得它们非常适合用于需要广泛兼容性的应用程序。

  11. 简单性:对于简单的输入输出任务,scanfprintf 提供了一种快速且简单的方法,无需编写复杂的代码。

尽管 scanfprintf 提供了许多好处,但它们也有一些缺点,比如安全性问题(如缓冲区溢出),因此在使用时需要谨慎,尤其是在处理不可信的输入时。现代编程实践中,有时会推荐使用更安全的替代函数,如 scanffgetssscanf,以及 printfsnprintf

格式控制字符:

内容解析:

代码:

int n;
scanf("%d",&n);//一定要有取地址符&,%d表示int类型输入,详见上表
printf("%d",n);//输出

青水太快刹不住,点个关注不迷路!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2225766.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

存储引用服务(OSS)Minio 环境搭建

下载Docker desktop 最好进行相关的设置,比如说进行登陆docker账号等等 推荐使用 docker-engine源【目前还能使用下载】 https://ccr.ccs.tencentyun.com 使用docker拉取对应的minio镜像 netstat -aon|findstr "8081" 注意:dockerhub有时…

QT访问数据库:应用提示Driver not loaded

在QT中运行完全正确错误截图 解决办法 我用的是MySQL。我把libmysql.dll复制到应用程序的目录下,即可正常访问数据库。

Hugging Face 使用指南——并行智算云(10s上手版)

1. 在bash中使用 1.1 直接复制命令 echo export HF_ENDPOINT"https://hf-mirror.com" >> ~/.bashrc # 在bashrc文件中设置镜像地址 source ~/.bashrc # 使修改立即生效 echo $HF_ENDPOINT # 查看是否成功红框部分出现就是正确了 1.2 命令详解 命令行echo…

HarmonyOS开发 - 本地持久化之实现LocalStorage支持多实例

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。 在上一篇中&…

CodeQL学习笔记(1)-QL语法(逻辑连接词、量词、聚合词、谓词和类)

最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比&…

计算机视觉专栏(2)【LeNet】代码实战【pytorch】完整可运行

LeNet 系列 实践部分1.引言2. limu代码3. plpal代码3.1 代码调试3.2 代码详解 4. 总结 实践部分 Lenet的实现分为两种代码,一种是李沐老师的实现代码以及b友up霹雳啪啦的代码,两者都有不同的优点,李老师的lenet十分还原原著中的操作&#xf…

ios 项目升级极光SDK

由于项目使用的是旧版本,隐私合规检查不通过,需要升级到最新版本, 使用cocoapods集成无法正常运行,.a文件找不到,可能项目比较久了,最好选择手动导入 下载最新版本SDK,将 SDK 包解压&#xff…

IROS 2024最新接收的Motion Planning前沿研究成果汇总

No.1 文章标题:Extended Tree Search for Robot Task and Motion Planning 作者:REN, Tianyu; Chalvatzaki, Georgia; Peters, Jan 中文标题:机器人任务和运动规划的扩展树搜索 No.2 文章标题:Kinodynamic Motion Planning fo…

Jmeter分布式性能测试细节+常见问题解决

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Jmeter分布式测试时需要的特别注意 1)参数化文件的位置和内容 如果使用csv文件进行参数化,即通过读取csv文件中的数据来为测试脚本提供…

C/C++每日一练:实现选择排序

选择排序 选择排序是一种简单直观的排序算法,时间复杂度为,其中 n 是数组长度,不适合大数据集的排序,适合于元素较少且对性能要求不高的场景。 选择排序的基本思想是:每次从未排序部分选择最小的元素,将其放…

[四轴飞行器] 遥控器操作说明

遥控器操作说明 1 A:无线连接信号强度:已连接 B:控制模式:H定高模式,T定点模式 C:遥控器状态:加锁 D:飞行模式:无头 E:电量显示:遥控器电量(加…

OpenCV系列教程六:信用卡数字识别、人脸检测、车牌/答题卡识别、OCR

文章目录 一、信用卡数字识别1.1 模板匹配1.2 匹配多个对象1.3 处理数字模板1.4 预处理卡片信息,得到4组数字块。1.5 遍历数字块,将卡片中每个数字与模板数字进行匹配 二、人脸检测2.1人脸检测算法原理2.2 OpenCV中的人脸检测流程 三、车牌识别3.1 安装t…

Jupyter Notebook 中使用render_notebook渲染pyecharts图像不显示的一种情况

一开始我发现自己的jupyter文件在渲染pyecharts图片时一开始可以显示,但后来不知道怎么的就不显示了,查找了很多方法,但是没有效果,都是改js渲染什么的,还有就是参数不对的,对于我来说都没什么用&#xff0…

Pytorch学习--DataLoader的使用

一、DataLoader简介 DataLoader官网 重要参数:画红框的参数 dataset: 作用:表示要加载的数据集。DataLoader通过该参数从数据集中读取数据。类型:Dataset,即PyTorch定义的Dataset类,用于封装数据并提供数据索引的功…

C++第八讲:STL--stack和queue的使用及模拟实现

C第八讲:STL--stack和queue的使用及模拟实现 1.stack的使用2.queue的使用3.栈和队列OJ题3.1题目1:最小栈3.2题目2:栈的压入、弹出序列3.3题目3:逆波兰表达式求值3.4题目4:用栈实现队列 4.栈的模拟实现5.队列的模拟实现…

BFS解决最短路问题(4)_为高尔夫比赛砍树

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 BFS解决最短路问题(4)_为高尔夫比赛砍树 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论&#x1f48…

LeetCode-684. 冗余连接

. - 力扣(LeetCode) 题目 树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1~n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间,且这条附加的边不属于树中已存在的边。图的信息记录于…

传输层UDP

再谈端口号 端口号:标识了主机上进行通信的不同的应用程序 在TCP/IP 协议中我们用“源IP”"源端口号" “目的IP”“目的端口号” “协议号”五元组来标识一个通信 用netstat -n 查看 查看网络信息,我们有两种命令查看网络通信1.用netsta…

Python | Leetcode Python题解之第509题斐波那契数

题目&#xff1a; 题解&#xff1a; class Solution:def fib(self, n: int) -> int:if n < 2:return nq [[1, 1], [1, 0]]res self.matrix_pow(q, n - 1)return res[0][0]def matrix_pow(self, a: List[List[int]], n: int) -> List[List[int]]:ret [[1, 0], [0, …

1 环境配置、创建功能包、编译、Cmake文件及package文件学习笔记

1 基本结构 放张 赵虚左老师的pdf截图 2 环境配置 //每次都需配置 . install/setup.bash//或者一次配置echo "source /path/to/your/workspace_name/install/setup.bash" >> ~/.bashrcsource ~/.bashrc3 创建功能包 ros2 pkg create 包名--build-type 构建类…