最近不在 web 上写了,在 marktext 上写,瞬间感受到降维打击,web 还是太难受了
前言
个人观点,仅供参考
因为某些题目过于复杂,所以将题目做了简化
本章需学习:
-
数学运算
-
变量与常量
情境引入
现在有一道数学题,初夏一看,这不简单?但初夏其实不会用计算机去做,只是单纯的输出当然在行,但老师让他以 14-4,8 * 6,这些方法表示,他就不会了
怎么办?
A :老师,想问一下初夏是谁?老师 :author(写作家,作者,作家 )C :以及为什么不是直接上例题了?老师:莫管哦!(本土化~)
简单数学运算
例题 1-1 分苹果(简单的数学运算方法)
有 8 个苹果,分给 3 名学生,分不掉的放回冰箱
1)每位学生能分到多少个苹果?
2)一共分出去多少个苹果
3)冰箱里还剩多少个苹果
现在让我们去编写代码吧!
A: 老师,这是我写的代码
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<2<<endl;
cout<<6<<endl;
cout<<2<<endl;
return 0;
}
那么好,其实还有一种不用先计算再输出的方法,让计算机计算
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<8/3<<endl;
cout<<8/3*3<<endl;
cout<<8%3<<endl;
//cout<<8-8/3*3<<endl;
return 0;
}
不难发现,/ 是整除的意思,当然,计算机的除法与我们的除法还是有很多差别的
我们计算 8 除以 3 是 2.666...但是计算机的脑回路确实新奇,去除小数部分(向下取整),所以将 2.66...的循环节去掉就是 2,但如果想得到小数,我们可以使用浮点数(后面会讲)
* 是乘法运算符,就像小学的乘法一样,并没有什么变化
cpp
cout<<8-8/3*3<<endl;
这行代码会像我们小学学加减乘除一样,先算乘除后算加减
先将 8/3*3 计算得出 6,再算 8-6 得出 2
C : 老师,作为多年潜水(2 期没说话)的我想问一下,这 8%3 是什么
B:(我也很久没说话过了)
老师:问的好,这就是我们待会要讲的
在 c++ 里,还有一种运算符 %,在数学里读作"取余",也叫"求模",当然他还有个名字"模"
8%3,读作 8 模 3,也可以读作 8 取余 3
cout<<8%3;
(渲染器有点问题,只能这样 QWQ)
% 说到底,就是求余数的,还是 8 模 3,他的商是 2,余数是 2,那么 % 就是求余数,也就得到了 2``
cpp
//cout<<8-8/3*3<<endl;
有没有人注意到这有两条斜杠
A&B&C: 早注意到了
这两条斜杠//就是注释,写在注释里的文本是不会被运行的,大家写代码要养成写注释的习惯,例如在代码后写点注释来解释这段代码是干什么用的,否则可能没过几天就忘记自己之前写的是什么了
例 1-2 初夏的作业(优先级运算)
初夏有一道数学题,要求算 8-4 / 2,但有一个前提,要先算 8-4,再算 8-4 的差除以 2
需要编写一个程序,输出这个答案
B: 老师,这我学过!在数学里表示(8-4)/2
老师:说到点子上了!在计算机里也是这样表达!
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<(8-4)/2;
return 0;
}
这样,我们就可以得到结果 2
但还有一点不同,在计算机里,是没有 [ ] 和 { } 的,只能是无限个 ( ) 嵌套在一起
如同计算 [8+(4-2)]+2
在计算机里就是:
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<(8+(4-2))+2;
return 0;
}
最终得出的结果就是 12
例 1-3 小数计算(浮点数运算)
又是初夏的作业,但这次需要计算 812÷5,在计算机上就是 812/5,你能计算吗?
A :老师,这道题答案是 162.4,直接输出就行了
老师:那么用刚才上面学过的数学运算呢?
B :这还不简单?直接套模版改成 812/5 就行了啊
B:看我写的代码!
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<812/5;
return 0;
}
老师:你这代码不对啊
B:???哪里不对了?
老师:你自己看看运行结果
(B 在 IDE 运行中......)
B:好像还真的不对......
B :小 A 说答案是 162.4,但这里的运行结果为 162
老师 :那么好,接下来我们来看 PPT
我们来看这道题的代码
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<812.0/5;
return 0;
}
这里的变化只是从 812 变成了 812.0,在计算机的眼里,812 就是整数,而 812.0 却是浮点数
整数的计算会将小数部分去掉,如 162.4 去掉小数部分,就变成了 162
但浮点数就不同,浮点数不会将小数部分去掉,会原封不动的输出,就会输出 162.4 了
非常简单!
如果想要将一个数字以浮点数表示
(可能不会更新)