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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yolo 自制数据集dect训练改进

上一文请看 Yolo自制detect训练-CSDN博客 简介 如下图&#xff1a; 首先看一下每个图的含义 loss loss分为cls_loss, box_loss, obj_loss三部分。 cls_loss用于监督类别分类&#xff0c;计算锚框与对应的标定分类是否正确。 box_loss用于监督检测框的回归&#xff0c;预测框…

蓝桥杯真题:成绩统计

这题思路简单&#xff0c;但是输出结果的位置容易出错&#xff0c;题目要求四舍五入&#xff0c;所以要用Math.round&#xff08;&#xff09;的方法

Python快速入门系列-7(Python Web开发与框架介绍)

第七章:Python Web开发与框架介绍 7.1 Flask与Django简介7.1.1 Flask框架Flask的特点Flask的安装一个简单的Flask应用示例7.1.2 Django框架Django的特点Django的安装一个简单的Django应用示例7.2 前后端交互与数据传输7.2.1 前后端交互7.2.2 数据传输格式7.2.3 示例:使用Flas…

解决GNU Radio+USRP实现OFDM收发在接收端存在误码问题

文章目录 前言一、OFDM 收发流程1、OFDM 收端流程2、OFDM 收端流程 二、问题所在1、find_trigger_signal 函数解读2、general_work 函数3、问题所在 三、修改源码四、运行结果1、频谱2、传输数据测试 五、调试小技巧六、资源自取 前言 在使用 GNU Radio 时使用官方例程搭建 GN…

git clone没有权限的解决方法

一般情况 git clone时没有权限&#xff0c;一般是因为在代码库平台上没有配置本地电脑的id_rsa.pub 只要配置上&#xff0c;一般就可以正常下载了。 非一般情况 但是也有即使配置了id_rsa.pub后&#xff0c;仍然无法clone代码的情况。如下 原因 这种情况是因为ssh客户端…

前端常用代码整理— js,jquery篇(3)

目录 1.判断是否是json字符串 2.获取当前网址 3.将文本复制到剪贴板 4.获取一个月的天数 5.展平数组 6.要修改getRandomItem函数以返回数组中的随机两个元素&#xff0c;可以尝试以下代码 1.判断是否是json字符串 const isJson str > {try {JSON.parse(str);return …

Java面试题(含答案)4.多线程与并发篇

Java多线程与并发编程是一个广泛而深入的主题&#xff0c;因此涵盖所有可能的面试题和答案是不切实际的。不过&#xff0c;我可以为您提供一些常见的Java多线程与并发编程面试题及其答案&#xff0c;以帮助您准备面试。 面试题1&#xff1a;什么是Java中的线程&#xff1f; 答…

uniapp项目--青年帮新闻项目

文章目录 uniapp项目--青年帮新闻项目1.项目提要2.实际代码 uniapp项目–青年帮新闻项目 1.项目提要 导航滚动实现滚动条消失&#xff0c;使用的效果是渗透。 /deep/ ::-webkit-scrollbar {width: 4px !important;height: 1px !important;overflow: auto !important;backgroun…

Python:文件读写

一、TXT文件读写 Python中用open()函数来读写文本文件&#xff0c;返回文件对象&#xff0c;以下是函数语法。 open(<name>, <mode>, <buffering>&#xff0c;<encoding)name&#xff1a;文件名。 mode&#xff1a;打开文件模式。 buffering&#xff1a;设…

通过 Cookie、Session 和 Spring 拦截器技术,实现对用户登录状态的持有和清理(一)

本篇博客对应“2.3 会话管理”小节 视频名称&#xff1a;会话管理 视频链接 什么是HTPP协议&#xff1f; HTTP&#xff0c;Hpyer Text Transfer Protocl&#xff1a;定义了浏览器怎样从&#xff08;万维网客户进程&#xff09;怎样向Web服务器&#xff08;万维网服务器&#…

vue 文件下载

1.返回路径下载 注: 针对一些浏览器无法识别的文件格式&#xff08;如pdf、xls、ppt&#xff09;。可以直接在地址栏上输入URL即可触发浏览器的下载功能。 情况1 //地址栏输入文件URLwindow.location.href URLwindow.open(URL) 注:该方式将下载逻辑放在后端处理&#xff0c…

Mysql的高级语句3

目录 一、子查询 注意&#xff1a;子语句可以与主语句所查询的表相同&#xff0c;但是也可以是不同表。 1、select in 1.1 相同表查询 1.2 多表查询 2、not in 取反&#xff0c;就是将子查询结果&#xff0c;进行取反处理 3、insert into in 4、update…

IO练习题

1&#xff1a;使用 dup2 实现错误日志功能 使用 write 和 read 实现文件的拷贝功能&#xff0c;注意&#xff0c;代码中所有函数后面&#xff0c;紧跟perror输出错误信息&#xff0c;要求这些错误信息重定向到错误日志 err.txt 中 #include <myhead.h>//文件IO实现文件拷…

实现offsetof宏以及交换一个整数二进制奇偶位的宏

目录 1. offsetof宏2. 交换奇偶位 1. offsetof宏 我们想用宏来实现offsetof函数,首先要了解这个函数的用法。 1.1 offsetof函数的介绍及用法 &#xff08;1&#xff09;功能&#xff1a;用来计算结构体中一个成员在该结构体中的相对起始位置的偏移量&#xff0c;单位是字节。 …

ClamAV:Linux服务器杀毒扫描工具

Clam AntiVirus&#xff08;ClamAV&#xff09;是免费而且开放源代码的防毒软件&#xff0c;软件与病毒码的更新皆由社群免费发布。ClamAV在命令行下运行&#xff0c;它不将杀毒作为主要功能&#xff0c;默认只能查出系统内的病毒&#xff0c;但是无法清除。需要用户自行对病毒…

每周编辑精选|免费使用 Sora 平替、在线运行 Python 基础教程、MCFEND 中国假新闻检测数据集上线

继 ChatGPT 后&#xff0c;OpenAI 又发布了爆炸级产品——Sora 文生视频模型&#xff0c;当其他模型还在努力突破几秒内的连贯性问题时&#xff0c;Sora 已经将视频时长拉到了 60s。不过&#xff0c;目前 Sora 模型仅对小部分研究人员和创意人士开放访问权限。 别担心&#xf…

linux 创建py文件自启动服务

1、新建Python文件 test.py文件内容 print("test service ") 2、新建启动文件 testservice.sh #!/bin/shpython3 test.py 3、新建启动服务 /usr/lib/systemd/system/testservice.service [Unit] Descriptiontestservice Afternetwork.target[Service] ExecSt…

C语言之位段

1.位段的声明 位段的声明和结构是类似的&#xff0c;有两个不同&#xff1a; 1.位段的成员必须是 int、unsigned int 或signed int 。 2.位段的成员名后边有一个冒号和一个数字。 比如&#xff1a; struct A {int _a:2;int _b:5;int _c:10;int _d:30; }; A 就是一个位段类型…

【上海大学计算机组成原理实验报告】二、数据传送实验

一、实验目的 了解在模型机中算术、逻辑运算单元的控制方法。学习机器语言程序的运行过程。通过人工译码&#xff0c;加深对译码器基本工作原理的理解。 二、实验原理 根据实验指导书的相关内容&#xff0c;本次实验所要用的CP226实验仪在手动方式下&#xff0c;运算功能通过…

LeetCode-热题100:160. 相交链表

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&…