首页 > 编程语言 >C++ 数学函数、头文件及布尔类型详解

C++ 数学函数、头文件及布尔类型详解

时间:2024-04-01 22:24:05浏览次数:22  
标签:返回 头文件 cout 示例 C++ 详解 false true

C++ 数学

C++ 有许多函数可以让您在数字上执行数学任务。

最大值和最小值

max(x, y) 函数可用于找到 x 和 y 的最大值:

示例

cout << max(5, 10);

min(x, y) 函数可用于找到 x 和 y 的最小值:

示例

cout << min(5, 10);

C++ <cmath> 头文件

其他函数,例如 sqrt(平方根)、round(四舍五入)和 log(自然对数),可以在 <cmath> 头文件中找到:

示例

// 包含 cmath 库
#include <cmath>

cout << sqrt(64);
cout << round(2.6);
cout << log(2);

其他数学函数
以下是来自 <cmath> 库的其他流行数学函数列表:

函数 描述
abs(x) 返回 x 的绝对值
acos(x) 返回 x 的反余弦值
asin(x) 返回 x 的反正弦值
atan(x) 返回 x 的反正切值
cbrt(x) 返回 x 的立方根
ceil(x) 将 x 的值四舍五入为最接近的整数
cos(x) 返回 x 的余弦值
cosh(x) 返回 x 的双曲余弦值
exp(x) 返回 e 的 x 次方的值
expm1(x) 返回 e 的 x 次方的值减 1
fabs(x) 返回浮点数 x 的绝对值
fdim(x, y) 返回 x 和 y 之间的正差值
floor(x) 将 x 的值向下舍入到最接近的整数
hypot(x, y) 返回 sqrt(x²+y²) 而不会发生中间溢出或下溢
fma(x, y, z) 在不失去精度的情况下返回 x*y+z
fmax(x, y) 返回浮点数 x 和 y 中的最高值
fmin(x, y) 返回浮点数 x 和 y 中的最低值
fmod(x, y) 返回 x/y 的浮点余数
pow(x, y) 返回 x 的 y 次幂的值
sin(x) 返回 x 的正弦值(x 以弧度表示)
sinh(x) 返回双精度值 x 的双曲正弦值
tan(x) 返回角度的正切值
tanh(x) 返回双精度值的双曲正切值

C++ 布尔类型

在编程中,经常需要一个只能拥有两个值之一的数据类型,比如:

  • 是 / 否
  • 打开 / 关闭
  • 真 / 假

为此,C++ 提供了一个 bool 数据类型,它可以取 true(1)或 false(0)的值。

布尔值

布尔变量由 bool 关键字声明,只能取 truefalse 的值:

示例

bool isCodingFun = true;
bool isFishTasty = false;
cout << isCodingFun;  // 输出 1(true)
cout << isFishTasty;  // 输出 0(false)

从上面的示例中,您可以看出 true 值返回 1,false 返回 0。

但是,通过比较值和变量来返回布尔值更为常见(请参见下一页)。

C++ 布尔表达式

布尔表达式返回一个布尔值,要么是 1(true),要么是 0(false)。

这对于构建逻辑和找到答案很有用。

您可以使用比较运算符,例如大于(>)运算符,来判断表达式(或变量)是否为 true 或 false:

示例

int x = 10;
int y = 9;
cout << (x > y); // 返回 1(true),因为 10 比 9 更大

甚至更简单:

示例

cout << (10 > 9); // 返回 1(true),因为 10 比 9 更大

在下面的示例中,我们使用等于(==)运算符来评估一个表达式:

示例

int x = 10;
cout << (x == 10);  // 返回 1(true),因为 x 的值等于 10

示例

cout << (10 == 15);  // 返回 0(false),因为 10 不等于 15

现实生活示例

让我们考虑一个“现实生活示例”,在这个示例中,我们需要找出一个人是否足够年龄投票。

在下面的示例中,我们使用 >= 比较运算符来判断年龄(25)是否大于等于投票年龄限制,这个限制被设置为 18:

示例

int myAge = 25;
int votingAge = 18;

cout << (myAge >= votingAge); // 返回 1(true),意味着 25 岁的人可以投票!

很酷,不是吗?一个更好的方法(因为我们现在在进行中),是将上面的代码包装在 if...else 语句中,这样我们就可以根据结果执行不同的操作:

示例

如果 myAge 大于或等于 18,则输出“足够年龄投票!”。否则输出“不足年龄投票。”:

int myAge = 25;
int votingAge = 18;

if (myAge >= votingAge) {
  cout << "足够年龄投票!";
} else {
  cout << "不足年龄投票。";
}

// 输出:足够年龄投票!

布尔类型是所有 C++ 比较和条件的基础。

填写缺失部分以打印值 1(表示 true)和 0(表示 false):

bool isCodingFun = true;
bool isFishTasty = false;
cout << isCodingFun;
cout << isFishTasty;

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

标签:返回,头文件,cout,示例,C++,详解,false,true
From: https://www.cnblogs.com/xiaowange/p/18109496

相关文章

  • 详解 Protobuf 以及在 Go 中如何使用 gRPC
    什么是RPC?RPC指的是远程过程调用(RemoteProcedureCall),简单理解就是一个节点请求另一个节点提供的服务。假设有两台服务器A和B,一个部署在A服务器上的应用,想要调用B服务器上某个应用提供的函数/方法。但由于不在同一个内存空间,所以不能直接调用,而是需要通过网络来表达......
  • C++命名空间详解
    在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。#include<st......
  • C++从入门到精通——auto的使用
    auto前言一、auto类型别名思考二、auto简介三、auto的使用细则auto与指针和引用结合起来使用在同一行定义多个变量auto不能推导的场景auto不能作为函数的参数auto不能直接用来声明数组`lambda`表达式前言C++的auto关键字用于自动推导变量的类型,让编译器根据变量的......
  • C++基础夯实
     std::copystd::searchstd::back_inserterstd::equalmemcpy演示如何使用std::copy、std::search、std::back_inserter std::equal这四个方法。我们假设有两个向量,一个源向量source,一个目标向量destination。我们将首先使用std::copy方法将源向量中的元素复制......
  • 初探c++:string类的进阶运用
    1.begin()和end(),前一个指向字符串的第一个字符,第二个指向字符串的\0 strings=("helloworld"); string::iteratorit=s.begin(); while(it!=s.end()) { cout<<*it<<""; ++it; } cout<<endl;这是正向迭代器的经典应用如果要实现反向迭代器,就......
  • C++基础——选择结构与循环结构
    基础:选择语句☑️❌if语句if(a){//a判断表达式,如果a为真那就执行语句}if语句还可以与else结合使用if(a){//a判断表达式,如果a为真那就执行语句}elseif(b){//如果a为假,b为真那就执行语句}else{如果a和b都为假,那就执行该语句}swi......
  • Hive详解(5)
    Hive窗口函数案例需求:连续三天登陆的用户数据步骤:--建表createtablelogins( usernamestring, log_datestring)rowformatdelimitedfieldsterminatedby'';--加载数据loaddatalocalinpath'/opt/hive_data/login'intotablelogins;--......
  • 掌握ADB:详解操作命令及完整用法指南(二)
    前言ADB,全名AndroidDebugBridge,是Android提供的一个通用的调试工具,是一个C/S架构的命令行工具,通过这个工具,使得我们的PC能够和Android设备来进行通信。之前一篇文章我们介绍了adb安装以及一些adb的基础命令,本文我们将介绍一些我们在进行app自动化测试时经常使用到的命令。adb......
  • JMeter前置处理器-Beanshell前置处理器详解
    前言在JMeter中,前置处理器用于在发送HTTP请求之前执行特定的操作。Beanshell前置处理器是一种非常强大的前置处理器,它允许您使用Java语言编写脚本来实现各种复杂的逻辑。本文将介绍如何使用Beanshell前置处理器来执行自定义操作以增强性能测试。什么是Beanshell前置处理器?Bean......
  • 从基础入门到学穿C++(类和对象篇)【超详细】【一站式速通】
    类和对象C语言是一种面向过程的语言,C++和python、java一样都是一种面向对象的语言。面向对象编程(Object-OrientedProgramming,OOP)和面向过程编程(ProceduralProgramming)是两种不同的编程范式面向对象编程:强调的是将现实世界中的事物抽象成对象,并通过对象之间的交互来实现......