1.1、資料描述語句
1.1.1、定義語句
1.1.2、宣告語句
1.2、基本功能語句
1.3、流程控制語句
1.3.1、選擇語句
1.3.2、多分支結構
1.3.3、迴圈語句
1.3.4、轉向語句
(復合語句是由一對花括號括起來的若干語句組成)
#include
int main()
1.1、表示式語句
1.2、空語句
1.3、函式呼叫語句
1.4、復合語句
1.5、程式舉例
(1)財務人員給員工發工資時經常遇到這樣乙個問題,即根據每個人的工資額(以元作為單位)計算出各種面值的鈔票的張數,且要求總張數最少。
例如,某職工工資為3436元,發放方案為:100元34張,20元1張,10元1張,5元1張,1元1張。
(2)從鍵盤輸入乙個大寫字母,要求改用小寫字母輸出。
2.1、if語句(判定給定的條件,決定執行不同的兩段程式之一)
2.1.1、程式舉例
(1)輸入兩個實數a,b,如果a比b大,則將兩個數數值交換,按代數值由小到大次序輸出這兩個數
(2)輸入三個實數a,b,c,按代數值由小到大次序輸出這三個數。
(3)有一函式如下,編一程式,輸入乙個x值,輸出y值。
-1 (x<0)
y= 0 (x=0)
1 (x>0)
(4)寫程式,判某一年是否閏年。
輸入:年(year)
計算:判是否閏年vim
輸出:閏年或非閏年(leap)
閏年條件:
能被4整除,但不能被100整除。
能被4整除,又能被400整除。
2.2、switch語句(格式:switch(表示式)
執行過程為:當表示式的值等於常量表示式i的值,則從語句序列i開始執行到語句序列n+1為止 。若表示式的值不等於任何乙個常量表示式的值,則只執行default後面的語句。
一般在每個語句序列之後加乙個break語句,這樣在執行語句序列i之後,使流程跳出switch結構,實現多分支選擇結構。)
(1)、編寫乙個能進行兩個運算元加減乘除四則運算的計數器模擬程式
輸入:兩個運算元和運算子
計算:根據運算子確定運算
輸出:運算結果
(2)、main()
}case 3: m++;n++;break;
case 4: m++;n++;
}printf("m=%d,n=%d\n",m,n);
}結果是多少?
(3)、給出一百分制成績,要求輸出成績等級『a』、』b』、『c』、『d』、『e』。90分以上為『a』 ,80~89分為』b』 ,70~79分為『c』...
3.1、while語句(while語句是支援「當型」迴圈控制結構的語句。
一般格式為:
while (表示式)
)(1)、輸入:無
計算:1+2+3+l+100
輸出:計算的和
(2)、計算一條語句中的空格、字母、數字的個數。
3.2、do-while語句(do_while語句是支援「直到型」迴圈控制結構的語句。
一般格式為:
do while (表示式); )
(1)、輸入:無
計算:1+2+3+l+100
輸出:計算的和
3.3、for語句(for語句是一種使用比while語句更加靈活的迴圈控制語句。
一般格式為:
for (表示式1;表示式2;表示式3)
語句先求解表示式1;
再解表示式2,若為真(非0)值,則
執行語句,然後求解表示式3,再
轉到求解表示式2。若為假(0)值,
則結束for語句的執行。
(1)、輸入:無
計算:1+2+3+l+100
輸出:計算的和
(2)、用for語句編寫乙個計算1+3+5+ l +(2*i-1)的程
序,其中 i=1, 2, 3, l, 100。
(3)、輸入:n
計算: 1!+2!+3!+ l+n!
輸出:計算的和
(4)、判斷數字m是否為素數(質數)。
(5)、求100到200之間的素數。
輸入:無
計算: 求素數
輸出: 輸出素數 每4個一行 每個數占4位
3.4、迴圈語句巢狀(乙個迴圈語句內又包含另乙個完整的迴圈語句,稱為迴圈語句的巢狀。內嵌的迴圈語句一般稱為內迴圈,包含內迴圈的迴圈語句稱為外迴圈。內迴圈再巢狀內層迴圈,就夠成了多重迴圈。)
(1)、main()
while (i<3);
i++;
} printf("a=%d,i=%d\n",a,i);
}3.5、break和continue語句
3.5.1、break語句(break語句的功能是:
在switch語句中使流程跳出switch結構。
在迴圈語句中使流程跳出當前迴圈。)
(1)、將從鍵盤上輸入的若干個正整數求和,遇到負數則終止
程式,並且輸入的數不超過10個。
輸入:正整數
計算:求累加和
輸出:和
3.5.2、continue語句(continue語句的功能是在迴圈語句中使本次迴圈結束,即跳過迴圈體中下面尚未執行的語句,接著進行下次是否執行迴圈的判斷。)
(1)、程式設計把100~200之間的不能被3整除的數輸出。
3.6、迴圈語句的注意點
3.6.1、第一點
在多重迴圈中,如果有可能,應當將最長的迴圈放在最內層,最短的迴圈放在最外層,以減少cpu跨切迴圈層的次數。
示例:長迴圈層在最內層,效率高
for (col = 0; col<5; col++)
}長迴圈放在最外層,效率低
for (row = 0; row<100; row++)
}3.6.2、第二點
建議for語句的迴圈控制變數的取值採用"半開半閉區間"寫法。
半開半閉區間寫法和閉區間寫法雖然功能相同,但相比之下,半開半閉區間寫法更加直觀。二者對比如下:
半開半閉區間寫法:
for (n = 0; n < 10; n++)
閉區間寫法
for (n = 0; n <= 9; n++)
3.6.3、第三點
不能在for迴圈體內修改迴圈變數,防止迴圈失控
for (n = 0; n < 10; n++)
3.6.4、第四點
迴圈要盡可能短,要使**清晰,一目了然。
如果所寫的乙個迴圈的**超過以顯示屏,那肯定會讓讀**的人發狂的。解決辦法有兩個:
第一:重新設計這個迴圈,確認是否這些操作都必須放在這個迴圈裡。
第二:將這些**改寫成乙個子函式,迴圈中只呼叫這個子函式即可。
一般來說迴圈內的**不要超過20行。
3.6.5、第五點
把迴圈巢狀控制在3層以內
國外有研究資料表明,當迴圈巢狀超過3層時,程式設計師對迴圈的理解能力會極大的降低。如果你的迴圈巢狀超過3層,那麼就建議你重新設計迴圈或是將迴圈內的**改寫成乙個子函式。
3.6.6、第六點
for語句的控制表示式不能包含任何浮點型別的物件
3.7、習題
(1)、
日本某地發生了一件**案,警察通過排查確定殺人**必為4個嫌疑犯的乙個。以下為4個嫌疑犯的供詞。
a說:不是我。
b說:是c。
c說:是d。
d說:c在胡說
已知3個人說了真話,1個人說的是假話。現在請根據這些資訊,寫乙個程式來確定到底誰是**
Python流程控制語句流程控制語句
流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...
流程控制語句
for a b c 若迴圈體中出現continue,c語句仍得到執行。while dowhile b 執行完do後大括號,再檢驗while b 條件,若為真,繼續。從而有a語句塊至少執行一次的特性。continue 迴圈體內餘下語句忽略,繼續下次迴圈。break用於跳出迴圈或switch.case....
流程控制語句
迴圈 while do while for 判斷 if else switch case 異常處理 try catch finally throw 分支 break continue label return 迴圈 while和do while語句 while語句用於在條件保持為true時反覆執行乙...