Day 5 - 如果有如果

前言

上次介绍了变数是甚麽?这次就来说明程序的一些功能吧!所以为什麽我们需要使用程序语言,为甚麽不直接使用计算机就好了?今天就跟各位来简介一下。


为什麽不用计算机就好

其实这个问题的答案,显而易见。当你今天要处理一个比较复杂的问题,例如连续加法与乘法时,你在用计算机的时候效率就会降低许多。

instance1:今天要你计算多个区间的乘积1 x 9 + 8 x 15 + 6 x 80 + 4 x 9 当你今天只有计算机的时候,你可能只能将每一个乘积记在纸上面,最後再加起来。但若今天有一台可以使用C++的电脑时,你可以这样写:cout << (1 * 9 + 8 * 15 + 6 * 80 + 4 * 9);就可以印出答案了。好,是不是有些人觉得这样还是很麻烦,那我再用一个例子来说明。

instance2:如果今天你想要知道一个数字9487乘於100120会是多少,在只有计算机的情形,你只能一个一个计算然後记起来。但是在C++中,可以这样用:

//instance_2
#include<iostream>
using namespace std;

int main(){
	int number = 9487;
	
	for (int i = 100; i <= 120; i++){
		cout << number * i << " ";
	}
}

这段程序就会跑出这样个结果:

事实上会比手动计算机计算还要来的快。所以,当你需要重复做一件事情的时候,可以抛弃基本的计算机,使用电脑中的程序会快许多。


运算子(operator)

接下来介绍一下甚麽是运算子,顾名思义就是在运算一些数学的工具。

例如在 1 + 1 这个式子中 ,其中两个1被称作运算元,而加号就被称作运算子

下列是常用的运算子:

【运算子】

运算子 名称 用法+例子 例子会得到 注意事项
加法 cout << 5 + 6; 11
减法 cout << 7 + 9; 16
乘於 cout << 5 6; 30
除於 cout << 20 / 10; 2 须注意变数的型态
除於 n 之後的余数 cout << 15 % 6; 3

if / else / else if

接下来要介绍的是if / else / else if 这几个东西的语法。首先,if 可以把它直接翻成中文,就是如果,如果这件事情发生了,就做下面的事情吧,而 else 则是与上述的 if 的状况相反的集合(言下之意,就是 else 的前面必定要有一个 if) 。可以把 if 跟 else 的概念想成下面这张图一样。

而 else if 的概念,是与 if 的范围中没有相干(或可能有交集)的一个集合,他的概念可以想成下图。

if 的文法:

if (condition){
	statement 1;
	statement 2;
}
else{
	statement 1;
	statement 2;
}
else if (condition){
	statement 1;
	statement 2;
}

或是如果只有一个statement (就是你想要做甚麽事情)
可以不用大括号

if(condition)
	statement;
else
	statement;
else if (condition)
	statement;

那我们直接来个例子

#include<iostream>
using namespace std;

int main(){
	int inputNumber = 0;
	cin >> inputNumber;
	if (inputNumber == 0){
		inputNumber = inputNumber + 9;
		cout << inputNumber;
	}
	else{
		inputNumber = inputNumber * 10;
		cout <<  inputNumber;
	}
}

在这个例子中,使用者先输入一个数字,再判断这个数是不是 0 ,如果是 0 则将这个数字加 9 ;如果不是 0 就把这个数字乘於 10 再把他显示在萤幕上面。


判断用的运算子

【判断用的运算子】

运算子 名称
小於
大於
<= 小於等於
>= 大於等於
== 等於
&&
||

以上提到的这些判断用的运算子,常会在if else里面用到,就以下列为举例:

我们让使用者可输入一个整数,然後用 if else else if来判断并做出反应

#include<iostream>
using namespace std;

int main(){
	int inputNumber = 0;
	cin >> inputNumber;
	
	if (inputNumber == 0)
		cout << "The input number is " << 0 << "."; 
	else if ((inputNumber <= 10) && (inputNumber > 0))
    cout << "The input number is between 1 and 10."
	else
		cout << "The input number is out of " << "0 - 10" << ".";

	return 0;
}

在这段程序中,判断使用者输入的整数,等於 0 时,会显示"The input number is 0";如果这个数在1 - 10中,会显示 "The input number is between 1 and 10." ;最後如果都不在这段范围中,则会显示 "The input number is out of 0 - 10" 。


写程序好习惯

关於变数的宣告习惯。在程序中通常不喜欢把变数随便命名,这是因为这段程序很有可能在未来被其他人所看到或是可能要修改,若用了看不懂的命名,会让人搞不懂整段程序在写甚麽。所以在命名的时候要取有意义的名称,例如我上述的 inputNumber 会让人知道这个就是使用者输入的数字!


小结

这篇讲的一些运算上的原则还有 if/ else/ else if 的用法,实在是非常的实用,几乎每次写程序都用得上。


参考资源:

  1. https://zh.wikipedia.org/wiki/C和C%2B%2B运算子

<<:  DAY05 - XAMPP的vhost与SSL设定

>>:  Day 03 - 下载XAMPP

D20 Email认证信 SMTP - Gmail

让注册会员收到email认证信 方法是在settings内定义好email port等等资讯 注意此...

Day 12 : 弱监督式标注资料 Snorkel (spam 入门篇)

当您需要更高效率标注大量资料时,人工标注不符合自动化的机械学习需求,采用靠着程序写条件就分类完成的...

【Lua】用 Fengari 让 Lua 取代 JavaScript 吧!

大家好! 众所皆知,能开发网页的动态程序语言以 JavaScript 为首选,毕竟几乎所有浏览器都支...

【DAY 2 】Microsoft 365 Developer Program - Microsoft 365 开发人员计画

昨天说到Microsoft 365 开发人员计画 (Microsoft 365 Developer ...

Emotet 社交工程邮件,寄件者或是内容中包含贵公司的员工资料或是签名档

Emotet 社交工程邮件,寄件者或是内容中包含贵公司的员工资料或是签名档 范例一 范例二 参考文件...