學習平臺:中國MOOC在線學習平臺
視頻課程:浙江大學翁愷的《程序設計入門——C語言》
自選的輔助教材:譚浩強的《C程序設計》第三版
學習時間:2020年3月9日-3月15日
本筆記對應課程第四周中所有教學內容
邏輯運算符和邏輯表達式
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結束為止。
閱讀更多 元氣滿滿的阿度 的文章