新手入门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);//输出

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

相关推荐
学传打活2 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng16810 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心12 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u01030552718 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552718 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝20 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552720 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552720 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u01030552723 天前
Java实用类应用精讲
人工智能·1024程序员节
u01030552723 天前
Java I/O核心操作实战
人工智能·1024程序员节