《分支程序設(shè)計(jì)》PPT課件

上傳人:san****019 文檔編號:16512381 上傳時間:2020-10-05 格式:PPT 頁數(shù):30 大?。?84KB
收藏 版權(quán)申訴 舉報(bào) 下載
《分支程序設(shè)計(jì)》PPT課件_第1頁
第1頁 / 共30頁
《分支程序設(shè)計(jì)》PPT課件_第2頁
第2頁 / 共30頁
《分支程序設(shè)計(jì)》PPT課件_第3頁
第3頁 / 共30頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《分支程序設(shè)計(jì)》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《分支程序設(shè)計(jì)》PPT課件(30頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、第3章 分支程序設(shè)計(jì),關(guān)系表達(dá)式 邏輯表達(dá)式 If 語句 Switch語句,,,,,關(guān)系表達(dá)式,關(guān)系表達(dá)式用來實(shí)現(xiàn)比較 關(guān)系運(yùn)算符 , =, ==, <=, <, != 優(yōu)先級:高于賦值運(yùn)算符,低于算術(shù)運(yùn)算符。 關(guān)系運(yùn)算符內(nèi)部:==和 !=較低 結(jié)合性:左結(jié)合 關(guān)系表達(dá)式 用關(guān)系運(yùn)算符將二個表達(dá)式連接起來稱為關(guān)系表達(dá)式 關(guān)系表達(dá)式的結(jié)果是: true 或 false,eg. x < y,a < b == c < d 都是合法的關(guān)系表達(dá)式,注意:-2 < -1 < 0 與PYTHON中的含義不一樣,關(guān)系表達(dá)式 續(xù),算術(shù)運(yùn)算符的優(yōu)先級比關(guān)系運(yùn)算符高 注意事項(xiàng) “等于”運(yùn)

2、算符是由兩個等號組成。常見的錯誤是在比較相等時用一個等號。 要小心避免冗余。主要是在關(guān)系表達(dá)式中需要判別布爾型的變量的值時。判別一個布爾變量flag的值是否為true,初學(xué)者常常會用表達(dá)式flag == true。事實(shí)上,只要用一個最簡單的表達(dá)式:flag就可以了,5 + 3 6 - 2,(5 + 3) (6 2),,第3章 邏輯思維及分支程序設(shè)計(jì),關(guān)系表達(dá)式 邏輯表達(dá)式 If語句 Switch語句,,,,,邏輯表達(dá)式,邏輯表達(dá)是用于實(shí)現(xiàn)更復(fù)雜的判斷 邏輯運(yùn)算符 else cout << “failed”;,,條件語句使用注意,條件的結(jié)果值應(yīng)該是 true 或 false,

3、它們是C++中bool類型的值 事實(shí)上,條件可為任意表達(dá)式,不一定是關(guān)系表達(dá)式。0 為false,非 0 為true。 常見的錯誤:條件測試是比較相等時,用一個等號, 合理的縮排,使程序結(jié)構(gòu)更加清晰,判斷閏年的程序,#include using namespace std; int main() int year; bool result; cout year; result = (year % 4 == 0 ,if語句的嵌套,if語句的then子句或else子句是if語句,稱為if語句的嵌套 歧義性:if 語句可以沒有else子句,如 if (x < 100) if (x < 90) 語句1

4、 else if (x<80) 語句2 else 語句3 else 語句4; 配對原則:每個else子句是和在它之前最近的一個沒有else子句的if語句配對。,縮進(jìn)對齊,可以清晰地表示出層次 ,便于程序員閱讀,if (x < 100) if (x < 90) 語句1 else if (x<80) 語句2 else 語句3 else 語句4;,條件表達(dá)式,?:運(yùn)算符 :問號冒號運(yùn)算符 作用:更加簡練的用來表達(dá)條件執(zhí)行的方式 形式 : (條件) ? 表達(dá)式1 : 表達(dá)式2 執(zhí)行過程:首先計(jì)算條件值。如果條件結(jié)果為true,則計(jì)算表達(dá)式1的值,并將它作為整個表達(dá)式的值。如果條件結(jié)

5、果為false,則整個表達(dá)式的值為表達(dá)式2的值。,實(shí)例,例如將x和y中值較大的一個賦值給max,可以用下列語句: max = (x y) ? x : y; ?:運(yùn)算符用于輸出。例如,想輸出一個布爾變量flag的值,如果直接用 cout << flag; 那么當(dāng)flag為“真”時,輸出為1;當(dāng)flag為“假”時,輸出為0。 如果我們想讓flag為“真”時輸出true,為“假”時輸出false,可以用if 語句 if (flag) cout << “true”; else cout << “false”; 看上去太羅嗦。但如果用?:運(yùn)算符只需要一行 cout << ( flag ?

6、true : false ) << endl;,第3章 邏輯思維及分支程序設(shè)計(jì),關(guān)系表達(dá)式 邏輯表達(dá)式 If語句 Switch語句,,,,,switch語句,格式: switch (表達(dá)式) case 常量表達(dá)式1:語句1 case 常量表達(dá)式2:語句2 . . case 常量表達(dá)式n:語句n default:語句n+1 ,執(zhí)行過程: 當(dāng)表達(dá)式值為常量表達(dá)式1時,執(zhí)行語句1到語句n+1; 當(dāng)表達(dá)式值為常量表達(dá)式2時,執(zhí)行語句2到語句n+1; 。 。 當(dāng)表達(dá)式值為常量表達(dá)式n時,執(zhí)行語句n到語句n+1; 否則,執(zhí)行語句n+1,用于多分支的情

7、況,switch語句 續(xù),default子句可以省略 default子句省略時,當(dāng)表達(dá)式的值不等于表達(dá)式1到表達(dá)式n的值時,直接跳出switch語句,執(zhí)行switch語句的下一語句,Break語句,作用:跳出當(dāng)前的switch語句,switch (表達(dá)式) case 常量表達(dá)式1:語句1;break; case 常量表達(dá)式2:語句2 ;break; . . case 常量表達(dá)式n:語句n ;break; default:語句n+1 ,執(zhí)行過程: 當(dāng)表達(dá)式值為常量表達(dá)式1時,執(zhí)行語句1; 當(dāng)表達(dá)式值為常量表達(dá)式2時,執(zhí)行語句2; 。 。 當(dāng)表

8、達(dá)式值為常量表達(dá)式n時,執(zhí)行語句n; 否則,執(zhí)行語句n+1,eg1. 按下表將百分制成績轉(zhuǎn)換成5 級記分制。,switch(score) case score = 90: cout = 80: cout = 70: cout = 60: cout << D; break; default: cout << E; ,表達(dá)式=成績/10,switch(score / 10) case 10: case 9: cout <

9、ase 6: cout << D; break; default: cout << E; ,計(jì)算機(jī)自動出四則運(yùn)算計(jì)算題,生成題目 switch(題目類型) case 加法:顯示題目,輸入和的值,判斷正確與否 case 減法:顯示題目,輸入差的值,判斷正確與否 case 乘法:顯示題目,輸入積的值,判斷正確與否 case 除法:顯示題目,輸入商和余數(shù)的值,判斷正確與否 ,要求自動出0 - 9之間的四則運(yùn)算題,并批改結(jié)果,關(guān)鍵問題,如何讓程序每次執(zhí)行的時候都出不同的題目? 隨機(jī)數(shù)生成器rand():能隨機(jī)生成0到RAND_MAX之間的整型數(shù) 將生成的隨機(jī)數(shù)映射到0 - 9之間: Rand

10、() % 10 rand() * 10 / (RAND_MAX + 1)。 運(yùn)算符的生成:用編碼0 - 3表示四個運(yùn)算符。因此題目的生成就是生成0 - 3之間的隨機(jī)數(shù)。,隨機(jī)數(shù)的種子,計(jì)算機(jī)產(chǎn)生的隨機(jī)數(shù)稱為偽隨機(jī)數(shù),它是根據(jù)一個算法計(jì)算出來的。 系統(tǒng)為每個程序、每次執(zhí)行指定的隨機(jī)數(shù)的種子都是相同的,因此程序每次執(zhí)行生成的隨機(jī)數(shù)序列都是相同的。,改變隨機(jī)數(shù)的種子,設(shè)置種子的函數(shù)srand : srand (種子) 如何讓程序每次執(zhí)行時選擇的種子都不一樣呢? 選擇系統(tǒng)時間為種子:time(NULL) 取當(dāng)前的系統(tǒng)時間。,#include //包含偽隨機(jī)數(shù)生成函數(shù) #include //包含取系

11、統(tǒng)時間的函數(shù) #include using namespace std; int main() int num1, num2, op, result1, result2; //num1,num2:操作數(shù),op:運(yùn)算符,result1,result2: 結(jié)果 srand(time(NULL)); //隨機(jī)數(shù)種子初始化 num1=rand() * 10 / (RAND_MAX + 1); // 生成運(yùn)算數(shù) num2=rand() * 10 / (RAND_MAX + 1); //生成運(yùn)算數(shù) op=rand() * 4 / (RAND_MAX + 1); // 生成運(yùn)算符 0--+, 1--

12、-, 2--*,3-- /,自動出題程序,switch (op) //最容易忘的是switch下的大括號!!! case 0: cout result1; if (num1 + num2 == result1) cout result1; if (num1 - num2 == result1) cout result1; if (num1 * num2 == result1) cout << you are rightn; else cout << you are wrongn; break;,case 3: cout result1; cout result2; if ((num1 / num2 == result1) ,該程序的缺陷,每次執(zhí)行只能出一道題 減法可能出現(xiàn)負(fù)值 除法可能出現(xiàn)除0 結(jié)果太單調(diào),小結(jié),本章主要介紹了計(jì)算機(jī)實(shí)現(xiàn)邏輯思維的機(jī)制。主要包括兩個方面: 如何表示一個邏輯判斷 如何根據(jù)邏輯判斷的結(jié)果執(zhí)行不同的處理 邏輯判斷 關(guān)系表達(dá)式實(shí)現(xiàn) 邏輯表達(dá)式 根據(jù)邏輯判斷執(zhí)行不同的處理 if語句 switch語句,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!