引子
最近新冠流行,村庄里掀起了一股囤药风,家家户户都开始囤药,导致药店老板最害怕的事情就是出门经营药店。后来药店里的药全被抢劫抢购一空。于是,那些手慢没抢到药的人,就偷偷摸摸地造了一个酿造台在家里自己炼药。听起来很有挑战性?是的,我们也来炼药吧。
事实上,我们的目的是学习c++,你以为我会告诉你吗?哇咔咔咔咔咔……
(是不是哪里不对劲)
目录
引子(就你刚刚看过的那个装满水的玩意儿)
1.出发前的小知识(你也可以选择跳过,只要你了解了)
1.1 if语句是如何工作的?
2.炼药前的准备工作
2.1 别偷懒,原材料带了吗?
3.药水是如何炼成的?
3.1 《药水是如何炼成的》RedstoneCuberoot著
尾声
1.出发前的小知识(你也可以选择跳过,只要你了解了)
想不到吧,炼药也是需要学问的。
特地为你准备的几个问题:
1.你了解运算符吗?
a.是的(你可以直接进入正文)
b.不是(你没得选,继续答题)
c.钝角(你没救了,继续往下看吧)
2.你了解基本的运算符吗?
a.是的(你可以继续下一题)
b.不是(看完雷斯东红石学院小卖部——你了解运算符吗(一)再继续下一题)
c.钝角(你没救了,继续往下看吧)
3.你了解关系运算符吗?
a.是的(继续下一题吧)
b.不是(那就乖乖地看完繁忙的雷斯东交易市场——你了解运算符吗(二)再继续)
c.钝角(大夫,你怎么还不开具s亡证明?)
4.你了解逻辑运算符吗?
a.是的(可以了,进入正文吧)
b.不是(还不看实验室里密码锁的开发——你了解运算符吗(三)?看完再进入正文)
c.钝角(拖出去斩了!!!)
1.1 if语句是如何工作的?
想必你已经了解运算符工厂和各个阶层运算符们的工作了。今天我们要走进一个控制中心——判断语句控制中心来了解里面员工们的工作以及你何时能够使用它们。接下来几天,《c++任我行》专栏节目摄制组邀请了“判断语句控制中心”的顶级员工——if语句来协助我们进行炼药工作。我们先来看一看if语句是如何工作的,并了解他的工作地点在哪儿。
if语句的基本格式是这样的:
if (布尔表达式)
一个表达式或语句;
不过,你也可以这样:
if (布尔表达式) 一个表达式或语句;
它是这么工作的:对括号里的布尔表达式进行判断,如果布尔表达式的值为真(true,或1),就执行if里面的一个表达式或语句(向上面那样,一个表达式或语句在if的下一行或者连在if后面的我们都称为一个表达式在if里面。编者注)。如果布尔表达式的值为假(false,或0),就直接跳过if。不过,我们之前也接触过这个了(如果你是新来的,请忽略这句话)。来个实例,输入两个整数,在输入两数相加的结果,输出这个结果是否正确,正确输出“正确”,否则不输出。就像这样:
输入:12 23 35
输出:正确
输入:1 1 3
输出:
看完这个题目,你发现自己已经写下了:
#include <iostream>
using namespace std;
int main(){
首先我们要知道程序在执行的时候要做什么。
程序在开始时需要三个变量来存储你输入的三个数字。所以我们写下了:
#include <iostream>
using namespace std;
int main(){
int a,b,sum;
cin >> a >> b >> sum;
然后程序将要判断你输入的两个数相加的结果是否与两个数相加的真实结果相等。所以我们继续写下了:
#include <iostream>
using namespace std;
int main(){
int a,b,sum;
cin >> a >> b >> sum;
if ((a + b) == sum)
没错,用if来帮助我们判断。别忘了一个表达式或语句:
#include <iostream>
using namespace std;
int main(){
int a,b,sum;
cin >> a >> b >> sum;
if ((a + b) == sum) cout << "正确" << endl;
很好,再来个漂亮的结尾:
#include <iostream>
using namespace std;
int main(){
int a,b,sum;
cin >> a >> b >> sum;
if ((a + b) == sum) cout << "正确" << endl;
return 0;
}
现在你知道如何雇佣if来帮你做事了吧?现在我们可以开始学习制药了。
2.炼药前的准备工作
在 一个夜深人静月黑风高的 夜晚,我们来到了酿造厂。多么宁静啊
除了空间有点狭窄,其他简直完美无缺! 看到那些箱子了么?我们需要的所有物品都在里面了。
2.1别偷懒,原材料带了吗?
不,你没带。因为箱子里有许多的原材料,根本不需要自己准备。所以这个标题是没有意义的。
据邻居说,炼药是个很幸苦的过程。要知道,他为了炼一瓶药水,足足忙碌了一整个晚上。不过,跟着我们炼药就幸运多啦,因为你根本不需要自己动手或动脑。
(一条不起眼的小注:只是在炼药的过程中不需要你动手亦或是动脑。另外,因为这个章节和我们写这篇文章的目的关联性不大,所以结束得很快)
3.药水是如何炼成的?
3.1 《药水是如何炼成的》RedstoneCuberoot著
首先,我们需要在酿造台里面装填入炼药的材料。用什么来储存他们呢?没错,你和我想到一块去了(如果不是的话,就假装自己和我想到一块去了),当然是用变量。
#include <iostream>
using namespace std;
int main(){
int cailiao; //1是下界疣,2是金萝卜,3是闪烁的西瓜,4是恶魂之泪
cin >> cailiao;
我们首先需要一瓶粗制的药水,需要用下界疣来酿造。所以我们需要输入1,选择下界疣。
#include <iostream>
using namespace std;
int main(){
int cailiao; //1是下界疣,2是金萝卜,3是闪烁的西瓜,4是恶魂之泪
cin >> cailiao; //这时,cailiao的值为1
我们还需要一个变量来储存药水!
#include <iostream>
using namespace std;
int main(){
int cailiao; //1是下界疣,2是金萝卜,3是闪烁的西瓜,4是恶魂之泪
cin >> cailiao;
int yaoshui; //1是粗制的药水,2是夜视药水,3是治疗药水,4是再生药水
我们如何编写酿造部分呢?如果材料是下界疣,就输出粗制的药水。
#include <iostream>
using namespace std;
int main(){
int cailiao; //1是下界疣,2是金萝卜,3是闪烁的西瓜,4是恶魂之泪
cin >> cailiao;
int yaoshui; //1是粗制的药水,2是夜视药水,3是治疗药水,4是再生药水
if (cailiao == 1) yaoshui = 1; //如果材料是下界疣,就输出粗制的药水
接下来,我们需要在粗制的药水的基础上继续酿造,因为其他的药水都不能通过水直接酿造获得。所以酿造时我们要加一个判断条件:药水类型为1(即粗制的药水)。
#include <iostream>
using namespace std;
int main(){
int cailiao; //1是下界疣,2是金萝卜,3是闪烁的西瓜,4是恶魂之泪
cin >> cailiao;
int yaoshui; //1是粗制的药水,2是夜视药水,3是治疗药水,4是再生药水
if (cailiao == 1) yaoshui = 1; //如果材料是下界疣,就输出粗制的药水
cin >> cailiao;
if (yaoshui == 1)
然后,我们在分支里面再加上几个分支。这叫“分支的嵌套”。
#include <iostream>
using namespace std;
int main(){
int cailiao; //1是下界疣,2是金萝卜,3是闪烁的西瓜,4是恶魂之泪
cin >> cailiao;
int yaoshui; //1是粗制的药水,2是夜视药水,3是治疗药水,4是再生药水
if (cailiao == 1) yaoshui = 1; //如果材料是下界疣,就输出粗制的药水
cin >> cailiao;
if (yaoshui == 1){ //注意,这里有花括号
if (cailiao == 2) yaoshui = 2;
if (cailiao == 3) yaoshui = 3;
if (cailiao == 4) yaoshui = 4;
} //注意,这里有花括号
为什么我们需要使用花括号呢?因为这个if语句里面有三个语句(语句是使用分号结尾的)。要知道,一个if只能是一个语句,所以我们用花括号把这里面的所有语句都组合成一个语句块。这样你就可以把许多个语句同时塞在if里面了。
别忘了给程序来个完美的结尾!
#include <iostream>
using namespace std;
int main(){
int cailiao; //1是下界疣,2是金萝卜,3是闪烁的西瓜,4是恶魂之泪
cin >> cailiao;
int yaoshui; //1是粗制的药水,2是夜视药水,3是治疗药水,4是再生药水
if (cailiao == 1) yaoshui = 1; //如果材料是下界疣,就输出粗制的药水
cin >> cailiao;
if (yaoshui == 1){ //注意,这里有花括号
if (cailiao == 2) yaoshui = 2;
if (cailiao == 3) yaoshui = 3;
if (cailiao == 4) yaoshui = 4;
} //注意,这里有花括号
return 0;
}
尾声
自从炼药的省力方法被我们发现之后,村庄里每个人都配备了一台酿造台。想必大家都能自己制药了吧?并不是。村民们配置好酿造台之后,发现自己并不懂c++。
啊这……还是让他们赶紧订阅《c++任我行》专栏吧!