C語言學習筆記5-判斷、循環進階

學習平臺:中國MOOC在線學習平臺

視頻課程:浙江大學翁愷的《程序設計入門——C語言》

自選的輔助教材:譚浩強的《C程序設計》第三版

學習時間:2020年3月9日-3月15日

C語言學習筆記5-判斷、循環進階


本筆記對應課程第四周中所有教學內容


邏輯運算符和邏輯表達式

C語言提供了3種邏輯運算符

邏輯非,符號 !,例如!a ,表達的意思是如果a是true結果就是false,如果a是false結果就是true。

邏輯與,符號&& ,例如a&&b ,表達的意思是如果a和b都是true, 結果就是true,否則就是false。

邏輯或 ,符號 ||,例如a||b ,表達的意思是如果a和b有一個是true,結果就是true,兩個都是false,結果是false。

邏輯運算是自左向右進行的,如果左邊的結果已經能夠決定結果了,就不會做右邊的計算,我們把這種狀況叫做“短路”。

比如對於&&,左邊是false時就不做右邊了;對於||,左邊是true時就不做右邊了。

所以我們在編寫代碼時,不要把賦值表達式放入邏輯表達式中,因為如果發生“短路”,賦值表達式可能不會被執行,導致程序出錯。


條件表達式

<code>count = (count > 20)?count - 10:count + 10;/<code>

上述代碼可以實現 If else 的功能,它相當於

<code>if(count > 20){
count = count -10;
}else{
count = count+10;
}/<code>

?前面的()內放的是判斷條件,如果成立,則運行:前面的代碼,否則運行:後面的代碼。


逗號運算符和逗號表達式

用逗號把兩個表達式連接起來,稱為逗號表達式。例如

<code>3+5,6+8;/<code>

逗號表達式的一般形式為

表達式1,表達式2

逗號表達式的求解過程是先求解表達式1,再求解表達式2。整個逗號表達式的值是表達式2的值。

逗號表達式可以進行擴展,擴展後的形式為

表達式1,表達式2,表達式3,...,表達式n


級聯和嵌套的if-else語句

級聯的if-else的基本格式:

<code>if(判斷條件){
語句;
}else if(判斷條件){
語句;
}else{
語句;
}/<code>

嵌套的if-else的基本格式:

<code>if(判斷條件){ 
\t\tif(判斷條件){
\t\t\t\t\t 語句;
\t\t\t }else{
\t\t\t\t 語句;
}
}else{
\t語句;
}/<code>

swtich語句


<code>switch(控制表達式){ 
\t\t case 常量:
\t\t\t\t\t\t\t\t\t語句;
\t\t\t\t\t \tbreak;
\t\t case 常量:
\t\t\t\t\t\t\t\t\t語句
break;
\t\t default:
\t\t\t\t\t\t\t\t\t語句 ;
break;
}/<code>

常量的數據類型只能是整數型或者值為整數型的表達式。

注意你需要在想結束的代碼後面加break語句,因為switch語句可以看作是一種基於計算的跳轉,計算控制表達式的值後,程序會跳轉到相匹配的case(分支標號處)。分支標號只是說明switch內部位置的路標,在執行完分支中的最後一條語句後,如果後面沒有break,就會順序執行到下面的case裡去,直到遇到一個break,或switch結束為止。


分享到:


相關文章: