C 基礎 分支條件if語句及其拓展

2021-08-14 19:08:38 字數 2349 閱讀 2694

前言:從這節課開始,接觸到的程式設計知識就要從簡單的計算乙個表示式或者輸出一些圖形轉入到計算機邏輯運算的範圍。這是乙個相對輕鬆,但其實有很容易被忽視的環節,我們在以後的學習中,更多需要模擬計算機的執行過程,從而推導乙個結果,而要模擬程式的執行過程,就需要明白程式的執行順序。而本節課的課程,則是認識程式執行順序的起步,也是開始鍛鍊計算機思維的乙個里程碑。因此,不管有基礎的同學,還是沒有基礎的同學,都建議通讀本文,希望到最後,會給大家一點收穫。

所謂順序執行,從c++而言,是從main方法開始,從上往下一句一句執行,這是計算機的基本執行順序,哪怕我們遇到了其他兩種不同型別的執行順序,儘管我們會優先選擇他們,但是其內部仍然保留著順序執行的規則。

我們在日常生活中,經常也會遇到抉擇問題,當我們面對兩個或多個選擇的時候,我們常通過某種方式去幫助我們抉擇,比如拋硬幣,正的做這件事,反的做那件事。而在程式中,我們也常面臨著一些抉擇問題,比如數學上的分數,當x位於哪個區間時候,我們將執行哪種運算。而在程式定義中,我們要讓計算機根據實際情況進行某種操作的時候,就需要用到判斷執行,當我們對某乙個條件進行判斷,其結果為真時,我們執行該條件下的語句。否則,則不執行。真與假的判斷,正是上一節課介紹的布林型別的實現。已經遺忘的同學可以翻看紀錄複習。

迴圈執行的緣故是我們有時候會根據一定的需求去重複執行一段程式**,而對於要求執行次數比較少的時候,我們可以執行寫下來,順序執行,這沒問題,但是當我們的**行數或者程式的執行次數很大的時候,這麼直接寫所耗費的時間就會很大了。比如說讓計算機輸出2次「hello world」,其實很簡單,直接兩句

cout<<"hello world"《簡單粗暴,很好寫。但如果把這個2次替換成10000次呢?怕是複製貼上都累得嗆,因此我們設計出迴圈執行順序,目的就是幫助我們減輕工作量,對一些需要多次執行的語句,我們通過幾行**就可以讓他幫我們實現。這點會在以後繼續介紹。

關於關係表示式和邏輯運算,實際上在數學中也有涉及。只是在c++裡面,有一些內容是需要注意,不要和數學給弄混的。

在c++中,關係表示式大致分為:

符號含義

備註『>』

大於『<』

小於『>=』

大於或等於

『<=』

小於或等於

『!=』

不等於『==』

等於注意和數學上的等於不一樣

c++中的邏輯運算子,主要用到「且(&&)「以及「或(||)」兩種,他們的邏輯關係應該是:

且(&&):同真為真,當邏輯表示式兩邊都為真時,結果為真,其他都為假

或(||):同假為假,當邏輯表示式兩邊都為假時,結果為假,其他都為真

注意點數學上進行多個條件判斷是,可以連續使用關係表示式,比如

a但是在c++語法中,是不能連續使用關係表示式的,而應該用邏輯運算子來拆分表達,比如上面的例子應該寫成:

a上述知識點作為第三課判斷語句的基礎知識,相當於基石。需要掌握。部分的內容也和第四課有關係。所以建議認真掌握。

言歸正傳,我們第三課的主要內容是條件判斷語句,也就是我們的if語句及其擴充套件,首先,乙個最基本的if語句格式為:

if(要判斷的條件)

在這裡,我們要注意的是:要判斷的條件 應該是最終為乙個布林值

也就是說,我們可以在裡面填寫乙個布林值true 或者false,又或

者是關係表示式aa

講完基礎語句,接下來是拓展語句之if …else語句,格式如下

if(要判斷的條件)

else

注意的是這裡的拓展適用於「只有兩種可能」的情況

比如要判斷乙個數是不是奇數,那麼則有幾種可能?

是奇數,以及不是奇數對不對,此時就可以

用ifelse 語句

既然如此,那如果我們除了單一的條件以及只有兩種可能的條件之外,是不是還會有多種條件的情況呢?比如判斷分數的等級abcd,是不是每個梯度都有乙個範圍呢?此時就可以使用多種條件判斷語句if ..else …if,其基本格式如下:

if(要判斷的條件1)else

if(要判斷的條件2)else

if(要判斷的條件3)else

if(要判斷的條件n)

else

注意的是,多層條件判斷更需要合乎邏輯

只要需要判斷的條件為true,計算機都會執行改行**

而如果處理不好多個條件中的唯一性問題

就有可能出現兩個條件都為true的現象。

此時可能會對程式造成一定的影響,需要注意。

總結:不論是單一的條件還是多層條件判斷,實際上還是處理計算機邏輯的問題,而要處理這個問題,就需要思考讓條件為真時的情況如何,怎樣寫關係表示式可以得到我們需要的結果,就是我們鍛鍊邏輯思維的過程。在接下來的課程中,條件判斷語句也是使用比較頻繁的語句之一,因此需要熟悉掌握啦

js基礎學習 條件分支語句

條件分支語句也叫switch語句 語法 執行流程 switch case 語句 在執行時依次將case後的表示式的值和switch後的條件表示式的值進行全等比較 如果比較結果為true,則從當前case處開始執行 當前case後的都會被執行,我們可以在case後面加上乙個break關鍵字可以只執行當...

C語言基礎學習分支與跳轉 if語句

if 語句 現在你已經學習c語言一段時間了,你可能想要利用c語言處理一些更複雜的任務。在本小結中我們將學習c語言中的分支結構,以便讓程式按照一定條件執行相應的動作。if語句被稱為分支語句,它的使用方法如下 if expression 如果expression求得的值為true,就執行statemen...

C語言基礎之運算子 分支語句 迴圈語句 函式

這幾天家裡實在是太多客人了,環境太嘈雜。下面是利用運算子寫的乙個開關案例 include define flag visible 0x1 0001 define flag transparent 0x2 0010 define flag resize 0x4 0100 intmain include...