GESP等级考试C++二级-数学函数

server/2024/10/18 14:15:41/

C++的cmath库中有丰富的数学函数,通过这些函数可以进行相应的数学计算。

1 cmath库的导入

通过import指令导入cmath库,代码如图1所示。

图1 导入cmath库的代码

2 abs()函数

abs()函数用来获取指定数的绝对值,代码如图2所示。

图2 abs()函数的代码

从图2中可以看到,abs()函数可以对int、float和double等类型进行操作。

相关链接1 非负数的绝对值是它的本身,负数的绝对值是它的相反数。

3 sqrt()函数

sqrt()函数用来取指定数的平方根,返回值是非负数,代码如图3所示。

图3 sqrt()函数的代码

图3的第7-8行代码中可以看出,sqrt()函数可以对int、float和double类型进行操作;如果指定数是负数,第9行所示,此时输出的是“nan”,是“not a number”的简写,表示非数值的特殊值。

4 max()、min()函数

max()和min()函数用来获取两个数中的最大值和最小值,代码如图4所示。

图4 max()和min()函数的代码

从图4中可以看到,max()和min()函数可以对int、float和double类型进行操作。

注意1 max()和min()函数只能比较两个数,而不能比较两个以上的数字;

注意2 max()和min()函数比较的两个数的类型必须相同。

5 rand()函数

rand()函数的作用是产生0-32767之间的随机数,代码如图5所示。

图5 rand()函数的代码

图5中所示的代码通过for循环产生10个随机整数,结果如图6所示。

图6 10个随机整数

但是,每次重新运行图5所示的程序后,产生的都是图6所示的这10个随机数。要想每次运行程序产生不同的10个随机数,就需要通过srand()函数设置不同的“种子”,代码如图7所示。

相关链接2 不同的“种子”产生不同的随机数

图7 srand()函数的代码

其中,第8行代码中,srand()函数的参数time(NULL)的作用是获取程序运行时的时间,因为每次运行程序的时间不同,因此“种子”也不同,产生的随机数也不同。

注意3 time()函数在ctime头文件中定义,运行图7所示的代码需要导入ctime。

6 真题解析

202409 判断题

答案:×

解析:rand()函数的作用是产生随机数,数值大小是随机的。

202403 判断题

答案:×

解析:sqrt()函数的作用是求指定数的平方根,abs()函数的作用是求指定数的绝对值,满足题目所说条件的数处理0之外,还有1。

202312 判断题

答案:×

解析:srand()函数的作用是设置种子,根据题意是设置种子后,调用rand()产生两个随机数,那么这两个随机数不相同,如果执行srand(0)后,执行rand()产生随机数a;之后再执行srand(0),再执行rand()产生随机数b,此时a和b相同。


http://www.ppmy.cn/server/125265.html

相关文章

RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用

以下是英特尔 RealSense、Stereolabs ZED 和奥比中光Astra几款相机的详细对比,包括参数、性能以及二次开发等支持,附带代码示例。 详细信息对比和二次开发示例 1. 英特尔 RealSense (例如 D435/D455) 深度技术:立体视觉 红外投影分辨率&a…

react crash course 2024(9) proxying

在 proxy:{/api:{target:"http://localhost:8000",changeOrigin:true,rewrite:(path) > path.replace(/^\/api/,)}}

unity CustomEditor的基本使用

CustomEditor用来自定义脚本的编辑面板 其基本使用方式 先准备一个类,继承MonoBehaviour 定义一个变量,然后准备一个类,继承自Editor 在CustomEditor中指定要去修改的类型,通过serializedObject.FindProperty(变量名)的方式来获…

滚雪球学MySQL[2.1讲]:基础SQL操作

全文目录: 前言2. 基础SQL操作2.1 数据库与表的基本操作创建与删除数据库创建、修改与删除表数据类型详解 2.2 基本数据操作插入数据(INSERT)查询数据(SELECT)更新数据(UPDATE)删除数据&#xf…

Pygame中Sprite实现逃亡游戏5

在《Pygame中Sprite实现逃亡游戏4》中通过碰撞检测实现了玩家、飞龙与飞火之间的碰撞处理,基本上实现了逃亡功能。最后,实现这个逃亡游戏中文字提示的功能。 1 操作提示 当进入游戏后,会在玩家下方的位置给出操作提示,如图1所示…

实战OpenCV之图像滤波

基础入门 图像滤波是数字图像处理中一种非常重要的技术,主要用于图像噪声去除、图像平滑、突出图像特征,或者进行图像风格的转换。它通过数学运算对图像中的像素值进行修改,以达到特定的处理目的。图像滤波可以分为两大类,分别为:线性滤波、非线性滤波。 线性滤波器通过一…

SDK(1.1note)

什么是SDK 控制台程序(Console User interface)CUI 对于控制台程序,通用,也就是平台无关 图形界面系统 可是如果你想要播放一个音乐,C语言有嘛? 所以需要平台开发,不可以移植性 平台会提供…

uniapp vue3 使用echarts绘制图表 柱状图等

部分内容AI总结 Uniapp 使用 Vue3 和 ECharts 组件的总结 在 Uniapp 中使用 Vue3 和 ECharts 进行数据可视化是一种常见需求。以下将详细介绍如何在 Uniapp 项目中安装 ECharts 插件、在 main.js 中挂载 ECharts 以及一个简单的示例 demo。 1. 下载 ECharts 插件 在 Uniapp 中…