当前位置: 首页 > news >正文

C语言深度解剖-关键字(6)

目录

1. 浮点型与零的比较:

1.1 推导:

1.2 实践:

总结:

理解强制类型转换:

指针与零比较

switch case 语句:

写在最后:


1. 浮点型与零的比较:

1.1 推导:

例:

	double a, b;fabs(a - b) < DBL_EPSILONfabs(a - 0.0) < DBL_EPSILONfabs(a) < DBL_EPSILON

如果有两个浮点数比较,

如果fabs(a - b) < DBL_EPSILON,

就证明a = b。

如果 b 等于零,就是和浮点数与零比较,

零也可以省略,

所以fabs(a) < DBL_EPSILON 就相当于a 与零比较。

1.2 实践:

例:

#include <stdio.h>
#include <float.h>
#include <math.h>int main()
{double a = 0.00001;if (fabs(a) < DBL_EPSILON){printf("a = 0");}else{	printf("a != 0");}return 0;
}

输出:

输出:a != 0

例2:

#include <stdio.h>
#include <float.h>
#include <math.h>int main()
{double a = 0.0000000000000001;if (fabs(a) < DBL_EPSILON){printf("a = 0");}else{	printf("a != 0");}return 0;
}

输出:

输出:a = 0

所以说,

为什么a != 0,因为a还不够小,

只要a 够小,就等于零了。

1.3 总结:

浮点数与零比较:

1. 浮点数存储的时候,是有精度损失的。 

2. 浮点数是不能直接用 == 比较的。

3. if (fabs(a - b) < DBL_EPSILON) { }

2. 理解强制类型转换:

强制类型转换只是改变我们对数据的看法,

并不会改变数据。

类型其实就是我们如何看待这段数据,

又或者说我们如何看待这段二进制序列,

因为数据就是以二进制的形式存到内存中。

3.指针与零比较

直接:

#include <stdio.h>int main()
{int a = 0;int* p = &a;if (p == NULL){;}return 0;
}

4. switch case 语句:

例:

#include <stdio.h>int main()
{int day = 1;switch (day) {case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期日\n");break;default:printf("bug!\n");break;} return 0;
}

这样就能根据输出打印星期了。

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果喜欢本文的话,欢迎点赞和评论,写下你的见解。

如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。

之后我还会输出更多高质量内容,欢迎收看。

相关文章:

C语言深度解剖-关键字(6)

目录 1. 浮点型与零的比较&#xff1a; 1.1 推导&#xff1a; 1.2 实践&#xff1a; 总结&#xff1a; 理解强制类型转换&#xff1a; 指针与零比较 switch case 语句&#xff1a; 写在最后&#xff1a; 1. 浮点型与零的比较&#xff1a; 1.1 推导&#xff1a; 例&am…...

[多线程进阶]CAS与Synchronized基本原理

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录: 1.CAS 1.1 什么是CAS? 1.2 CAS伪代码 1.3 CAS …...

【Linux系统编程】02:文件操作

文件IO 系统调用&#xff08;不带缓冲的IO操作&#xff09;库函数&#xff08;默认带用户缓冲的IO操作&#xff09; 一、非缓冲IO 系统调用&#xff1a;即为不带缓冲的IO 1.打开文件open 2.读取文件read NAMEread - read from a file descriptorSYNOPSIS#include <unist…...

华为OD机试 - 去除多余空格(Python)| 真题+思路+代码

去除多余空格 题目 去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。 条件约束: 不考虑关键词起始和结束位置为空格的场景;单词的的开始和结束下标保证涵盖一个完整的单词,即一个坐标对开…...

百趣代谢组学分享,补充α-酮酸的低蛋白饮食对肾脏具有保护作用

文章标题&#xff1a;Reno-Protective Effect of Low Protein Diet Supplemented With α-Ketoacid Through Gut Microbiota and Fecal Metabolism in 5/6 Nephrectomized Mice 发表期刊&#xff1a;Frontiers in Nutrition 影响因子&#xff1a;6.59 作者单位&#xff1a;…...

json对象和formData相互转换

前言 大家都知道&#xff0c;前端在和后台进行交互联调时&#xff0c;肯定避免不了要传递参数&#xff0c;一般情况下&#xff0c;params 在 get 请求中使用&#xff0c;而 post 请求下&#xff0c;我们有两种常见的传参方式&#xff1a; JSON 对象格式和 formData 格式&#x…...

【c++面试问答】常量指针和指针常量的区别

问题 常量指针和指针常量有什么区别&#xff1f; const的优点 在C中&#xff0c;关键字const用来只读一个变量或对象&#xff0c;它有以下几个优点&#xff1a; 便于类型检查&#xff0c;如函数的函数 func(const int a) 中a的值不允许变&#xff0c;这样便于保护实参。功能…...

Ubuntu18下编译android的ffmpeg经验

虽然按照网上的一些资料&#xff08;如&#xff1a;最简单的基于FFmpeg的移动端例子&#xff1a;Android HelloWorld_雷霄骅的博客-CSDN博客_android ffmpeg 例子&#xff0c;&#xff0c;编译FFmpeg4.1.3并移植到Android app中使用&#xff08;最详细的FFmpeg-Android编译教程…...

Spring Security in Action 第十三章 实现OAuth2的认证端

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;以实战为线索&#xff0c;逐步深入SpringSecurity相关知识相关知识&#xff0c;打造完整的SpringSecurity学习步骤&#xff0c;提升工程化编码能力和思维能力&#xff0c;写出高质量代码。希望大家都能够从中有所收获&#…...

本文章提供中国国界、国界十段线原始数据以及加载方法

本文章提供中国国界九段线原始数据和加载方法 1、中国国界 完整数据 包括十段线 中国国界线(完整版 包括十段线) 2、原始数据 中国国界十段线topojson格式数据.rar 中国国界线topjson数据 中国国界十段线svg格式数据.rar 中国国界线svg数据 中国国界十段线shp格式数据…...

一文带你搞懂,Python语言运算符

Python语言支持很多种运算符&#xff0c;我们先用一个表格为大家列出这些运算符&#xff0c;然后选择一些马上就会用到的运算符为大家进行讲解。 说明&#xff1a;上面这个表格实际上是按照运算符的优先级从上到下列出了各种运算符。所谓优先级就是在一个运算的表达式中&#x…...

JAVA集合专题4 —— Map

目录Map接口实现类的特点Map接口的常见方法Map六大遍历方式Map练习1code编程练习2code编程练习3思路codeMap接口实现类的特点 Map与Collection并列存在&#xff0c;是Map集合体系的顶级接口Map的有些子实现存储数据是有序的(LinkedHashMap)&#xff0c;有些子实现存储数据是无…...

二叉树进阶--二叉搜索树

目录 1.二叉搜索树 1.1 二叉搜索树概念 1.2 二叉搜索树操作 1.3 二叉搜索树的实现 1.4 二叉搜索树的应用 1.5 二叉搜索树的性能分析 2.二叉树进阶经典题&#xff1a; 1.二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;…...

牛客网Python篇数据分析习题(三)

1.现有一个Nowcoder.csv文件&#xff0c;它记录了牛客网的部分用户数据&#xff0c;包含如下字段&#xff08;字段与字段之间以逗号间隔&#xff09;&#xff1a; Nowcoder_ID&#xff1a;用户ID Level&#xff1a;等级 Achievement_value&#xff1a;成就值 Num_of_exercise&a…...

Java开发常见关键词集绵

一、关键词1&#xff1a; &#xff08;1&#xff09;RPC&#xff1a;远程过程调用&#xff08;Remote Procedure Call&#xff09;的缩写形式。远程调用的时候让人们觉得是本地调用。 &#xff08;2&#xff09;HTTP&#xff1a;超文本传输协议&#xff08;Hyper Text Transfer…...

解决idea出现的java.lang.OutOfMemoryError: Java heap space的问题

文章目录1. 复现问题2. 分析问题3. 解决问题4. 补充解决java.lang.OutOfMemoryError: PermGen space问题1. 复现问题 今天使用idea开发时&#xff0c;突然报出如下错误&#xff1a; Exception in thread "main" java.lang.OutOfMemoryError: Java heap spaceat org.…...

为什么子进程要继承处理器亲缘性?

请先考虑一个典型的程序为什么需要启动一个子进程。(当然资源管理器不算一个典型的程序) 这是因为手头的任务被分解为子任务&#xff0c;无论出于何种原因&#xff0c;这些子任务都被放入子流程中。例如&#xff0c;在实现多次遍历型编译器/链接器时&#xff0c;其中每次遍历都…...

【算法】高精度

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;不能只会思路&#xff0c;必须落实到代码上&#x1f43e; 文章目录前言一、高精度加法二、高精度减法三、高精度乘法四、高精度除法前言 ​ 高精度即很大很大的数&#xff0c;超过了 long long 的范围&…...

计算机网络-基本概念

目录 计算机网络-基本概念 互联网 Java的跨平台原理 ​编辑 C\C的跨平台原理 解释性语言的跨平台原理(python,js等) 客户端 vs 服务器 什么是协议&#xff1f; 网络互连模型 请求过程 计算机之间的通信基础 计算机之间的连接方式-网线直连(需要用交叉线&#xff0c;而…...

你评论,我赠书~【哈士奇赠书 - 13期】-〖Python程序设计-编程基础、Web开发及数据分析〗参与评论,即可有机获得

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4e…...

【设计模式】我终于读懂了代理模式。。。

&#x1f466;代理模式的基本介绍 1)代理模式&#xff1a;为一个对象提供一个替身&#xff0c;以控制对这个对象的访问。即通过代理对象访问目标对象,这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 2)被代理的对象可以是远程对象、创建…...

每天10个前端小知识 【Day 2】

&#x1f469; 个人主页&#xff1a;不爱吃糖的程序媛 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、CSDN内容合伙人&#xff0c;专注于前端各领域技术&#xff0c;成长的路上共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨系列专栏&#xff1a;前端…...

帮助中心在线制作工具推荐这4款,很不错哟!

根据用户咨询问题是否解决的情景&#xff0c;分为三个部分&#xff0c;首先帮助中心恰好有用户需要咨询的问题&#xff0c;用户可以通过点击相关问题即可解决自己的问题&#xff0c;其次&#xff0c;用户第一眼没有在帮助中心解决问题&#xff0c;有个搜索框&#xff0c;用户的…...

rabbitMQ相关文章汇总

RabbitMQ五种工作模式&#xff1a; https://blog.csdn.net/weixin_41882200/article/details/117128590?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167625223516800182771874%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id1…...

【C++】异常

&#x1f308;欢迎来到C专栏~~异常 (꒪ꇴ꒪(꒪ꇴ꒪ )&#x1f423;,我是Scort目前状态&#xff1a;大三非科班啃C中&#x1f30d;博客主页&#xff1a;张小姐的猫~江湖背景快上车&#x1f698;&#xff0c;握好方向盘跟我有一起打天下嘞&#xff01;送给自己的一句鸡汤&#x1…...

@Validated注解不生效问题汇总

Validated注解不生效问题汇总 文章目录Validated注解不生效问题汇总背景&#xff1a;一&#xff1a;可能原因原因1&#xff1a;原因2&#xff1a;原因3&#xff1a;原因4&#xff1a;二&#xff1a;补充全局异常对validation的处理背景&#xff1a; 项目框架应用的是validatio…...

华科万维C++章节练习2_4

题目&#xff1a;编写程序&#xff0c;从键盘输入一个字符&#xff0c;然后在屏幕上输出该字符开头的连续3个字符以及对应ASCII码。 输出格式请参看&#xff1a; 请输入一个字符>>A 字符 ASCII码 A 65 B 66 C 67 请按任意键继续. . . 请直接…...

17万字数字化医院信息化建设大数据平台建设方案WORD

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 目录 第1章 医院信息化概述 1.…...

Android 11系统签名修改

Android OS 映像在两个地方使用加密签名&#xff1a;映像中的所有 .apk 文件都必须经过签名。Android 软件包管理器通过下列两种方式使用 .apk 签名&#xff1a;更换应用时&#xff0c;必须使用与旧应用相同的密钥对其签名&#xff0c;才能存取旧应用的数据。无论是通过覆盖 .a…...

亚马逊、沃尔玛卖家自养号退款经验和测评技术

今天给大家介绍下在做亚马逊、沃尔玛退款自养号中的经验&#xff0c;众所周知&#xff0c;自养号最重要的是养号的环境&#xff0c;包括系统的纯净度&#xff0c;下单的信用卡以及其他的一些细节。 环境系统市面上有很多&#xff0c;鱼龙混杂&#xff0c;比如什么lumi&#xf…...

wordpress自带主题有什么用/常德seo公司

使用基于域名的虚拟主机配置是比较流行的方式&#xff0c;可以在同一个IP上配置多个域名并且都通过80端口访问。 (1) 在网卡 eth0的第五个接口上配置 192.168.1.215 这个地址&#xff1a; (2) 配置/etc/hosts文件&#xff0c;192.168.1.215 对应的域名如下&#xff1a; 做ping测…...

婚纱摄影网站设计模板/百度收录官网

ngx_connection_t结构体 //服务器的被动连接struct ngx_connection_s {//连接未使用时候,data域充当连接链表中的next指针.//当连接被使用时候,data域的意义由模块而定.void *data;//连接对应的读事件ngx_event_t *read;//连接对应的写事件ngx_event_t …...

无锡网站设计制作/长沙官网seo技术

在学习了两种利用php.exe来运行php文件方法后&#xff0c;我们还有一些需要特别注意的地方。在我们利用php.exe来运行php文件的同时&#xff0c;我们还可以输入一系列参数来达到不同的效果。下面我们就来一一介绍这些参数。-s(该选项不能和 -r 参数同时使用)显示有语法高亮色彩…...

做文献ppt模板下载网站/海外推广渠道都有哪些

今天修改了一下自己以前写的一些代码&#xff0c;属于味道特别坏的那种。这些代码中主要是利用VBA进行Word和Excel识别相关的函数&#xff0c;在修改过程中&#xff0c;逐渐发现了一些问题&#xff0c;越来越觉得脸红。现在总结一下&#xff1a;1&#xff1a;在进行首字下沉的识…...

网站开发颜色代码/搜索引擎调词软件

那到底什么是数据分析呢? 说说数据哥的理解&#xff1a;数据分析是基于商业目的&#xff0c;有目的的进行收集、整理、加工和分析数据&#xff0c;提炼有价信息的一个过程。 其过程概括起来主要包括&#xff1a;明确分析目的与框架、数据收集、数据处理、数据分析、数据展现和…...

网站制作策划建设大纲/搜索引擎入口google

文章目录一、概念1.1、事务1.2、手动提交&#xff1a;autocommit01.3、自动提交&#xff1a;autocommit1二、设置 autocommit 的开启和关闭&#xff1a;2.1、查看当前自动提交状态&#xff1a;2.2、临时设置方法&#xff1a;2.3、永久设置方法&#xff1a;三、spring 底层对自动…...