C 入門教程(6) 布林和判斷運算

2021-09-13 22:12:10 字數 2780 閱讀 7523

小古銀的官方**(完整教程):

基本資料型別bool是乙個比較有趣的型別。它只能儲存兩個值,truefalse。只有兩個值的情況在**中隨處可見的如:是否、有沒有,開關等。

bool除了可以儲存truefalse,它也可以儲存數字,數字0false等價,非0數字與true等價。但由於數字代表兩個值並不直觀,所以當使用bool時,建議使用true/false代替數字

當我們需要使用std::cout輸出truefalse時,需要先輸出std::boolalpha,否則只會輸出數字:

#include // std::cout std::endl std::boolalpha

int main(void)

輸出結果:

1

0true

false

比較運算子在**中也是隨處可見,比較運算子:

注意

使用比較運算子比較兩個值,實際上是乙個計算過程。如果公式成立則計算結果是true,如果公式不成立則計算結果是false。舉個栗子:

#include // std::cout std::endl std::boolalpha

int main(void)

輸出結果:

false

true

true

false

true

false

以下**進行比較運算,然後用bool變數儲存運算結果:

bool a = 10 == 9; // 公式不成立,結果是false

bool b = 10 != 9; // 公式成立,結果是true

bool c = 10 >= 9; // 公式成立,結果是true

bool d = 10 <= 9; // 公式不成立,結果是false

如果需要直接輸出計算結果,需要注意的是,必須使用(),讓程式先計算出結果,然後再輸出:

std::cout << (10 > 9) << std::endl;

std::cout << (10 < 9) << std::endl;

說到判斷是否成立,肯定不能少了邏輯運算子。也就是下面這些:

最常用的就是數學判斷中的0 < x < 100,但是你不能這樣寫成**。這裡的意思可以理解為:x > 0並且x < 100,寫成**就是x > 0 && x < 100

再例如x < 0或者x > 100,寫成**就是x < 0 || x > 100

#include // std::cout std::endl std::boolalpha

int main(void)

輸出結果:

女王的個人資訊:

年齡:12

男:false

女:true

女孩子:true

不是孩子:false

雖然一般從字面上可以理解,但是理解邏輯運算子的運算也是很重要的。三個邏輯運算子的計算公式如下:

對於isfemale == true這樣一條判斷,一般都會簡化成以下形式:

isfemale
因為如果isfemaletrue的話,true == true結果是true;如果是false的話,false == true結果是false。因此,bool變數判斷true的時候可以簡化成上面的形式,直接理解單詞字面意義:是女的。

對於isfemale == false這樣一條判斷,可以簡化成以下形式:

!isfemale
因為如果isfemaletrue的話,true == false結果是false,也就是!true;如果是false的話,false == false結果是true,也就是!false。因此,bool變數判斷false的時候可以簡化成上面的形式,直接理解單詞字面意義:不是女的。

輸入乙個整數數值,然後一次過輸出以下幾個問題的答案:

HTML入門教程6

總結 div 標籤定義 html 文件中的乙個分隔區塊或者乙個區域部分。div 標籤常用於組合塊級元素,以便通過 css 來對這些元素進行格式化。margin 10px 5px 15px margin 10px 5px margin 10px 屬性值值 描述auto 瀏覽器計算外邊距。length ...

C 入門教程

c 是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c 擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c 就適應的問題規模而論,大小由之。c 不僅擁有計算機高效執行的實用性特徵,...

C 入門教程(七十五) 賦值運算子和 this

小古銀的官方 完整教程 this 鞏固練習 include std cout std endl class test int main void test test const test void test operator const test 輸出結果 呼叫複製賦值運算子上面 中過載了賦值運算子...