Like Share Discussion Bookmark Smile

J.J. Huang   2019-10-13   C C 語言技術 <201910>   瀏覽次數:次   DMCA.com Protection Status

C語言 - 第九章 | Operation - 布林運算

什麼是布林運算?

C語言中並沒有布林這型態,其實這是一個C的重要觀念。

1
非零即為真

關係運算子

C語言中的關係運算子都是二元運算子,所以也就是代表需要有兩個運算元來進行運算,而在關係運算子的回傳部分將會以0為假,1為真。其中各項運算子包含:

運算子 意義 舉例
< 小於 A < B
<= 小於等於 A <= B
> 大於 A > B
>= 大於等於 A >= B
== 相等 A == B
!= 不相等 A != B

邏輯運算子

邏輯運算子在C語言中其實並不多,僅僅只有三個運算子:

運算子 意義 舉例
! 非(not) !A
&& 且(and) A && B
|| 或(or) A || B

註:其中!則是代表A的相反,而或跟且則是像前面位元運算一樣的運作方式。


補充

先乘除後加減聽過吧?課程到了這部分其實C語言中幾種比較常使用到的運算子都已經介紹完畢,但是還有一個在使用各項運算子時很重要的標準,也就是各個運算子的先後順序,就如同我們在寫算式會有先乘除後加減一般,其實在C語言內也有類似的東西,但是它的內容更加的多元。

運算子 結合規則
() [] -> . ->
! ~ ++ – + - * & (type) sizeof <-
* / % ->
+ - ->
<< >> ->
< <= > >= ->
== != ->
& ->
^ ->
| ->
&& ->
|| ->
?: <-
= += -= /= %= &= <-
^= |= <<= >>= <-
, ->

練習

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>

int main()
{
int a = 5;
int b = 2;
printf("%d\n", a >= b);

return 0;
}

註:該程式輸出則為1,即為真。

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>

int main()
{

printf("%d\n", 5 + 2 * 3);
printf("%d\n", 4 + (2 - 8) * 45 / 2 - 5);
printf("%d\n", 5 << (2 + 2) * 5 - 3 + 4);
printf("%d\n", (14 << (2 + 1) * 3 + 1) - 5573);

return 0;
}


註:以上參考了
hackersir gitbooks