新手入门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,例如:

cpp 复制代码
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

格式控制字符:

内容解析:

代码:

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

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

相关推荐
魔法自动机34 分钟前
Unity3D学习FPS游戏(3)玩家第一人称视角转动和移动
unity·1024程序员节·fps
Ylucius43 分钟前
14天速成前端 ------学习日志(已完结)------ 后端程序员学习了解前端
java·开发语言·前端·vue.js·学习·状态模式·1024程序员节
清酒伴风(面试准备中......)1 小时前
计算机网络——开放系统互连参考模型
网络·计算机网络·1024程序员节
琪露诺大湿1 小时前
JavaEE-多线程初阶(1)
java·linux·开发语言·jvm·数据库·java-ee·1024程序员节
DC妙妙屋2 小时前
10.24.2024刷华为OD C题型(四) -- 对象list按照多个属性排序
1024程序员节
bitenum3 小时前
qsort函数的学习与使用
c语言·开发语言·学习·算法·visualstudio·1024程序员节
EmotionFlying4 小时前
(11)(2.1.6) Hobbywing DroneCAN ESC(一)
copter·ardupilot·1024程序员节·电调和电机
伏飞而行4 小时前
六、元素应用CSS的习题
1024程序员节
idealzouhu4 小时前
Spring Boot 实现文件上传下载功能
java·spring boot·1024程序员节