C語言程序設(shè)計視頻教程精品課件_第1頁
C語言程序設(shè)計視頻教程精品課件_第2頁
C語言程序設(shè)計視頻教程精品課件_第3頁
C語言程序設(shè)計視頻教程精品課件_第4頁
C語言程序設(shè)計視頻教程精品課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C程序設(shè)計,第5章 選擇結(jié)構(gòu)程序設(shè)計,選擇結(jié)構(gòu)是三種基本結(jié)構(gòu)之一。在大多數(shù)程序中都會包含選擇結(jié)構(gòu)。它的作用是,根據(jù)所指定的條件是否滿足,決定從給定的兩組操作選擇其一。在本章中介紹如何用C語言實現(xiàn)選擇結(jié)構(gòu)。 在C語言中選擇結(jié)構(gòu)用if語句實現(xiàn)。if語句最常用的形式如下: if (關(guān)系表達式) 語句1 else 語句2 例如: if (x0) y=1; else y=-1; 其中x0是一個關(guān)系表達式。“”是一個關(guān)系運算符。,5.1 關(guān)系運算符和關(guān)系表達式,關(guān)系運算是邏輯運算中比較簡單的一種?!瓣P(guān)系運算” 就是“比較運算”。將兩個值進行比較,判斷其比較的結(jié)果是否符合給定的條件。例如a3是一個關(guān)系表達式

2、。,5.1.1 關(guān)系運算符及其優(yōu)先次序,C語言提供6種關(guān)系運算符: = = != 關(guān)于優(yōu)先次序: (1)前4種關(guān)系運算符的優(yōu)先級別相同,后兩種也相同。前4種高于后2種。 (2)關(guān)系運算符的優(yōu)先級低于算術(shù)運算符。 (3)關(guān)系運算符的優(yōu)先級高于賦值運算符。,5.1.2 關(guān)系表達式,用關(guān)系運算符將兩個表達式(可以是算術(shù)表達式或關(guān)系表達式、邏輯表達式、賦值表達式、字符表達式)連接起來的式子,稱關(guān)系表達式。 關(guān)系表達式的值是一個邏輯值,即“真”或“假”。C語言沒有邏輯型數(shù)據(jù),以1代表“真”,以0代表“假”,5.2 邏輯運算符和邏輯表達式,用邏輯運算符將關(guān)系表達式或邏輯量連接起來的式子就是邏輯表達式。,5

3、.2.1 邏輯運算符及其優(yōu)先次序,C語言提供三種邏輯運算符: (1),2、if (表達式) 語句1 else 語句2 例如: if (xy) printf(“%d”, x); else printf(“%d”, y);,3、 if (表達式1) 語句1 else if (表達式2) 語句2 else if (表達式3) 語句3 else if (表達式m) 語句m else 語句n,說明:,(1)三種形式的if語句中在if后面都有“表達式”,一般為邏輯表達式或關(guān)系表達式。 (2)第二、第三種形式的if語句中,在每個else前面有一個分號,整個語句結(jié)束處有一個分號。 (3)在if和else后面可

4、以只含一個內(nèi)嵌的操作語句,也可以有多個操作語句,此時用花括號將幾個語句括起來成為一個復(fù)合語句。,5.1輸入兩個實數(shù),按代數(shù)值由小到大的順序輸出這兩個數(shù),#include void main() float a, b, t; scanf(“%f,%f”, ,例5.2輸入3個數(shù)a、b、c,要求按由小到大的順序輸出,#include void main() float a, b, c, t; scanf(“%f,%f,%f”, ,5.3.2 if語句的嵌套,在if語句中又包含一個或多個if語句稱為if語句的嵌套。一般形式如下: if() if() 語句1 else 語句2 else if() 語句3

5、 else 語句4,例5.3編程,輸入x值,輸出y值,函數(shù):-1 (x0),#include void main() int x, y; scanf(“%d”, ,5.3.3 條件運算符,若在if語句中,當被判別的表達式的值為“真”或“假”時,都執(zhí)行一個賦值語句且向同一個變量賦值時,可以用一個條件運算符來處理。 條件運算符要求有3個操作對象,稱三目(元)運算符。 條件表達式的一般形式為 表達式1?表達式2:表達式3,說明:,(1)條件運算符的執(zhí)行順序:先求解表達式1,若為非0則求解表達式2,此時表達式2的值就作為整個條件表達式的值。若表達式1的值為0,則求解表達式3,表達式3的值就是整個條件表

6、達式的值。 (2)條件運算符優(yōu)先于賦值運算符。 (3)條件運算符的結(jié)合方向為自右至左。 (4)表達式不僅可以是數(shù)值表達式,還可以是賦值表達式或函數(shù)表達式。 (5)條件表達式中,表達式1的類型可以與表達式2和表達式3的類型不同。,例5.4輸入一個字母,判別它是否大寫字母,如果是,將它轉(zhuǎn)換成小寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符,#include void main() char ch; scanf(“%c”, ,5.4 switch語句,switch語句是多分支選擇語句。一般形式: switch(表達式) case 常量表達式1: 語句1 case 常量表達式2: 語句2 case

7、常量表達式n: 語句n default: 語句n+1; ,說明:,(1)switch后面括號內(nèi)的表達式,ANSI標準允許它為任何類型。 (2)當表達式的值與某一個case后面的常量表達式的值相等時,就執(zhí)行此case后面的語句,若所有的case中的常量表達式的值都沒有與表達式的值匹配的,就執(zhí)行default后面的語句。 (3)每一個case的常量表達式的值必須互不相同;否則就會出現(xiàn)相互矛盾的現(xiàn)象。 (4)各個case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。 (5)執(zhí)行完一個case后面的語句后,流程控制轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行。 (6)多個case可以共用一組執(zhí)行語句。,5.5 程序舉例例

8、5.5寫程序,判斷某一年是否閏年,例5.6求ax2+bx+c=0方程的解,(1)a=0 (2)b2-4ac=0 (3)b2-4ac0 (4)b2-4ac0,例5.7運輸公司對用戶計算運費,路程越遠,每噸每千米運費越低。 標準如下:s250沒有折扣250s500 2%折扣500s1000 5%折扣 1000s2000 8%折扣200033000 10%折扣3000s 15%折扣 設(shè)每噸每千米貨物的基本運費為p,貨物重為w,距離為s,折扣為d,則總運費f的計算公式為 f=p*w*s(1-d),習題,5.3 寫出下面各邏輯表達式的值。設(shè)a=3,b=4,c=5。 (1)a+bc & b=c (2)a|b+c & b-c (3)!(ab) & ! c|1 (4)!(x=a) & (y=b) & 0 (5)!(a+b)+c-1 & b+c/2 5.4 有3個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。,5.5 有一個函數(shù): x x1 y= 2x-1 1x10 3x-11 10 x 5.6 給出一百分制成績,要求輸出成績等級A、B、C、D、E。90分以上為A,8089分為B,7079分為C,6069分

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論