新手入门c++(8)

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

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);//输出

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【不同开源基座大模型对比及领域落地的选型考虑】

Key Takeaways: 1、从数据、Tokenizer、模型架构对比不同qwen、deepseek、llama、yi等模型 对于开源大模型的数据和预处理来说,一般我们会关注如下的一些维度; 预训练数据:训练数据的数量、质量与多样性,是模型泛化能…

太阳能面板分割系统:训练自动化

太阳能面板分割系统源码&数据集分享 [yolov8-seg-EfficientHead&yolov8-seg-vanillanet等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Globa…

Qt6.7.2中使用OpenSSL的坑

最近编写Qt Quick项目,使用Qt6.7.2版本,CMAKE编译,开始QtCreator运行代码都没有问题,访问https也正常,但打出安装包后一试,发现https访问不了,尴尬!! 查看了相关日志发现…

Flutter登录界面使用主题

Now, let’s use the theme we initially created in our main function for a simple login screen: 现在,让我们使用最初在主函数中创建的主题来制作一个简单的登录屏幕: Create a Login Screen Widget: Inside the main.dartfile, create a new wid…

尚硅谷 | Nginx | 学习笔记

尚硅谷 | Nginx | 学习笔记 尚硅谷Nginx教程由浅入深(一套打通丨初学者也可掌握)_哔哩哔哩_bilibili 文章目录 尚硅谷 | Nginx | 学习笔记一、Nginx相关概念1.Nginx是什么2.正向代理和反向代理正向代理反向代理 3.负载均衡和动静分离负载均衡动静分离 二…

[论文阅读]Detecting Pretraining Data from Large Language Models

Detecting Pretraining Data from Large Language Models http://arxiv.org/abs/2310.16789 这篇文章正式提出了Min-k%方法来实现成员推理攻击 贡献 介绍了WIKIMIA动态基准测试。旨在定期自动评估任何新发布的预训练 LLMs。通过利用 Wikipedia 数据时间戳和模型发布日期&am…

C#与C++交互开发系列(十三):在C#中使用C++编写的DLL,导出类的完整指南

前言 在跨平台和跨语言开发中,C++ 和 C# 的互操作性可以帮助我们实现更灵活且高性能的解决方案。C++ DLL 可以封装高效的算法或硬件相关的代码,而在 C# 中调用这些功能则可以大大简化开发。然而,由于 C++ 和 C# 的底层实现不同,导出 C++ 类并在 C# 中使用并不简单。因此,…

精选:HR招聘管理工具Top5使用体验

作为企业招聘者,如何在选择中找到开启高效招聘之门的钥匙,成为了每一位企业招聘管理者必须面对的难题,在面对市场上琳琅满目的招聘工具,你是否也曾感到无头绪,不知所措?每个工具都声称自己拥有独特的优势和…

python之多任务爬虫——线程、进程、协程的介绍与使用(16)

文章目录 1、什么是多任务?1.1 进程和线程的概念1.2 多线程与多进程的区别1.3 并发和并行2、python中的全局解释器锁3、多线程执行机制4、python中实现多线程(threading模块)4.1 模块介绍4.2 模块的使用5、python实现多进行程(Multiprocessing模块)5.1 导入模块5.2 模块的…

Kafka之消费者客户端

1、历史上的二个版本 与生产者客户端一样,在Kafka的发展过程当中,消费者客户端主要有两个大的版本: 旧消费者客户端(Old Consumer):基于Scala语言开发的版本,又称为Scala消费者客户端。新消费…

Python 中的 @ 符号是如何工作的!

写在前面 Python 中的 符号是一个非常强大而又灵活的功能,它代表一个叫做"装饰器"的"语法糖"。在本文中,我们将一步步地了解它的工作原理,并通过示例代码加深理解。 基本概念 在 Python 中, 符号通常用于…

2024年9月电子学会青少年软件编程Python等级考试(三级)真题试卷

2024年9月青少年软件编程Python等级考试(三级)真题试卷 选择题 第 1 题 单选题 以下python表达式的值为True的是?( ) A.all( ,1,2,3) B.any([]) C.bool(abc) D.divmod(6,0) 第 2 题 单选题 下列python代码的…

python项目实战——多协程下载美女图片

协程 文章目录 协程协程的优劣势什么是IO密集型任务特点示例与 CPU 密集型任务的对比处理 I/O 密集型任务的方式总结 创建并使用协程asyncio模块 创建协程函数运行协程函数asyncio.run(main())aiohttp模块调用aiohttp模块步骤 aiofiles————协程异步函数遇到的问题一 await …

【Linux系统编程】——探索Shell:工作原理与运行机制以及Linux的权限管理

文章目录 1. 什么是 Shell?2. Shell 的工作原理3. Shell 的运行机制4. Shell 的应用场景5. Shell 脚本的优缺点Linux权限的概念Linux权限管理文件权限值的表示方法文件访问权限的相关设置方法 目录的权限粘滞位关于权限的总结 1. 什么是 Shell? Shell 是…

Linux下的文件系统(进程与文件)

windows下的文件构成 .内容 .属性 所以, 文件的构成为内容和属性。 文件 内容 属性 推此即彼, linux下的文件构成也是如此。 liunx下,文件 文件的内核数据结构(属性)内容 深入理解c语言中的文件操作 在c语言中如…

【笔记】LLM位置编码之标准位置编码

标准位置编码 起源原理证明:对于任何固定的偏移量 k k k, P E p o s k PE_{posk} PEposk​可以表示为 P E p o s PE_{pos} PEpos​的线性函数。计算 P E p o s k 与 P E p o s PE_{posk} 与PE_{pos} PEposk​与PEpos​的内积结论 通俗理解缺点 起源 由…

论文笔记:LaDe: The First Comprehensive Last-mile Delivery Dataset from Industry

2023 KDD 1 intro 1.1 背景 随着城市化进程的加快和电子商务的发展,最后一公里配送已成为一个关键的研究领域 最后一公里配送,如图1所示,是指连接配送中心和客户的包裹运输过程,包括包裹的取件和配送除了对客户满意度至关重要外…

诺基亚的裁员风暴

大家好,我是鸭鸭! 不知道 80、90 后还记得童年神机诺基亚吗? 虽然诺基亚早就把自家手机业务出售,但依然是一代通信巨头。 鸭鸭最近看到新闻,诺基亚已经在大中华区裁减了近 2000 名员工 。 根据 2023 年底&#xff0…

YOLOv8实战野生动物识别

本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对野生动物数据集进行训练和优化,该数据集包含丰富的野生动物图像样本…

9.Linux按键驱动-工作队列

1.思路 1.1在gpio结构体中定义工作队列 1.2 在probe函数中初始化工作队列 1.3.在中断服务程序中调度工作队列 1.4工作队列处理函数&#xff1a; 2.编程 程序&#xff1a; #include <linux/module.h> #include <linux/fs.h> #include <linux/errno.h> #…