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,关注后即可获取最新文章推送

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

C++ 数学函数、头文件及布尔类型详解的更多相关文章

  1. python基础语法_python中的布尔类型详解

    转自:http://www.cnblogs.com/521yywzyzhc/p/6264885.html   我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是 ...

  2. Boolean 布尔类型详解

    这是最简单的类型.boolean 表达了真值,可以为 TRUE 或 FALSE.两个都不区分大小写. 要明确地将一个值转换成 boolean,用 (bool)或者 (boolean) 来强制转换.但是 ...

  3. C语言的头文件和宏定义详解

    原文链接:https://blog.csdn.net/abc_12366/article/details/79155540

  4. 函数-头文件//Calculator.h

    // // Calculator.h // 函数-头文件 // // Created by zhangxueming on 15/6/2. // Copyright (c) 2015年 zhangxu ...

  5. 【CUDA】Windows 下常用函数头文件

    CUDA 函数 头文件 __global__ __device__ #include <cuda_runtime.h> threadIdx #include <device_laun ...

  6. C++之string类型详解

    C++之string类型详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个泛型类出现,他集成的操作函 ...

  7. C++11 并发指南六(atomic 类型详解四 C 风格原子操作介绍)

    前面三篇文章<C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)>.<C++11 并发指南六( <atomic> 类型详解二 std::at ...

  8. [概念] js的函数节流和throttle和debounce详解

    js的函数节流和throttle和debounce详解:同样是实现了一个功能,可能有的效率高,有的效率低,这种现象在高耗能的执行过程中区分就比较明显.本章节一个比较常用的提高性能的方式,通常叫做&qu ...

  9. js课程 1-3 Javascript变量类型详解

    js课程 1-3  Javascript变量类型详解 一.总结 一句话总结:js对象点(属性方法),json对象冒号(属性方法).属性和方法区别只有一个括号. 1.json对象中的函数的使用? 函数名 ...

  10. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

随机推荐

  1. 【LeetCode哈希表】前k个高频词,利用哈希表+vector进行排序操作

    前k个高频词 https://leetcode.cn/problems/top-k-frequent-words/ 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词. ...

  2. 如何设计一个高性能的图 Schema

    本文整理自青藤云安全工程师--文洲在青藤云技术团队内部分享,分享视频参考:https://www.bilibili.com/video/BV1r64y1R72i 图数据库的性能和 schema 的设计 ...

  3. 想做大模型开发前,先来了解一下MoE

    为了实现大模型的高效训练和推理,混合专家模型MoE便横空出世. 大模型发展即将进入下一阶段但目前仍面临众多难题.为满足与日俱增的实际需求,大模型参数会越来越大,数据集类型越来越多,从而导致训练难度大增 ...

  4. opencv库图像基础2-python

    opencv库图像基础2-python 图像的简单变换 先导入库 import cv2 import matplotlib.pyplot as plt import numpy as np 1.图像的 ...

  5. Alertmanager钉钉告警

    一.部署alertmanager 1.1 创建目录 mkdir -p /deploy/app/alertmanager/config chmod -R 777 /deploy/app/alertman ...

  6. 读书笔记:CSAPP 11章 网络编程

    深入理解计算机系统 第11章 本章代码:Index of /afs/cs/academic/class/15213-f15/www/code/22-netprog2 其中包含本章课本示例代码,测试 T ...

  7. 新零售SaaS架构:什么是线上商城系统?

    零售商家为什么要建设线上商城 传统的实体门店服务范围有限,只能吸引周边500米内的消费者.因此,如何拓展服务范围,吸引更多消费者到店,成为了店家迫切需要解决的问题. 缺乏忠实顾客,客户基础不稳,往往是 ...

  8. hesitation 单词学习 犹豫 hes 就是 her 粘 助记单词 here

    hesitation 单词学习 犹豫 hes 就是 her 粘 助记单词 here hes + itation(ite + ate + ion) hesitation 美: [ˌhezɪˈteɪʃ(ə ...

  9. [转] vscode C/C++ 插件预定义环境变量(linux)

    原文 假设: 你当前编辑的文件是: /home/your-username/your-project/folder/file.ext /home/your-username/your-project ...

  10. 3DCAT+上汽奥迪:打造新零售汽车配置器实时云渲染解决方案

    在 5G.云计算等技术飞速发展的加持下,云渲染技术迎来了突飞猛进的发展.在这样的背景下,3DCAT应运而生,成为了业内知名的实时云渲染服务商之一. 交互式3D实时云看车作为云渲染技术的一种使用场景,也 ...