C语言再学习第三章

news2024/10/7 15:28:21

例题3-1 编写一个函数,实现华氏度和摄氏度的转化。

已知公式:c = (5/9)*(f-32)

#include <stdio.h>

double f_value = 0;
double c_value = 0;
int main(void)
{
	printf("请输入华氏温度\n");
	scanf("%lf",&f_value);
	c_value = (5.0/9.0)*(f_value-42);
	printf("华氏温度=%0.2f也就是摄氏度温度=%0.2f",f_value,c_value);
	return 0;
}

在这里插入图片描述

例题3-2 计算存款利息。有1000元。想存一年,有3种方法可选

(1)一年期活期,年利率为r1
(2)一年期定期,年利率为r2
(3)存两次半年定期,年利率为r3
分别计算这三种方式得到的本息和。

#include <stdio.h>

double p0 = 1000,r1 = 0.0036, r2 = 0.0225, r3 = 0.0198;
//p1表示一年活期获得的钱
//p2表示一年定期获得的钱
//p3表示两次半年定期获得的钱
double p1 = 0, p2 = 0, p3 = 0;
int main(void)
{
	p1 = p0*(1 + r1);
	p2 = p0*(1 + r2);
	p3 = p0*(1 + r3/2)*(1 + r3/2);
	printf("p1 = %f, p2 = %f, p3 = %f",p1,p2,p3);
	return 0;
}

在这里插入图片描述
常量主要包括,整型常量、实型常量、字符常量、字符串常量、符号常量。

两个重要点

#define PI 3.1415926 定义符号常量(预编译)
const float pi = 3.1415926; 定义常变量

一个注意点

标识符只能用字母,数字和下画线组成,且第一个字符必须是字母或下画线。

数据类型(常见)

整型(int)、短整型(short int)、长整型(long int)、字符型(char)、布尔型(bool)。
单精度浮点型(float)、双精度浮点型(double)。
枚举型(enum)、空型(void)。
指针类型(*)、数组类型([])、结构体类型(struct)、共用体类型(union)、函数类型。

书中的short int类型的取值范围(其他类似计算)

short int占两个字节。示意图如下图所示,也可以理解为16个小格子,每个小格子只能存放0或1。越往左的小盒子是数据二进制形式下的高位,越往右的小盒子是数据二进制形式下的的低位。
在这里插入图片描述
对于short int来说,又可以分为符号型和无符号型。其中,在上图中最左边的小盒子(最高位)是表示的符号位。下面来分情况来进行讨论。
首先,对于无符号的short int类型来说,能取得最小值为0,也就是16个小格子全部填0。
在这里插入图片描述
能取得最大值是2^16-1,也即是16个小格子全部填1。所以无符号的short int类型可取的范围是0~65535
在这里插入图片描述
接着,对于有符号的short int类型来说,这时候最高位是符号位。
当最高位,也就是符号位为0的时候,能取得最大值为2^15-1,也即是除了符号位外的15个小格子全部填1。
在这里插入图片描述
能取得最小值为0,也即是除了符号位外的15个小格子全部填0。
在这里插入图片描述
当最高位,也就是符号位为1的时候,能取得最大值为-1。
这时候需要了解-1的存储形式。

首先写出该数的绝对值,也就是1的二进制形式,0000 0000 0000 0001。
接着需要按位取反,1111 1111 1111 1110。
最后在加1即可以得到-1的存储结构,1111 1111 1111 1111。

在这里插入图片描述
能取得最小值-2^15=-32768。这时候需要了解-32768的存储形式。

首先写出该数的绝对值,也就是32768的二进制形式,1000 0000 0000 0000。
接着需要按位取反,0111 1111 1111 1111。
最后在加1即可以得到-32768的存储结构,1000 0000 0000 0000。

在这里插入图片描述
综上所述,我们求得,对于无符号的short int来说,取值范围为0~65535。
对于有符号的short int来说,取值范围为-32768~32767。

浮点型常量常见问题

在vs中编译下面的程序,会出现一行警告,这个意思是从double到float进行转化,会损失精度。这是因为3.14159这个数,系统会默认把浮点型变量按照double类型处理,但是最后在赋值中需要赋值给一个float型的a,所以才会出现这样的问题。
在这里插入图片描述
解决办法可以有两种,下图是解决的办法。
在这里插入图片描述
在这里插入图片描述

算数运算符

+ 加法
- 减法
* 乘法
/ 除法
% 求余

这里重点说一下,对与除法,两个实数相除得到的结果是双精度实数,但是两个整数相除,得到的是整数。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

两阶段提交(2 Phase Commit) 在 PostgreSQL 和 RocksDB 中的实现

文章目录前言用法PostgreSQLRocksDB实现PostgreSQL 2PCRocksDB 2PCWRITE_COMMITTEDWRITE_PREPARED解决 snapshot-read 问题解决 rollback 问题WRITE_UNPREPARED总结前言 本节中提到的代码实现是基于 PG&#xff1a;REL_15_STABLE 和 Rocksdb: master-fcd816d534 代码介绍的 2PC…

shell:#!/usr/bin/env python作用是什么

我们经常会在别人的脚本文件里看到第一行是下面这样 #!/usr/bin/python或者 #!/usr/bin/env python 那么他们有什么用呢&#xff1f; 要理解它&#xff0c;得把这一行语句拆成两部分。 第一部分是 #! 第二部分是 /usr/bin/python 或者 /usr/bin/env python 关于 #! 这个…

Java8 新特性 之 lambda 表达 和 函数式接口

—— lambda 表达式 概念 lambda 表达式是一个匿名函数&#xff0c;可以把 lambda 表达式理解为是一段可以传递的代码。更简洁、更灵活&#xff0c;使 Java 的语言表达能力得到了提升lambda 表达式是作为接口的实现类的对象&#xff08;万事万物皆对象&#xff09; 使用语法…

世界那么大,你哪都别去了,来我带你了解CSS3(三)

文章目录‍❤️‍&#x1f525;CSS动画‍❤️‍&#x1f525;CSS雪碧图‍❤️‍&#x1f525;CSS字体图标‍❤️‍&#x1f525;CSS盒子模型&#xff08;Box Model&#xff09;‍❤️‍&#x1f525;CSS新特性‍❤️‍&#x1f525;CSS动画 动画是使元素从一种样式逐渐变化为另…

【Rides】使用Xshell 链接云服务器安装Rides及其三种启动方法详解

文章目录一.NoSQL和SQl的概念1.1 总结二.Rides2.1 Rides特点2.2 Rides安装2.2.1 上传安装包并解压2.3 Redis启动&#xff08;前台启动不推荐&#xff09;2.4.指定配置启动2.5 开机自启三.Redis客户端2.1.Redis命令行客户端2.2.图形化桌面客户端2.2.1.安装2.2.2.建立连接一.NoSQ…

Vue.js 实现带拖动功能的时间轴

带拖动功能的时间轴timeline-slider-vueDemoGithub环境node V12.20.0npm 6.14.8&#x1f4e6; Installnpm install --save timeline-slider-vue全局引用main.jsimport TimelineSliderVue from timeline-slider-vueimport timeline-slider-vue/lib/timeline-slider-vue.cssVue.u…

数据库复习

什么是数据库系统 数据库系统是指在计算机系统中引入数据库后构成的系统&#xff0c;一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成 数据库系统的特点是什么&#xff1f; 数据结构化数据的共享性高&#xff0c;冗余度低且易扩充数据独立性高数…

吐血整理的TCP协议相关原理

文章目录一、 TCP报文的结构二、TCP建立连接-三次握手2.1 三次握手建立连接的过程2.2 三次握手的思考2.3 针对连接过程的DDOS攻击-SYN flood三、 TCP断开链接-四次挥手3.1 客户端主动断开链接的过程3.2 四次挥手的思考四、 TCP状态机六、 TCP的流量控制-滑动窗口协议七、 TCP拥…

openpnp - 顶部相机高级矫正的细节

文章目录openpnp - 顶部相机高级矫正的细节概述ENDopenpnp - 顶部相机高级矫正的细节 概述 设备到手的时候, 只有一个主校准点, 是一块只带一个mark点的小PCB拧在设备正面前部中间的凸台上. 配置openpnp时, 需要指定次校准点. 开始自己做了一块长条形PCB, 上面有mark点, 拧在…

【C++知识点】重载

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;C/C知识点 &#x1f4e3;专栏定位&#xff1a;整理一下 C 相关的知识点&#xff0c;供大家学习参考~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;…

阿赵的MaxScript学习笔记分享十二《获取和导出各种数据》

大家好&#xff0c;我是阿赵&#xff0c;周日的早上继续分享MaxScript学习笔记&#xff0c;这是第十二篇&#xff0c;获取和导出各种数据 1、导出数据的目的 使用3DsMax建立3D模型后&#xff0c;很多时候需要输出模型到别的引擎去使用&#xff0c;常用的格式有Obj、FBX、SLT等…

geoserver之BlobStores使用

概述 geoserver是常用的地图服务器之一&#xff0c;除了基本的能力之外&#xff0c;也提供了很多的插件方便大家使用。在本文&#xff0c;讲述一下如何在geoserver中使用BlobStores和gwc-sqlite-plugin插件实现地图的切片和部署。 BlobStores简介 在geoserver中&#xff0c;…

Linux安装Nginx和Nginx基础配置

下载Nginx 方式一&#xff1a;通过官网下载后上传 通过官网下载安装包。下载地址https://nginx.org/en/download.html 这里选择稳定版的进行下载。 这里使用FinalShell终端工具操作&#xff0c;使用其他工具操作亦可。FinalShell工具下载地址&#xff1a;http://www.hostbuf…

带加权的贝叶斯自举法 Weighted Bayesian Bootstrap

在去年的文章中我们介绍过Bayesian Bootstrap&#xff0c;今天我们来说说Weighted Bayesian Bootstrap Bayesian bootstrap 贝叶斯自举法&#xff08;Bayesian bootstrap&#xff09;是一种统计学方法&#xff0c;用于在缺乏先验知识的情况下对一个参数的分布进行估计。这种方…

【Node.js】HTTP协议、HTTP的请求报文和响应报文

HTTP协议、HTTP的请求报文和响应报文HTTP协议HTTP主要特点HTTP的请求报文和响应报文请求报文请求行请求消息头空行请求体响应报文响应状态行响应消息头空行响应体总结HTTP协议 HTTP 全称为超文本传输协议&#xff0c;是用于从WWW服务器传输超文本到本地浏览器的传送协议&#…

硬件基础专题-01电阻篇

目录 课程链接 学习目的 电阻 电阻理论讲解 电阻定义​ 欧姆定律​ 电阻单位换算 电阻选型考虑 安装方式 常见电阻值 各种贴片电阻的读取方式 确定电阻值的方法 电阻数据手册 电阻测量 电阻的产品应用​ 零欧姆电阻 热敏电阻 光敏电阻 课程链接 视频专辑 - 硬件…

linux入门---权限

目录标题什么是权限人的分类为什么会有所属组查看文件属性文件的分类如何查看权限文件不同权限的表现rwx权限修改八进制权限修改umask有关内容文件中人的修改目录不同权限的表现rwx什么是权限 首先来看一个例子&#xff1a;比如说我没有爱奇艺的vip&#xff0c;那么我也就没有…

训练CV模型常用的方法与技巧

最近参加一个CV比赛&#xff0c;看到有参赛者分享了自己训练图像识别模型时常用到的小技巧&#xff0c;故对其进行记录、整理&#xff0c;方便未来继续学习。整理了很多&#xff0c;它们不一定每次有用&#xff0c;但请记在心中&#xff0c;说不定未来某个任务它们就发挥了作用…

JavaScript-扫盲

文章目录1. 前言2. 第一个 JavaScript 程序3. javaScript 的基础语法3.1 变量3.2 数据类型3.3 运算符3.4 条件语句3.5 数组3.6 函数3.7 作用域3.8 对象4. WebAPI4.1 DOM 基本概念4.2 常用 DOM API4.3 事件4.4 操作元素4.5 网页版猜数字游戏4.6 留言版1. 前言 提问 java 和 java…

数字图像学笔记 —— 17. 图像退化与复原(自适应滤波之「最小二乘方滤波」)

文章目录维纳滤波的缺点约束最小二乘方滤波给一个实际例子吧维纳滤波的缺点 维纳滤波&#xff08;Wiener Filter&#xff09;&#xff0c;虽然是一种非常强大的退化图像还原算法&#xff0c;但是从实验过程我们也发现它存在着致命的缺陷&#xff0c;那就是要求输入退化系统的 …