對於要先做判斷再做選擇的問題要使用分支結構
注意:一對花括號{}就是乙個**塊
示例1:求兩個數中的最大值
#include
intmain()
else
printf
("%d和%d的最大值是:%d\n"
,a,b,max)
;return0;
}
使用單分支語句:
#include
intmain()
printf
("%d和%d的最大值是:%d\n"
,a,b,max)
;return0;
}
三目運算子:「《表示式1>?《表示式2>:《表示式3>」
表示式1為真執行表示式2,為假執行表示式3
3、多分支語句 if else
注意 if-else 的配對問題
4、空語句
#include
intmain()
printf
("your salary is %d\n"
,salary)
;return0;
}
5、switch 多分支結構
switch() 的引數型別不能是浮點數,必須是整型型別。
當變數表示式的值與其中的乙個case 語句中的常量值相符時,就執行case後面的語句,並依次執行後面的所有case 語句中的程式,除非遇到break 語句跳出switch 為止;
case 的標籤必須是常量表示式。
case:『a』||『a』6、函式初步:自定義函式和庫函式這個表示式計算出來的值是1或0
switch(grade) 中grade直接與case計算出來的值進行比較。
a.自定義函式有:函式返回型別+函式名+形參列表+函式體構成
b.輸出就是函式的返回值,輸入就是函式的形參。
c.函式宣告:int maxint(int a);其中型別必不可少
函式定義
函式呼叫:maxint(a);
d.函式呼叫首先要進行引數傳遞,引數傳遞的方向是由實參傳遞給形參,形參與實參結合是從右向左結合 ,在呼叫函式。形參變數只有在函式被呼叫時才會分配記憶體(在stack中)
e.函式呼叫中發生的資料傳遞是單向的,只能是把實參值傳遞給形參,而不能把形參值反向傳遞給實參。因此,形參交換值,實參的值不改變。
示例2:判斷輸入的年是否為閏年,是返回true;輸入月返回該月份的天數。
#include
intis_leapyear
(int a)
;int
get_yearmonth_day
(int m,
int n)
;int flag;
intis_leapyear
(int a)
else
return0;
}int
get_yearmonth_day
(int m,
int n)if(
2==n)
else
}return0;
}int
main()
死迴圈的三種表示方法:
for(;;
)//死迴圈
while(1)//非零值表示無限迴圈
//死迴圈
dowhile(1)
;//死迴圈
dowhile(0)
;//只會執行一次
空語句:空語句有分號組成,不執行任何操作。
if( n>= 10)
;//**這裡的分號截斷了if與下面的關係。**
break:只能用在switch 語句下和迴圈語句中迴圈體之後的語句。在巢狀迴圈中break一次只能跳出一層迴圈;
continue: 在 for 迴圈中:跳轉到表示式3
goto 語句:設定標號只需在乙個字串後面加「 :」即可。標號是由字母數字下劃線組成。主要是向下轉移
只能在函式體內跳,不能越過函式體。
return與exit
在主程式中main,exit(0)等價於return 0;
分支與迴圈語句的總結
各種分支和迴圈語句 一 分支語句 1.if語句 include intmain else if else return0 1只進行一次,執行後跳出迴圈。2注意懸空else else會和最近的if配對,而不是按照退格來決定。3只有乙個語句可以不用 4if表示式內要用 而不是 練習 1.判斷乙個數是否為...
分支與迴圈語句
練習 列印1 100之間的奇數 include include int isodd int x return 1 int main i system pause return 0 侷限性 1.若忘記break,會繼續執行 2.case語句中無法定義變數 3.case語句判定的條件必須是int lon...
分支語句 迴圈語句
選擇語句 1.單if語句 格式 if 條件表示式 注意 1.條件表示式的結果必須是boolean型別的 2.當if語句體中只有一條語句的時候,可以省略不寫,建議寫上 如果if語句體中有多條語句,那麼 必不可少 3.if 無論條件是否成立,那麼 中的 一定會執行 4.單if語句可以使用三目運算子改進 ...