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

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.mfbz.cn/a/884832.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

X86下一文带你构建Apollo9.0运行环境(基于Ubuntu20.04避坑版)

X86下一文带你构建Apollo9.0运行环境基于Ubuntu20.04避坑版 前言准备安装基础软件1.安装Docker19.03安装Nvidia驱动安装配置Nvidia container toolkit 下载Apollo源码(笔者下载的是releases下9.0.0版本,大家可以参考)编译Apollo9.0下载资源包…

vue-cli,element-plus,axios,proxy

一、vue-cli vue-cli俗称vue脚手架,是vue官方提供的快速生成vue 工程化项目的工具。 1.官网:https://cn.vuejs.org/ 中文官网: https://cli.vuejs.org/zh/ 特点:基于webpack,功能丰富且易于扩展,支持创建vue2和vu…

对话总结:Scale AI的创始人兼CEO Alex Wang

AI的三大支柱 计算:主要由大公司如NVIDIA推动。算法:顶尖实验室如OpenAI主导。数据:Scale致力于推动数据进展。前沿数据的重要性 与人类智能相比较,前沿数据是AI发展的关键。互联网数据是机器与人类合作的结果。语言模型的发展 第一阶段:原始的Transformer论文和GPT的小规…

一书直接讲透自然语言处理《Getting Started with Google BERT_ Build and train》

《Getting Started with Google BERT: Build and Train》是一本面向初学者和中级读者的指南,旨在帮助他们理解和使用Google的BERT(Bidirectional Encoder Representations from Transformers)模型。BERT是近年来自然语言处理(NLP&…

Linux下的git开篇第一文:git的意义

目录 1.git版本控制器 2.git gitee&&github 3.Linux中gitee的使用 ( 三板斧 git add git commit -m " " git push ) 4.git log 查看之前的修改信息 (所有提交日志) 5.git status 查看工作目录与本地…

透传 vs 非透传|数据传输效率与安全性的权衡及应用指南

官方原文:一分钟搞懂透传和非透传的区别-成都纵横指控 在当今数字化时代,数据传输已经成为各行各业的关键环节。在数据通信和物联网应用中,"透传"和"非透传"是两个常见且重要的概念。了解它们的区别,对于选择合适的通信方式至关重要。 什么是…

【java】前端RSA加密后端解密

目录 1. 说明2. 前端示例3. 后端示例3.1 pom依赖3.2 后端结构图3.3 DecryptHttpInputMessage3.4 ApiCryptoProperties3.5 TestController3.6 ApiCryptoUtil3.7 ApiDecryptParamResolver3.8 ApiDecryptRequestBodyAdvice3.9 ApiDecryptRsa3.10 ApiCryptoProperties3.11 KeyPair3…

C++(Qt)软件调试---内存调试器Dr.Memory(21)

C(Qt)软件调试—内存调试器Dr. Memory(21) 文章目录 C(Qt)软件调试---内存调试器Dr. Memory(21)[toc]1、概述🐜2、安装Dr.Memory🪲3、命令行使用Dr.Memory🦗4、Qt Creator集成使用Dr.Memory&…

excel快速入门(二)

Excel的概念说明 文章目录 Excel的概念说明常见术语说明单元格/单元格区域活动单元格/单元格区域行或列单元格引用相对引用绝对引用混合引用 Excel的常见格式说明单元格格式数字格式 Excel 工作表编辑鼠标指针介绍1.白色十字状2.单向黑色箭头状3.双向单竖线箭头状4.双向双竖线箭…

AI新掌舵:智享AI直播系统:直播界的新浪潮还是真人主播的终结者?

AI新掌舵:智享AI直播系统:直播界的新浪潮还是真人主播的终结者? 在数字化浪潮的汹涌澎湃中,人工智能(AI)以其前所未有的速度渗透至各行各业,其中,直播领域正经历着一场前所未有的变革…

C# CS1612 尝试修改集合中值类型的情况

在C#中,发现尝试直接修改集合中值类型的中的值发生报错 提示“它不是变量”,通过官方索引的链接可知,尝试修改某一值类型,但是该值类型作为中间表达式的结果生成但不存储在变量中,会发生报错。 正确做法是将其赋值给局…

【湖南步联科技身份证】 身份证读取与酒店收银系统源码整合———未来之窗行业应用跨平台架构

一、html5 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><script type"text/javascript" src"http://51.onelink.ynwlzc.net/o2o/tpl/Merchant/static/js…

nginx 安装(Centos)

nginx 安装-适用于 Centos 7.x [rootiZhp35weqb4z7gvuh357fbZ ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.9.2009 (Core) Release: 7.9.2009 Codename: Core# 创建文件…

基于springboot vue网上摄影工作室系统设计与实现

博主介绍&#xff1a;专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的…

04 面部表情识别:Pytorch实现表情识别-表情数据集训练代码

总目录&#xff1a;人脸检测与表情分类 https://blog.csdn.net/whiffeyf/category_12793480.html 目录 0 相关资料1 面部表情识数据集2 模型下载3 训练 0 相关资料 面部表情识别2&#xff1a;Pytorch实现表情识别(含表情识别数据集和训练代码)&#xff1a;https://blog.csdn.n…

Linux系统安装和配置 VNC 服务器

文章目录 1.安装 GNOME 桌面环境2.安装 VNC 服务器&#xff08;tigervnc-server&#xff09;3.为本地用户设置 VNC 密码4.设置 VNC 服务器配置文件5.启动 VNC 服务并允许防火墙中的端口 1.安装 GNOME 桌面环境 [rootserver6 ~]# dnf groupinstall "workstation" -y成…

Linux——k8s组件

kubernetes 使用1.31.1 版本搭建集群核心组件&#xff0c;选择flannel 网络插件为整体集群的运行提供网络通信功能。 flannel 网络插件 kube-flannel kube-flannel-ds-9fgml 1/1 Running 1 (18m ago) 2d21h kube-flannel kube-flannel-ds-ghwbq …

blender设置背景图怎么添加?blender云渲染选择

Blender是一款功能强大的3D建模软件&#xff0c;它以流畅的操作体验和直观的用户界面而闻名。使用Blender&#xff0c;你可以轻松地为你的3D模型添加背景图片。 以下是具体的操作步骤&#xff1a; 1、启动Blender&#xff1a;首先&#xff0c;打开Blender软件。访问添加菜单&a…

jQuery——offset 和 position

获取/设置标签的位置数据 offset&#xff08;&#xff09;&#xff1a;相对页面左上角的坐标 position&#xff08;&#xff09;&#xff1a;相对于父元素左上角的坐标 本文分享到此结束&#xff0c;欢迎大家评论区相互讨论学习&#xff0c;下一篇继续分享jQuery中scroll的学…

好用的电容笔有哪些推荐?2024盘点五款高性价比平替电容笔!

近几年&#xff0c;平板电脑等电子设备已经成为我们学习、工作和创作的重要工具。而电容笔作为这些设备的重要配件&#xff0c;更是受到了广泛地欢迎。然而&#xff0c;苹果原装电容笔价格较高&#xff0c;对于很多用户来说&#xff0c;寻找一款高性价比的平替电容笔成为了他们…