目录

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语言】课后笔记第一章第七节——算数运算符相关推荐

  1. 【小甲鱼C语言】课后笔记第一章第四节——数据类型

    目录 1.数据类型 2.short 和 long 3. sizeof 运算符 4. signed 和 unsigned 5.课后习题(编程题) 1.数据类型 在 C 语言里,所谓的数据类型就是坑的大小 ...

  2. 【小甲鱼C语言】课后笔记第一章第五节——取值范围

    目录 1. 比特位和字节 2. 二进制.十进制和十六进制 3. 符号位 4. 补码(作用:就是为了解决二进制的加减乘除) 5. 二进制表示最大值和最小值 6. 基本数据类型的取值范围 7.课后习题(编 ...

  3. 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

    目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...

  4. 【小甲鱼C语言】课后笔记第一章第一节——打印(printf)

    目录 1."打印"就是"输出"的意思 2.使用 GCC 编译程序:gcc 源代码 -o 可执行文件. 3.printf 是格式化输出函数 a.函数概要 b.函数 ...

  5. 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力

    编者按 少年,你渴望 知识的力量 吗? 我们有山财最全的学习秘籍, 只待你的耐心翻阅与潜心修炼! 接下来,就让我们一起查收学习干货~ 内容摘要 本系列推送分为 [悦览篇][干货篇][招募篇] 三大模块 ...

  6. 【小甲鱼C语言】课后笔记第一章第九节——if语句

    目录 1. 分支结构的作用就是将 C 语言的代码引入歧途 2.switch语句和分支嵌套 1. switch 语句 2. 使用 break 语句跳出 3. 分支结构的嵌套 2. 使用 break 语句 ...

  7. 【小甲鱼C语言】课后笔记第一章第二节——变量

    目录 1.变量的命名规则 2.关键字 3.基本数据类型 4.声明变量的语法 5.课后习题(编程题) 1.变量的命名规则 C语言变量名只能是英文字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成 ...

  8. 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章

    教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...

  9. Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境

    Android群英传神兵利器读书笔记--第一章:程序员小窝--搭建高效的开发环境 目录 1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程 ...

最新文章

  1. Java项目:网上电商系统(java+SSM+mysql+maven+tomcat)
  2. 2015年阿里实习生面试Java研发工程师 小记
  3. ASP.NET 页面事件执行顺序
  4. LeetCode_树类
  5. 将SQL Server查询导出本地excel(mail发送)
  6. Yolov5目标检测模型运行遇到的相关问题汇总
  7. 弹出VIEW.非dialog
  8. 开发怼产品,天经地义?大惊小怪?
  9. Zookeeper Python
  10. Oracle分析函数之FIRST_VALUE和LAST_VALUE
  11. Springboot集成JavaMailSender发送邮件
  12. 25 张图,一万字,拆解 Linux 网络包发送过程
  13. 网络通信基础知识(1)
  14. pdf.js、pdfobject.js实现pdf文件预览
  15. 微信公众号授权登录(应用免登陆)
  16. 我收集的CS地图mod制作网址
  17. 关于写作,别那么在意别人的看法,开始干吧
  18. 如何去爱一个人[转]
  19. curl+openssl,编译win32 兼容xp系统的静态库
  20. rjs子模板中如何按照顺序并且有序列地执行语句

热门文章

  1. 操作系统调度算法--高响应比优先调度算法解析
  2. C语言 操作系统实验 四种调度(最高响应比优先算法 HRN)
  3. dig命令-dns查询
  4. 毫米波雷达人体存在感应,智能安防领域应用
  5. ERROR org.hibernate.internal.SessionImpl - HHH000346: Error during managed flush [Batch update retur
  6. java因子分析,SPSS统计分析全解析▶主成分分析与因子分析
  7. Qt安装包下载链接资源
  8. ADDS:卸载/降级域控制器
  9. 腾讯云服务器被黑客挂pnscan病毒排查
  10. 三层交换机和lacp链路聚合