標籤:
一.條件陳述式就是一般說的選擇結構
選擇結構-
if語句;
- 第一種結構:if(條件){語句1;語句2;...}
- 第二種結構 :if(條件){語句1;語句2;...}else{語句3;語句4;...}
- 第三種結構:if(條件){語句1;語句2;...}else if(條件2){語句3;語句4;... }else if(條件3){語句4;語句3;...}else if(條件4){語句4;語句3;...}else{語句4;語句3;...}
- 第四種結構:if(條件)語句1;沒有大括弧;前面的條件陳述式就結束了;如果有語句2,則和if沒有關係;
- 注意:if的使用注意:任何數值都有真假性;int a = 10;if (a = 0){}其中a =0 為賦值操作,我們這裡不能這麼用,我們是判斷a是否等於0,而不是給a賦值;為了避免這種錯誤可以寫成if (0 == a){},可以避免自己少些了=號;
- 判斷值是否相等,把常量值寫左邊;
- 注意賦值運算子只有一個等號,不是兩個等號;==是關係運算子;
- 不可以寫:if(10>6) int a = 5;沒有大括弧,就不知道int a的範圍;代碼的範圍不明確;
- 因為int a在if後面,所以只限於if語句使用,但if的範圍不明確;
- 書寫格式:
switch語句;
- 結構:switch(數值){}
- 例:switch(數值){case (數值1);語句1;break;case(數值2);語句2;break;default:語句3;break;}
- break是退出switch函數;return是退出main函數;
- break的重要性:如果case後面沒有break,就會執行後面所有case中的u,知道遇到break為止;case如果判斷過一次,後面如果沒有break,後面的條件都不會判斷;
- 如果要在case後面定義新的變數,要加上大括弧;不然會導致範圍不明確;--(註:視頻在switch2中;)
- if和switch的區別:if在實現大小比較的時候,switch就不能做到;switch裡面能實現的功能,在if中都能實現;
- 變數記憶體分析
1)、位元組和地址:1GB有多少位元組:每一個位元組都有自己的地址;
2)、資料越大,暫用的位元組越大;
3)、記憶體定址由大到小;
4)、變數的地址是位元組中最小的那一個;越先定義的變數,記憶體位址越大;
5)、&是地址運算子;用來取得變數;
6)、優先分配後面的地址給前面的變數;%p是輸出變數的地址;
7)、變數沒有進行初始化,就拿來使用是不正確的;
scanf函數:
1)、和printf函數相反;這個是輸入的;讓使用者輸入;
2)、使用scanf的時候,取地址用&;空格的符號是\
條件陳述式 c