11.C++程序中的常用函数

news2024/12/26 10:34:53

我们将程序中反复执行的代码封装到一个代码块中,这个代码块就被称为函数,它类似于数学中的函数,在C++程序中,有许多由编译器定义好的函数,供大家使用。下面就简单说一下,C++中常用的函数。

1.sizeof

sizeof函数用于获取数据的类型或者是变量占多少内存,

#include <iostream>
using namespace std;
int main() {

	int num = 255;

	cout << "int:      " << sizeof(int) << endl;    //int:      4
	cout << "int:      " << sizeof(num) << endl;    //int:      4
	cout << "float:    " << sizeof(float) << endl;  //float:    4
	cout << "bool:     " << sizeof(bool) << endl;   //bool:     1
	cout << "char:     " << sizeof(char) << endl;   //char:     1
	cout << "short:    " << sizeof(short) << endl;  //short:    2

	cout << "long:     " << sizeof(long) << endl;     //long:     8
	cout << "long long:" << sizeof(long long) << endl; //long long:8
	cout << "double:   " << sizeof(double) << endl;   //double:   8

	cout << "string:   " << sizeof(string) << endl;   //string:   32



}

执行结果:

2.取最大值(max),最小值(min)函数

#include <iostream>
using namespace std;
int main() {

	cout << max(100.1, 111.1);  //111.1
	cout << endl;
	cout << max(233, -9);    //233
	cout << endl;
	cout << min(2.9, 0.2); //0.2
	cout << endl;
	cout << min(-100.0, -0.2); //-100
}

 

从上面可以看出来,max函数,是取两个数中的大值,min是取两个数中的小值。

3. 取整( 四舍五入取整round, 向上取整ceil, 向下取整floor,向0取整 trunc)

#include <iostream>
#include <math.h> //需要包含头文件
using namespace std;

int main() {

	float num = 100.65;
	cout << "ceil== " << ceil(num) << endl; //向上取整		 
	cout << "floor== " << floor(num) << endl; //向下取整
	cout << "round== " << round(num) << endl; //四舍五入取整
	cout << "trunc== " << trunc(num) << endl; //向0方向取整


}

4.取绝对值(整数abs,小数fabs)

#include <iostream>
#include <math.h> //需要包含头文件
using namespace std;

int main() {

	float num = -100.65;
	cout << "fabs== " << fabs(num) << endl; //小数取绝对值
	int i=-10;	 
	cout << "abs== " << abs(i) << endl; //整数取绝对值


}

以上这些是C++的标准函数,还有一些是其它库私有的,比如 最大公因数gcd,最小公倍数lcm等就不是C++的标准库函数,只能在一些特定的平台下使用。

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

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

相关文章

Perceptually Optimized Deep High-Dynamic-RangeImage Tone Mapping

Abstract 我们描述了一种深度高动态范围&#xff08;HDR&#xff09;图像色调映射算子&#xff0c;该算子计算效率高且感知优化。 我们首先将 HDR 图像分解为归一化拉普拉斯金字塔&#xff0c;并使用两个深度神经网络 (DNN) 根据归一化表示估计所需色调映射图像的拉普拉斯金字…

Mybatis缓存机制(图文并茂!)

目录 一级缓存 需求我们在一个测试中通过ID两次查询Monster表中的信息。 二级缓存 案例分许(和上述一样的需求) EhCache第三方缓存 在了解缓存机制之前&#xff0c;我们要先了解什么是缓存&#xff1a; ‌缓存是一种高速存储器&#xff0c;用于暂时存储访问频繁的数据&…

利用大模型改进知识图谱补全的研究

人工智能咨询培训老师叶梓 转载标明出处 尽管现有的基于描述的KGC方法已经利用预训练语言模型来学习实体和关系的文本表示&#xff0c;并取得了一定的成果&#xff0c;但这些方法的性能仍然受限于文本数据的质量和结构的不完整性。 为了克服这些限制&#xff0c;中国科学技术…

PG高可靠模拟

模拟延迟 主库故障&#xff0c;备库尝试切换为主库

9.29 LeetCode 3304、3300、3301

思路&#xff1a; ⭐进行无限次操作&#xff0c;但是 k 的取值小于 500 &#xff0c;所以当 word 的长度大于 500 时就可以停止操作进行取值了 如果字符为 ‘z’ &#xff0c;单独处理使其变为 ‘a’ 得到得到操作后的新字符串&#xff0c;和原字符串拼接 class Solution { …

MySQL - 运维篇

一、日志 1. 错误日志 2. 二进制日志 3. 查询日志 记录了所有的增删改查语句以及DDL语句 4. 慢查询日志 二、主从复制 1. 概述 2. 原理 3. 搭建 三、分库分表 1. 介绍 2. Mycat概述 3. Mycat入门 4. Mycat配置 5. Mycat分片 6. Mycat管理及监控 四、读写分离 1. 介绍 2. 一…

【ADC】使用运算放大器驱动 SAR 型 ADC 时的线性输入范围

概述 本文学习于TI 高精度实验室课程&#xff0c;总结使用运算放大器驱动 SAR ADC 时的注意事项。具体包括&#xff1a;了解运算放大器共模范围和输出摆幅限制如何影响 SAR ADC 性能&#xff0c;研究运算放大器设计技术以避免共模和输出摆幅限制&#xff0c;讨论轨到轨放大器与…

PCB敷铜敷不了相同网络的线怎么办?

图片上的情况就是今天需要讲的内容&#xff0c;可以看出出来的线头是GND,敷的铜也是GND但是相同网络就是不能连在一起。 解释&#xff1a; 这是因为我们敷铜的时候属性选的是连接相同的net,如图所示&#xff1a; 解决办法&#xff1a; 只需要设置改为相同的Object就可以了&…

[Linux#60][HTTPS] 加密 | 数字指纹 | 详解HTTPS工作方案 | CA认证

目录 一.预备知识 1. 什么是HTTPS&#xff1f; 2. HTTP与HTTPS的区别 3. 什么是加密&#xff1f; 4. 常见的加密方式 4.1 对称加密 4.2 非对称加密 4.3 数据摘要与数据指纹 4.4 数字签名 二. HTTPS的工作方案 1 方案一&#xff1a;对称加密 2 方案二&#xff1a;非…

图像增强论文精读笔记-Deep Retinex Decomposition for Low-Light Enhancement(Retinex-Net)

1. 论文基本信息 论文标题&#xff1a;Deep Retinex Decomposition for Low-Light Enhancement 作者&#xff1a;Chen Wei等 发表时间和期刊&#xff1a;2018&#xff1b;BMVC 论文链接&#xff1a;https://arxiv.org/abs/1808.04560 2. 研究背景和动机 低光照条件下拍摄的…

LLM工程师启航:生成式AI简明教程

编者按&#xff1a; 大模型发展了近两年&#xff0c;Baihai IDP公众号也分享了近百篇LLM各环节的技术洞察&#xff0c;有前沿探讨、有落地实践、有应用经验。但回头来看&#xff0c;我们似乎从来没有认真、从0开始探讨过LLM的基本原理。 最近&#xff0c;一些企业客户和伙伴来询…

【IP限流】⭐️通过切面实现无校验保护接口的防刷逻辑

目录 &#x1f378;前言 &#x1f37b;一、实现方法 &#x1f37a;二、伪代码实现 &#x1f379;三、章末 &#x1f378;前言 小伙伴们大家好&#xff0c;上次写了一篇文章记录了最近自己装台式电脑中遇到的问题&#xff0c;以及整体的安装步骤和本地的配置选择&#xff0c…

【JavaEE初阶】网络原理

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 ⽹络互连 IP地址 端口号 协议 协议分层 优势 TCP/IP 五层网络模型 数据在网络通信中的整体流程 封装和分用 封装 分用 ⽹络互连 随着时代的发展&#xff0c;越来越需…

【PyTorch】生成对抗网络

生成对抗网络是什么 Generative Adversarial Nets&#xff0c;简称GAN GAN&#xff1a;生成对抗网络 —— 一种可以生成特定分布数据的模型 《Recent Progress on Generative Adversarial Networks (GANs): A Survey》 《How Generative Adversarial Networks and Its Varian…

“卷”智能, 从高质量算力开始

算力即国力&#xff0c;这已是产业共识。 当人工智能浪潮席卷全球之际&#xff0c;大家深刻感受到发展算力产业的重要性和紧迫性&#xff0c;高质量的人工智能算力已经与国家竞争、产业升级和企业转型息息相关。 去年&#xff0c;《算力基础设施高质量发展行动计划》的颁布&a…

数据库软题1-数据模型+数据库三级模式两级映像

一、数据模型 (一)常见的数据模型 题1-二维表-关系模型 二、三级模式两级映像 (一) 外模式/模式/内模式 <>视图/基本表/文件 题1-三级模式与数据库的三对应 题2-三级模式与数据库的三对应 题3-视图是虚拟表 解析&#xff1a;视图是从一个或几个基本表&#xff08;或视…

Spring+Quartz定时任务集群及其实现

原文写的不全执行代码不成功&#xff0c;经我修改后可以正常执行。 原文链接&#xff1a;https://blog.csdn.net/qq_22193961/article/details/137743746 Quartz 是一个开源的作业调度框架&#xff0c;它完全由 Java 写成&#xff0c;并设计用于 J2SE 和 J2EE 应用中。它提供…

C++学习9.26

1、 1、什么是虚函数&#xff1f;什么是纯虚函数&#xff1f; 虚函数就是在基类中声明为 virtual的成员函数&#xff0c;允许在派生类中重写。 纯虚函数就是一个没有函数体额虚函数&#xff0c;在类声明中使用0来特指它是纯虚函数 2、基类为甚么要虚析构函数&#xff1f; 虚…

CC-LINK IE Field Basic通讯设置

一、设备简介 硬件&#xff1a;R08EN、FR-E840-EPB&#xff1b; 软件&#xff1a;GX Works3、FR Configurator2&#xff1b; 二、硬件展示 三、PLC侧参数设置 1.登录配置文件&#xff08;配置文件前期博文已经分享了&#xff0c;自行下载&#xff09; 2.导航→参数→模块参数…

大端、小端区分与判断

大小端的判断是根据系统如何存储二进制数据来判断的 大端顾名思义&#xff0c;以数据的高位做开端的操作系统、小端也是以数据的低位做开端的操作系统 用最简单的例子&#xff1a; 对于数据0x01来说&#xff0c;高位为0低位为1&#xff0c;转十进制&#xff1a; 0x01 0 * 1…