C语言典型例题19

news2024/11/17 2:37:01

《C程序设计教程(第四版)——谭浩强》


例题2.7 检查浮点型数据的舍去误差

C语言知识:

浮点数在C语言用有两个类型,有float和double类型,其中double类型的数据精度更高


解题思路:

可以将一个double类型的数据和float类型的数据输入,观察他们的输出情况,从而判断他们的舍去误差

代码:

//《C程序设计教程(第四版)——谭浩强》
//例题2.7 检查浮点型数据的舍去误差

//C语言知识:浮点数在C语言用有两个类型,有float和double类型,其中double类型的数据精度更高
//解题思路:可以将一个double类型的数据和float类型的数据输入,观察他们的输出情况,从而判断他们的舍去误差

#include <stdio.h>
int main()
{
	float a;
	double b;
	
	printf("请输入一个浮点数a,用于判断float类型的误差:\n");
	scanf("%f",&a);
	printf("请输入一个浮点数b,用于判断double类型的误差:\n");
	scanf("%lf",&b);//读取 double 类型的输入(注意 %lf)
	
	printf("float类型的数据a的输出结果为:\n%f\n",a);
	printf("double类型的数据b的输出结果为:\n%lf\n",b);
	
	return 0;
}

运行过程:

代码运行过程中遇到的问题:

1.scanf格式化符号:在读取double类型的变量时,您使用了%f ,这是不正确的,应该使用 %lf。
2.输出格式:虽然%f在 printf 中是正确的,但通常打印 double 类型的变量时应该使用%lf来强调其类型。
3.浮点数精度:您可能想要展示浮点数的精度误差,而仅仅打印这些数字可能不足以体现。

// 额外:演示浮点数的误差
printf("\n浮点数在计算机内部的存储及其误差示例:\n");
printf("a + 1.0f = %f\n", a + 1.0f);
printf("b + 1.0 = %lf\n", b + 1.0);

4.单精度浮点数变量,只能提供6~7位有效数字,第7位之后的数字不起作用,后面的几位被忽略了。

5.C编译系统把所有浮点数常量都按照双精度处理,分配8字节,这是为了在运算时保持较高的精度。如果不想把浮点型常量按照双精度处理,可以在数值后面加字母f或者F,这样编译系统就会把他们当成单精度浮点数处理,分配4字节。这样,数值范围和有效位数都减小了。

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

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

相关文章

城市运管服平台:智慧城市的神经中枢

“城市运行管理服务平台”&#xff08;简称“城市运管服平台”&#xff09;作为现代城市治理的智慧核心&#xff0c;正以前所未有的方式重塑着城市管理与服务的面貌。本文旨在深度解析城市运管服平台的内涵、运作机制及其对推动智慧城市发展的重要意义。 城市运管服平台&#…

视频超压缩保持质量 ffmpeg

参考&#xff1a; https://x.com/mortenjust/status/1817991110544744764 基于 FFMpeg 的 H264 压缩标准&#xff0c;实现压缩 90% 的视频大小 在线体验地址&#xff1a; https://tools.rotato.app/compress ffmpeg命令执行 ffmpeg -i "C:\Users\loong\Downloads\屏幕录…

Vidu视频生成工具全球上线,注册即刻体验

生数科技&#xff0c;这家成立于2023年3月的年轻企业&#xff0c;其核心团队成员来自清华大学人工智能研究院。首席科学家朱军教授&#xff0c;曾在贝叶斯机器学习和多模态大模型领域取得多项原创性成果。Vidu的核心技术U-ViT架构&#xff0c;是全球首个将Diffusion与Transform…

# mongodb_基础到进阶 -- MongoDB 快速上手(四)

mongodb_基础到进阶 – MongoDB 快速上手&#xff08;四&#xff09; 一、MongoDB &#xff1a;文章评论 需求&表结构&技术选型 1、文章评论&#xff1a;需求分析 1&#xff09;参考某头条的文章评论业务&#xff0c;文章示例参考&#xff1a;早晨空腹喝水&#xff…

功能强大的图片/pdf识别成文字的工具Umi-OCR

一、工具概述 操作系统&#xff1a;支持windows、Linux使用方法&#xff1a;图形化、命令行、http接口 二、功能特性 三、部署方式 1、windows 下载地址&#xff1a;Umi-OCR_文字识别工具 2、linux 推荐使用docker部署 》下载 Dockerfile mkdir Umi-OCR-Docker cd Umi-OC…

Overlay网络

Overlay 介绍 Overlay网络是将已有的物理网络&#xff08;Underlay网络&#xff09;作为基础&#xff0c;在其上建立叠加的逻辑网络&#xff0c;实现网络资源的虚拟化。 传统网络带来了以下一些问题&#xff1a; ● 虚拟机规模受 网络规格限制在传统二层网络环境下&#xff0…

某“新一线城市“前端面试,纯纯被恶心到了

一.起因 在boss上刷到的一个小小厂&#xff0c;收大四全年实习生(web前端)&#xff0c;因为离家乡比较近&#xff0c;而且双非一本的学历以及入坑的时间没有太长(前端部分不到一年)&#xff0c;想去那里看看形势&#xff0c;要求是笔试面试&#xff0c;当场给是否录用结果&…

WPS@文字文档插入的表格,对单元格填充底纹颜色时,有字的地方就填充不上 ,空白。

背景 在创建的WPS文字文档中&#xff0c;插入了一个表格&#xff0c;对表格的某些单元格需要填充底纹颜色 问题 问题如标题&#xff0c;“文字文档插入的表格&#xff0c;对单元格填充底纹颜色时&#xff0c;有字的地方就填充不上 &#xff0c;空白”&#xff0c;直观如下图 解…

【Linux】-----进度条小程序

目录 前言 基本知识 Ⅰ、回车和换行 Ⅱ、缓冲区 两个有意思的现象 简单定义 刷新缓冲区 简易倒计时程序 进度条代码 多文件下makefile写法 一代(无任何场景) procs1.h代码 procs1.c代码 主函数main1.c 一代运行结果&#xff1a; 二代 (搭配下载场景) procs2.c代…

Qt Creator使用git管理代码

1.在GitHub中新建仓库&#xff0c;设置好仓库名后&#xff0c;其它的设置默认即可。 2.打开git bash&#xff0c;输入以下命令&#xff1a; git config --global user.name "xxxxx" #设置你的GitHub用户名 git config --global user.email "xxxxxxxxx.…

大厂linux面试题攻略四之Linux网络服务(二)

五、Linux网络服务-Apache优化 1.请写出工作中常见的Apache优化策略 Apache服务器优化是提升网站响应速度和稳定性的重要手段。在工作中&#xff0c;常见的Apache优化策略包括以下几个方面&#xff1a; 1. 启用压缩技术 Gzip压缩&#xff1a;使用Gzip压缩技术可以减少服务器…

免费【2024】springboot 宠物医院微信小程序的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

Python(关于属性和类详细代码解释)

动态绑定属性 class Student:# 类属性&#xff1a;定义在类中&#xff0c;方法外的变量school 北京xxx教育print(type(school)) # 定义在类里面所以属性不变# 类属性初始化方法def __init__(self, xm, age): # xm,age是方法的参数&#xff0c;是局部变量&#xff0c;xm,age…

解决Centos不支持docker命令行tab提示问题!!!

一、CentOS不支持Docker Tab提示 在使用CentOS操作系统时&#xff0c;有些用户可能会遇到不能自动补全Docker命令的问题。这是因为CentOS默认不支持Docker Tab提示功能&#xff0c;需要手动配置才能实现。在这篇科普文章中&#xff0c;我们将介绍如何解决这个问题&#xff0c;…

Springer旗下中科院2区TOP,国人优势大!

关注GZH【欧亚科睿学术】&#xff0c;第一时间了解期刊最新动态&#xff01; 1 通信网络类 【期刊简介】IF&#xff1a;4.0-5.0&#xff0c;JCR1区&#xff0c;中科院3区 【出版社】ELSEVIER出版社 【检索情况】SCIE&EI双检&#xff0c;CCF-C类 【征稿领域】通信网络的…

这本vue3编译原理开源电子书,初中级前端竟然都能看懂

前言 众所周知vue提供了很多黑魔法&#xff0c;比如单文件组件(SFC)、指令、宏函数、css scoped等。这些都是vue提供的开箱即用的功能&#xff0c;大家平时用这些黑魔法的时候有没有疑惑过一些疑问呢。 我们每天写的vue代码一般都是写在*.vue文件中&#xff0c;但是浏览器却只…

大模型面试之LoRA

LoRA的解释&#xff1a;一种高效微调预训练神经网络的方法 LoRA 解决的问题&#xff1a; &#x1f538; 2021年初&#xff0c;微软与OpenAI合作探索GPT-3的商业可行性。 &#x1f538; 发现仅仅通过提示&#xff08;prompting&#xff09;不足以完成生产任务&#xff0c;例如…

C++:标准模板库(STL)介绍

1.STL基本概念 从C到C&#xff0c;C语言的核心优势之一就是便于软件的重用。前面我们提到过C程序的面向对象思想&#xff0c;即继承和多态、标准类库等可以实现重用。除此之外&#xff0c;通过泛型程序设计(generic programming)的思想&#xff0c;即模板机制以及标准模板库ST…

微软:警惕利用VMware ESXi进行身份验证绕过攻击

微软于7月29日发布警告&#xff0c;称勒索软件团伙正在积极利用 VMware ESXi 身份验证绕过漏洞进行攻击。 该漏洞被追踪为 CVE-2024-37085&#xff0c;由微软安全研究人员 Edan Zwick、Danielle Kuznets Nohi 和 Meitar Pinto 发现&#xff0c;并在 6 月 25 日发布的 ESXi 8.0 …

Vatee万腾平台:助力企业数字化转型的坚实伙伴

在数字化浪潮席卷全球的今天&#xff0c;企业数字化转型已成为不可逆转的趋势。面对这一挑战与机遇并存的时代&#xff0c;Vatee万腾平台凭借其深厚的行业洞察、先进的技术实力和丰富的实践经验&#xff0c;成为了众多企业数字化转型道路上的坚实伙伴。 一、定制化解决方案&…