




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章選擇結(jié)構(gòu)順序結(jié)構(gòu)程序設(shè)計(jì)舉例例,輸入三角形的三邊,求三角形面積。假設(shè):三個(gè)邊長(zhǎng)a,b,c能構(gòu)成三角形。已知面積公式:area=s=(a+b+c)*0.5開(kāi)始輸入三邊長(zhǎng)計(jì)算s計(jì)算面積結(jié)束順序結(jié)構(gòu)程序設(shè)計(jì)舉例(續(xù))#include<stdio.h>
#include<math.h>
voidmain()
{ floata,b,c,s,area;
scanf(“%f,%f,%f,&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);
printf(“area=%7.2f\n”,area);}
運(yùn)行情況:
3,4,6
a=3.00,b=4.00,c=6.00,s=6.50
area=5.33一個(gè)程序包括兩個(gè)方面的內(nèi)容:對(duì)數(shù)據(jù)的描述:數(shù)據(jù)結(jié)構(gòu)(datastructure)對(duì)操作的描述:算法(algorithm)數(shù)據(jù)結(jié)構(gòu)+算法=程序廣義地說(shuō),為解決一個(gè)問(wèn)題而采取的方法和步驟,就稱(chēng)為“算法”?;窘Y(jié)構(gòu)
程序設(shè)計(jì)中的三種基本結(jié)構(gòu):
順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
用這三種基本結(jié)構(gòu)作為表示一個(gè)良好算法的基本單元。順序結(jié)構(gòu)選擇結(jié)構(gòu)三種基本結(jié)構(gòu)的圖示三種基本結(jié)構(gòu)的圖示(續(xù))當(dāng)型(While型)循環(huán)結(jié)構(gòu)直到型(Until型)循環(huán)由三種基本結(jié)構(gòu)順序組成的算法結(jié)構(gòu),可以解決任何復(fù)雜的問(wèn)題。由基本結(jié)構(gòu)所構(gòu)成的算法屬于“結(jié)構(gòu)化”的算法,它不存在無(wú)規(guī)律的轉(zhuǎn)向,只在本基本結(jié)構(gòu)內(nèi)才允許存在分支和向前或向后的跳轉(zhuǎn)?;窘Y(jié)構(gòu)的小結(jié)5.1關(guān)系運(yùn)算符和關(guān)系表達(dá)式5.2邏輯運(yùn)算符和邏輯表達(dá)式5.3if語(yǔ)句5.4switch語(yǔ)句5.5程序舉例本章內(nèi)容關(guān)系運(yùn)算符和關(guān)系表達(dá)式(一).關(guān)系運(yùn)算符及其優(yōu)先次序<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)!=(不等于)優(yōu)先級(jí)相同(高)優(yōu)先級(jí)相同(低)說(shuō)明:關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符關(guān)系運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符(二).關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式或關(guān)系表達(dá)式,邏輯表達(dá)式,賦值表達(dá)式,字符表達(dá)式)接起來(lái)的式子,稱(chēng)關(guān)系表達(dá)式例:a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>b)>(b<c)關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”。例:關(guān)系表達(dá)式”a>b”的值為“真”,表達(dá)式的值為1。C語(yǔ)言中沒(méi)有專(zhuān)用的邏輯值,1代表真,0代表假關(guān)系運(yùn)算符和關(guān)系表達(dá)式(續(xù))邏輯運(yùn)算符和邏輯表達(dá)式(一).邏輯運(yùn)算符及其優(yōu)先次序&&(邏輯與)相當(dāng)于其他語(yǔ)言中的AND||(邏輯或)相當(dāng)于其他語(yǔ)言中的OR!(邏輯非)相當(dāng)于其他語(yǔ)言中的NOT例:a&&b若a,b為真,則a&&b為真。
a||b若a,b之一為真,則a||b為真。!a若a為真,則!a為假。優(yōu)先次序:!()>&&()>||()邏輯運(yùn)算符中的“&&”和“||”低于關(guān)系運(yùn)算符,“!”高于算術(shù)運(yùn)算符邏輯運(yùn)算符和邏輯表達(dá)式(續(xù))(二)邏輯表達(dá)式用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來(lái)的式子就是邏輯表達(dá)式邏輯表達(dá)式的值應(yīng)該是一個(gè)邏輯量“真”或“假”。例:設(shè)a=4,b=5:!a的值為0a&&b的值為1a||b的值為1!a||b的值為14&&0||2的值為1任何非零的數(shù)值被認(rèn)作“真”邏輯運(yùn)算符和邏輯表達(dá)式(續(xù))例:5>3&&8<4-!0
表達(dá)式值為0邏輯運(yùn)算符和邏輯表達(dá)式(續(xù))在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都要被執(zhí)行。(1)a&&b&&c只有a為真時(shí),才需要判斷b的值,只有a和b都為真時(shí),才需要判斷c的值。(2)a||b||c只要a為真,就不必判斷b和c的值,只有a為假,才判斷b。a和b都為假才判斷c例:(m=a>b)&&(n=c>d)當(dāng)a=1,b=2,c=3,d=4,m和n的原值為1時(shí),由于“a>b”的值為0,因此m=0,而“n=c>d”不被執(zhí)行,因此n的值不是0而仍保持原值1。IF語(yǔ)句三種基本形式(1)if(表達(dá)式)語(yǔ)句intx=1,y=10;if(x<y) printf(“d%”,x);表達(dá)式語(yǔ)句真(非0)假(0)(2)if(表達(dá)式)語(yǔ)句1else 語(yǔ)句2例:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);
IF語(yǔ)句(續(xù))
條件
語(yǔ)句1
語(yǔ)句2非00IF語(yǔ)句(續(xù))(3)if(表達(dá)式1)語(yǔ)句1elseif(表達(dá)式2)語(yǔ)句2elseif(表達(dá)式3)語(yǔ)句3
……elseif(表達(dá)式m)語(yǔ)句melse語(yǔ)句nIF語(yǔ)句(續(xù))例:
if(number>500)cost=0.15;elseif(number>300)cost=0.10;elseif(number>100)cost=0.075;elseif(number>50)cost=0.05;elsecost=0;IF語(yǔ)句(續(xù))If語(yǔ)句的嵌套在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱(chēng)為if語(yǔ)句的嵌套。形式:If()
if()語(yǔ)句1 else語(yǔ)句2Else
if()語(yǔ)句3 else語(yǔ)句4內(nèi)嵌ifIF語(yǔ)句(續(xù))匹配規(guī)則:Else總是與它上面的,最近的,同一復(fù)合語(yǔ)句中的,未配對(duì)的if語(yǔ)句配對(duì)。例:If()
if()語(yǔ)句1else
if()語(yǔ)句2else語(yǔ)句3當(dāng)if和else數(shù)目不同時(shí),可以加花括號(hào)來(lái)確定配對(duì)關(guān)系。例:If() {if()語(yǔ)句1}else
if()語(yǔ)句2else語(yǔ)句3IF語(yǔ)句(續(xù))
-1(x<0)例5.3有一個(gè)函數(shù)y=0(x=0),編一程序,輸入一個(gè)x值,輸出y值。1(x>0)算法1:算法2: 輸入x輸入x
若x<0,則y=-1若x<0,則y=-1
若x=0,則y=0否則: 若x>0,則y=1若x=0,則y=0
輸出y若x>0,則y=1
輸出y
?íìIF語(yǔ)句(續(xù))條件運(yùn)算符格式:表達(dá)式1?表達(dá)式2∶表達(dá)式3功能:判斷表達(dá)式1的值,如果成立就執(zhí)行表達(dá)式2,否則就執(zhí)行表達(dá)式3使用場(chǎng)合:若在if語(yǔ)句中,當(dāng)被判別的表達(dá)式的值為“真”或“假”時(shí),都執(zhí)行一個(gè)賦值語(yǔ)句且向同一個(gè)變量賦值時(shí),可以用一個(gè)條件運(yùn)算符來(lái)處理。
IF語(yǔ)句(續(xù))例:
if(a>b)max=a;elsemax=b;當(dāng)a>b時(shí)將a的值賦給max,當(dāng)a≤b時(shí)將b的值賦給max,可以看到無(wú)論a>b是否滿足,都是向同一個(gè)變量賦值??梢杂孟旅娴臈l件運(yùn)算符來(lái)處理:max=(a>b)?a∶b;switch語(yǔ)句switch語(yǔ)句的格式:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1case常量表達(dá)式2:語(yǔ)句2…
case常量表達(dá)式n:語(yǔ)句ndefault:語(yǔ)句n+1}switch語(yǔ)句(續(xù))例:要求按照考試成績(jī)的等級(jí)輸出百分制分?jǐn)?shù)段,用switch語(yǔ)句實(shí)現(xiàn):
switch(grade){case′A′∶printf(″85~100\n″);case′B′∶printf(″70~84\n″);case′C′∶printf(″60~69\n″);case′D′∶printf(″<60\n″);default∶printf(″error\n″);}說(shuō)明:switch后面括弧內(nèi)的“表達(dá)式”,ANSI標(biāo)準(zhǔn)允許它為任何類(lèi)型。(2)當(dāng)表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語(yǔ)句,若所有的case中的常量表達(dá)式的值都沒(méi)有與表達(dá)式的值匹配的,就執(zhí)行default后面的語(yǔ)句。(3)每一個(gè)case的常量表達(dá)式的值必須互不相同,否則就會(huì)出現(xiàn)互相矛盾的現(xiàn)象(對(duì)表達(dá)式的同一個(gè)值,有兩種或多種執(zhí)行方案)。switch語(yǔ)句(續(xù))(4)各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。例如,可以先出現(xiàn)“default:…”,再出現(xiàn)
“case′D′:…”,然后是“case′A′:…”。(5)執(zhí)行完一個(gè)case后面的語(yǔ)句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行?!埃悖幔螅宄A勘磉_(dá)式”只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí),根據(jù)switch后面表達(dá)式的值找到匹配的入口標(biāo)號(hào),就從此標(biāo)號(hào)開(kāi)始執(zhí)行下去,不再進(jìn)行判斷。應(yīng)該在執(zhí)行一個(gè)case分支后,可以用一個(gè)break語(yǔ)句來(lái)終止switch語(yǔ)句的執(zhí)行。
(6)多個(gè)case可以共用一組執(zhí)行語(yǔ)句。
switch語(yǔ)句(續(xù))例
判定2000~2500年中的每一年是否閏年,將結(jié)果輸出。
分析:閏年的條件是:(1)能被4整除,但不能被100整除的年份都是閏年,如1996,2004年是閏年;(2)能被100整除,又能被400整除的年份是閏年。如1600,2000年是閏年。不符合這兩個(gè)條件的年份不是閏年。#include<stdio.h>
voidmain()
{ intyear,leap;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025有關(guān)煤炭運(yùn)輸?shù)墓I(yè)用煤采購(gòu)合同
- 2025廣州市房屋租賃合同樣本
- 2025版終止解除勞動(dòng)合同證明(標(biāo)準(zhǔn)格式)
- 2025蘇州市建筑裝飾裝修合同范本
- 2025授權(quán)物業(yè)管理協(xié)議合同范本
- 酒店上班勞務(wù)合同范本
- 2025年廣東省室內(nèi)裝飾裝修合同示范文本
- 浮力課件美術(shù)繪畫(huà)活動(dòng)
- 2025電梯維修合同
- 2025學(xué)校食堂經(jīng)營(yíng)合同范本
- 水利工程管理單位定崗標(biāo)準(zhǔn)(試點(diǎn))
- 2022年高考全國(guó)甲卷:寫(xiě)作指導(dǎo)及范文課件16張
- 無(wú)菌技術(shù)操作PPT
- DBJT15-82-2021 蒸壓加氣混凝土砌塊自承重墻體技術(shù)規(guī)程
- 臨時(shí)圍擋施工方案(標(biāo)準(zhǔn)版)
- 妊娠劇吐診斷以及臨床處理專(zhuān)家共識(shí)
- [PPT]橋梁工程樁基施工超全解析(41頁(yè) 配圖豐富)_ppt
- 叉車(chē)定期檢驗(yàn)研究分析報(bào)告
- 鉆井防卡手冊(cè)
- 光纜和管道的施工規(guī)范標(biāo)準(zhǔn)
- 《中國(guó)當(dāng)代文學(xué)專(zhuān)題》期末復(fù)習(xí)題及答案
評(píng)論
0/150
提交評(píng)論