【小甲鱼C语言】课后笔记第一章第七节——算数运算符
目录
1. 算术运算符
2. 何谓“目”?
3. 表达式
4. 类型转换
5.课后习题(编程题)
1. 算术运算符
C 语言通过提供大量的运算符来支持我们对数据进行处理,前边我们将一个值存放到变量中,使用的是赋值运算符,就是等于号(=)。
这里有几点要跟大家说一下:
因为键盘上没有乘号和除号两个按键,所以用星号(*)和斜杠(/)代替,这几乎是潜规则了。
对于整数间的除法是采取直接舍弃小数部分的方式,而不是什么四舍五入噢。
对于浮点数间的除法则能获得一个相对逼近结果的值(如果除不尽或位数特别多的话)。
百分号(%)在这里是表示求余数的意思,但求余运算符要求两边的操作数都要是整数,其结果也是整数。
2. 何谓“目”?
大家可能看到有些运算符后边写双目,有些写单目,那么什么是目呢?
我们把被运算符作用的运算对象称之为操作数,比如 1 + 2,那么 1 和 2 就是被加法运算符(+)作用的两个操作数。我们说一个运算符是双目运算符还是单目运算符,就是看它有多少个操作数。
3. 表达式
用运算符和括号将操作数连接起来的式子,我们称之为表达式。
1 + 1
'a' + 'b'
a + b
a + 'b' + pow(a, b) * 3 / 4 + 5
4. 类型转换
当一个运算符的几个操作数类型不同时,编译器需要将它们转换为共同的某种数据类型,才能进行运算。
通常情况下,编译器会将占用坑位比较小的操作数,先转换为与坑位较大的操作数的相同类型,然后再进行运算。这样做的目的就是为了确保计算的精确度。
除了编译器帮你自动转换不同类型的操作数之外,C 语言还允许你强制转换操作数的数据类型。做法就是在操作数的前边用小括号将目标数据类型括起来。
5.课后习题(编程题)
第一题
请根据下边的提示,写一个等额本息的还款计算器。
小知识:
等额本息还款法,也称定期付息,即借款人每月按相等的金额偿还贷款本息,其中每月贷款利息按月初剩余贷款本金计算并逐月结清。
- 月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
- 总利息 = 还款月数 * 月均还款 - 贷款本金
- 贷款本金 = 房款总额 * 按揭成数
程序要求用户输入房屋单价、面积、按揭成数、按揭年数以及基准利率,然后计算并显示等额本息还款法需要偿还的房款总额、首期付款、贷款总额、支付利息以及每月需要还款多少各项数据。)
结果
代码
#include <stdio.h>
#include <math.h>int main()
{float price,area,yir,mir; //单价 面积 年利率 月利率 int ratio,time; // 按揭成数 按揭年数float total_price, total_repay; //房款总额 还款总额float down_payment,ave_repay;//首期付款 月均还款float loan,interest; //贷款总额 利率printf("请输出单价(元/平方):");scanf("%f",&price);printf("请输入面积:");scanf("%f",&area);printf("请输入按揭成数:");scanf("%d",&ratio);printf("请输入按揭年数:");scanf("%d",&time);printf("请输入当前基年利率:");scanf("%f",&yir);printf("==========报告结果=============\n");mir = yir/100/12;time = time * 12;total_price = price * area;down_payment = total_price * (1-(float)ratio/10);loan = total_price * ratio/10;ave_repay = loan*mir*pow((1+mir),time)/(pow((1+mir),time)-1);interest = ave_repay*time-loan;total_repay = loan + interest;printf("房款总额:%.2f元\n",total_price);printf("首期付款:%.2f\n",down_payment);printf("贷款总额:%.2f\n",loan);printf("还款总额:%.2f\n",total_repay);printf("支付利息:%.2f\n",interest);printf("月均还款:%.2f\n",ave_repay);return 0;
}
注1:// 后边的内容是注释部分,即写给你看的,程序编译时不会理会;
注2:按揭成数用户输入的是 7,其实表示的应该是 70%,即 0.7;
注3:用户输入的是还款年数,但程序中计算的是还款月数,所以要进行必要的转换;
注4:用户输入的年利率是 5.4,其实表示的是 5.4%,在程序中记得去掉百分号(除以 100),月利率 = 年利率 / 12。
第二题
有 10000 元,想存 5 年,分别求出以下三种方法存得的本息和:TX28k%Ip
- 一次性定期存 5 年;
- 先存 3 年定期,到期后本息再存 2 年定期;
- 存 1 年定期,到期后本息再存 1 年定期,连续存 5 次。
注:r 为年利率,n 为存款年数,则计算本息和的公式如下0k6V?s!vp$
- 1 年本息和的计算公式:P = 10000 * (1 + r)
- n 年本息和的计算公式:P = 10000 * (1 + r * n)
- n 次 1年的本息和的计算公式:P = 10000 * (1 + r)^n
代码
#include <stdio.h>
#include <math.h>int main()
{float p0 = 10000,p1,p2,p3;float r1 = 0.0175,r2 = 0.0225, r3 = 0.0275, r5 = 0.0275;p1 = p0 * (1+r5*5);p2 = p0 * (1+r3*3)*(1+r2*2);p3 = p0 * pow((1+r1),5);printf("第一种方案的本息和是:%.2f\n",p1);printf("第二种方案的本息和是:%.2f\n",p2);printf("第三种方案的本息和是:%.2f\n",p3);return 0;
}
结果
【小甲鱼C语言】课后笔记第一章第七节——算数运算符相关推荐
- 【小甲鱼C语言】课后笔记第一章第四节——数据类型
目录 1.数据类型 2.short 和 long 3. sizeof 运算符 4. signed 和 unsigned 5.课后习题(编程题) 1.数据类型 在 C 语言里,所谓的数据类型就是坑的大小 ...
- 【小甲鱼C语言】课后笔记第一章第五节——取值范围
目录 1. 比特位和字节 2. 二进制.十进制和十六进制 3. 符号位 4. 补码(作用:就是为了解决二进制的加减乘除) 5. 二进制表示最大值和最小值 6. 基本数据类型的取值范围 7.课后习题(编 ...
- 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义
目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...
- 【小甲鱼C语言】课后笔记第一章第一节——打印(printf)
目录 1."打印"就是"输出"的意思 2.使用 GCC 编译程序:gcc 源代码 -o 可执行文件. 3.printf 是格式化输出函数 a.函数概要 b.函数 ...
- 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力
编者按 少年,你渴望 知识的力量 吗? 我们有山财最全的学习秘籍, 只待你的耐心翻阅与潜心修炼! 接下来,就让我们一起查收学习干货~ 内容摘要 本系列推送分为 [悦览篇][干货篇][招募篇] 三大模块 ...
- 【小甲鱼C语言】课后笔记第一章第九节——if语句
目录 1. 分支结构的作用就是将 C 语言的代码引入歧途 2.switch语句和分支嵌套 1. switch 语句 2. 使用 break 语句跳出 3. 分支结构的嵌套 2. 使用 break 语句 ...
- 【小甲鱼C语言】课后笔记第一章第二节——变量
目录 1.变量的命名规则 2.关键字 3.基本数据类型 4.声明变量的语法 5.课后习题(编程题) 1.变量的命名规则 C语言变量名只能是英文字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成 ...
- 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章
教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...
- Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境
Android群英传神兵利器读书笔记--第一章:程序员小窝--搭建高效的开发环境 目录 1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程 ...
最新文章
- Java项目:网上电商系统(java+SSM+mysql+maven+tomcat)
- 2015年阿里实习生面试Java研发工程师 小记
- ASP.NET 页面事件执行顺序
- LeetCode_树类
- 将SQL Server查询导出本地excel(mail发送)
- Yolov5目标检测模型运行遇到的相关问题汇总
- 弹出VIEW.非dialog
- 开发怼产品,天经地义?大惊小怪?
- Zookeeper Python
- Oracle分析函数之FIRST_VALUE和LAST_VALUE
- Springboot集成JavaMailSender发送邮件
- 25 张图,一万字,拆解 Linux 网络包发送过程
- 网络通信基础知识(1)
- pdf.js、pdfobject.js实现pdf文件预览
- 微信公众号授权登录(应用免登陆)
- 我收集的CS地图mod制作网址
- 关于写作,别那么在意别人的看法,开始干吧
- 如何去爱一个人[转]
- curl+openssl,编译win32 兼容xp系统的静态库
- rjs子模板中如何按照顺序并且有序列地执行语句
热门文章
- 操作系统调度算法--高响应比优先调度算法解析
- C语言 操作系统实验 四种调度(最高响应比优先算法 HRN)
- dig命令-dns查询
- 毫米波雷达人体存在感应,智能安防领域应用
- ERROR org.hibernate.internal.SessionImpl - HHH000346: Error during managed flush [Batch update retur
- java因子分析,SPSS统计分析全解析▶主成分分析与因子分析
- Qt安装包下载链接资源
- ADDS:卸载/降级域控制器
- 腾讯云服务器被黑客挂pnscan病毒排查
- 三层交换机和lacp链路聚合