【Day 09】C 的关系运算子与逻辑运算子

今天一开始,让我们先介绍一下,甚麽是关系运算子!

关系运算子

关系运算子顾名思义,就是用来比较两个变数之间关系的运算子,通常会包含等式和不等式。
现在我们假设有两个变数:变数 a 与变数 b。

运算子 说明
== 如果程序码写a==b,代表如果 a 等於 b,条件为真。
!= 如果程序码写a!=b,代表如果 a 不等於 b,条件为真。
> 如果程序码写a>b,代表如果 a 大於 b,条件为真。
< 如果程序码写a<b,代表如果 a 小於 b,条件为真。
>= 如果程序码写a>=b,代表如果 a 大於或等於 b,条件为真。
<= 如果程序码写a<=b,代表如果 a 小於或等於 b,条件为真。

然後,我们再来看一下,逻辑运算子!

逻辑运算子

逻辑运算子比较像是判断两个条件是否同时成立。这个部分可能对初学者来说会有一点抽象,但如果学过数位逻辑相关课程的读者,其实可以把他想像成 and 闸、or 闸、not 闸,如果没学过也没关系,下面会有程序码可以参考!

运算子 说明
&& 且,and,表示前後条件都要为真,条件为真。
|| 或,or,表示前後任一条件为真,条件就为真。
! 否,not,用来逆转运算元的逻辑状态。

可能讲了那麽多,列出那麽多运算子,还是会觉得一头雾水,所以,我们来看一下简单的程序码!

#include<stdio.h>
int main(){
	int a = 1, b = 2, c = 1, d = 0;
	if(a == b)
		printf("a等於b\n");
	else
		printf("a不等於b\n");
	if(a == c)
		printf("a等於c\n");
	else
		printf("a不等於c\n");
	if(a >= b)
		printf("a大於等於b\n");
	else
		printf("a小於b\n");
	if((a+c) == b && a == c)
		printf("表示a+c等於b,且a会等於c\n");
	else
		printf("条件不成立\n");
	return 0;
	
}

上面的程序码输出结果,是这样的:

我们来简单解释一下上面的程序码在做甚麽吧~

  • 上面用的 if,是条件判断陈述,他会判断後面的条件是否成立,成立的话就执行下面的程序码,不成立的话则执行 else 下面的程序码。(关於 if else 之後会再做介绍的)
  • 上面的程序码呢,一样先宣告变数。第一个 if 里面的条件式是(a==b),告诉我们,如果变数 a 与变数 b 相等,就会输出"a 等於 b"这一句话。其他行也可以以此类推。
  • 值得注意的是,最後一个 if 里面用到了我们的逻辑运算子 &&,所以这个条件告诉我们,&& 前面的条件:a 加 b 等於 c,与 && 後面的条件:a 等於 c,这两个条件要同时成立才会输出「表示 a+c 等於 b,且 a 会等於 c」这一段话。

明天,我们来介绍位元运算子吧~


<<:  Day24:安全性和演算法-迪菲-赫尔曼金钥交换(Diffie-Hellman Key Exchange)

>>:  在Kali Linux 上安装 docker

Day16 - RadioButton(一)

RadioButton多选一的单选按钮 听到名字很多人都会以为RadioButton本身就提供单选 ...

理解React的setState到底是同步还是非同步(下)

在上个月初的时候,偶然在IThelp看到这篇讨论 setState後画面没有立即Render,决定趁...

Vue出一个展开 / 隐藏 功能

今天练习的主题是用Vue实现列表的展开与隐藏功能 会分为两个范例让大家做演练 范例一 先将isSho...

Day 22: Informix(3)

Day 22: Informix(3) Concept StackOverflow-Dirty Re...

Day 06:「爱排队的兔兔有红萝卜!」- Flex 与 Grid

昨天被讨薪水,今天还在躲 ... 唉, 所以今天就不收作业了。 (兔导今天回学校兼课,带即将毕业的...