《C語言程序結(jié)構(gòu)》PPT課件.ppt
《《C語言程序結(jié)構(gòu)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C語言程序結(jié)構(gòu)》PPT課件.ppt(36頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第4章C語言程序結(jié)構(gòu),C語言源程序由多個(gè)函數(shù)構(gòu)成,其中有且只有一個(gè)main函數(shù),應(yīng)用程序的入口點(diǎn)。函數(shù)由函數(shù)頭和函數(shù)體組成。函數(shù)體由聲明和語句組成。C中語句有,表達(dá)式語句函數(shù)調(diào)用語句空語句復(fù)合語句控制語句,C語言語句,表達(dá)式語句表達(dá)式;函數(shù)調(diào)用語句printf(“helloworld”);復(fù)合語句:用括起的多條語句語句1;語句2;空語句;控制語句條件語句:if語句,switch語句循環(huán)語句:dowhile語句,while語句,for語句轉(zhuǎn)向語句:break語句,continue語句,goto語句,return語句,語句是c+程序中最小的可執(zhí)行單元。一條語句由一個(gè)分號(hào)結(jié)束。語句可以很簡單,也可以很復(fù)雜。,復(fù)合語句也稱為塊(語句塊),在語法上起一個(gè)語句的作用。對(duì)單個(gè)語句必須以“;”結(jié)束,對(duì)復(fù)合語句,其中的每個(gè)語句仍可以“;”結(jié)束,而整個(gè)復(fù)合語句以“”結(jié)束。,4.1順序結(jié)構(gòu),按語句順序逐條執(zhí)行例:輸入兩個(gè)整數(shù),輸出它們的和,voidmain()intx,y,sum;x=10;y=20;sum=x+y;printf(“%d+%d=%d”,x,y,sum);,A,B,4.2選擇結(jié)構(gòu),4.2.1if語句(2個(gè)分支選擇)語法形式if(表達(dá)式)語句else語句說明:表達(dá)式一般為關(guān)系表達(dá)式或邏輯表達(dá)式。但并不限于這兩種表達(dá)式,只要表達(dá)式類型是任意數(shù)值類型均可。(值為0代表假,值為非0代表真)語句為內(nèi)嵌語句,可以是簡單語句、復(fù)合語句、空語句,控制語句。,條件,A,B,Y,N,可選,例1:輸入一個(gè)整數(shù),輸出其絕對(duì)值例2:對(duì)輸入的兩個(gè)正整數(shù)求和,否則提示輸入錯(cuò)誤。例3:輸入兩個(gè)整數(shù),輸出其中較大的數(shù)例4:輸入三個(gè)整數(shù),判斷這三個(gè)整數(shù)能否作為三角形的三條邊,例1:輸入一個(gè)整數(shù),輸出其絕對(duì)值#includevoidmain()inta,b;scanf(%d,例2:對(duì)輸入的兩個(gè)正整數(shù)求和,否則提示輸入錯(cuò)誤。#includevoidmain()inta,b,sum;scanf(%d%d,if語句嵌套if語句中,如果內(nèi)嵌語句又是if語句,就構(gòu)成了嵌套if語句。,if(條件)語句else語句,if(條件)語句else語句,if(條件)語句else語句,if(條件1)語句elseif(條件2)語句elseif(條件3)語句else語句,例1:將成績轉(zhuǎn)換為ABCDE五級(jí)分制例2:輸入三個(gè)整數(shù),輸出其最大值,#includevoidmain()inta,b,c,max;scanf(%d%d%d,#includevoidmain()inta,b,c,max;scanf(%d%d%d,#includevoidmain()inta,b,c,max;scanf(%d%d%d,例2:輸入三個(gè)整數(shù),輸出其最大值(三種解法),if語句嵌套注意事項(xiàng)else總是與最近的if語句配對(duì)if或else后是多條語句,必須用括起,if(a=0)if(b=1)a+;elsea-;,if(a=0)if(b=1)a+;elsea-;,if(a=0)if(b=1)a+;elsea-;,if(x6)if(y6)System.out.print(“x=“+x);System.out.print(“y=“+y);,if(x6)if(y6)System.out.print(“x=“+x);System.out.print(“y=“+y);,4.2.2switch語句(多個(gè)分支選擇)語法形式為:switch(表達(dá)式)case常量表達(dá)式1:語句序列1case常量表達(dá)式2:語句序列2case常量表達(dá)式n:語句序列ndefault:語句序列說明:表達(dá)式值為整型或字符型常量表達(dá)式值與條件表達(dá)式同類型,只能是常量,且各個(gè)值不能相同default部分可省略每個(gè)case分支可以有多條語句,可以不用執(zhí)行每個(gè)case語句是一個(gè)入口點(diǎn)可以使用break;跳出switch語句,例1:輸入星期的數(shù)值,輸出對(duì)應(yīng)的英文單詞例2:輸出對(duì)應(yīng)月份的天數(shù)程序見書p48,49,4.3循環(huán)結(jié)構(gòu),提供重復(fù)處理的能力,當(dāng)某一特定條件為true時(shí),循環(huán)語句就重復(fù)執(zhí)行,并且每循環(huán)一次就會(huì)測(cè)試一下循環(huán)條件,如果為false則循環(huán)結(jié)束,否則繼續(xù)循環(huán)。C提供了三種支持循環(huán)結(jié)構(gòu)的語句:while語句dowhile語句for語句三者可以完成類似的功能,不同的是它們控制循環(huán)的方式。,4.3.1while語句,語法形式while(表達(dá)式)語句說明表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,但不局限于此。循環(huán)條件表達(dá)式值為非0表示真,循環(huán)繼續(xù),0表示假,循環(huán)停止。語句:簡單語句,控制語句,復(fù)合語句,空語句。,while語句的執(zhí)行流程圖,求表達(dá)式的值,執(zhí)行循環(huán)體語句,表達(dá)式的值為真?,是,否,例1:求和1+2+100例2:輸入一個(gè)正整數(shù),求其階乘。(p50)例3:求兩個(gè)正整數(shù)的最大公約數(shù)。(p51),4.3.2do-while語句,語法形式:do語句while(表達(dá)式);與while語句不同的是do循環(huán)中的至少會(huì)執(zhí)行一次,而while語句當(dāng)條件第一次就不滿足時(shí),語句一次也不會(huì)被執(zhí)行。,否,是,do-while語句的執(zhí)行流程圖,例1:輸入一個(gè)正整數(shù),求其階乘。(p52)例2:求和1+2+100,4.3.3for語句,語法形式for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句說明表達(dá)式1:初值表達(dá)式,初始化循環(huán)控制變量并表達(dá)式2:循環(huán)條件表達(dá)式,判斷循環(huán)是否進(jìn)行,非0為真,執(zhí)行循序,0為假,終止循環(huán)。表達(dá)式3:修改循環(huán)控制變量,改變循環(huán)條件,例1:輸入一個(gè)正整數(shù),求其階乘。例2:求和1+2+100。,for循環(huán)語句頭的變化,for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句,三個(gè)表達(dá)式都可選,但“;”不能省。表達(dá)式1和表達(dá)式3都可以是“,”分隔的表達(dá)式列表逗號(hào)運(yùn)算符:,逗號(hào)表達(dá)式:用逗號(hào)將若干個(gè)表達(dá)式連起來組成的表達(dá)式。例如已知intn,i;i=0,n=1逗號(hào)表達(dá)式運(yùn)算:從左到右依次求出各表達(dá)式的值,并將最后一個(gè)表達(dá)式的值做為整個(gè)逗號(hào)表達(dá)式的值。,例1:求和1+2+100。(p54),循環(huán)語句小結(jié),1、循環(huán)語句要素循環(huán)控制變量、循環(huán)終止條件、循環(huán)體循環(huán)控制變量賦初值每次循環(huán)更改循環(huán)控制變量2、三種循環(huán)語句比較三種語句可以互相替代循環(huán)次數(shù)確定:for語句循環(huán)次數(shù)不定:至少執(zhí)行一次循環(huán)體do-while語句循環(huán)體可能一次都不執(zhí)行while語句,循環(huán)語句嵌套,例:輸出乘法99表(p58),#includevoidmain()inti,j,k;for(i=1;i=9;i+)for(j=1;j=i;j+)k=i*j;printf(%2d*%2d=%2d,i,j,k);printf(n);,循環(huán)語句與分支語句嵌套,例:顯示ASCII碼為30到90的所有字符(p57),4.3.4break和continue語句,1、break語句語法形式break;用于switch語句:跳出switch語句用于循環(huán)語句:終止循環(huán),跳出循環(huán)語句2、continue語句語法形式continue;用于循環(huán)語句:跳過本次循環(huán),開始下一次循環(huán)(下一次循環(huán)是否執(zhí)行仍然取決于循環(huán)條件的判斷。),例1:讀取輸入的數(shù)據(jù),并求和,當(dāng)輸入數(shù)據(jù)為0時(shí),結(jié)束。(p59)例2:求滿足條件12+22+n2=1000的最大n值(p59)例3:輸出200以內(nèi)所有不能被7整除的數(shù)(參考p60,61例4-16,4-17),程序設(shè)計(jì),分析問題,確定解決方法(數(shù)學(xué)模型,算法思想)確定數(shù)據(jù)結(jié)構(gòu)(確定要處理的數(shù)據(jù),以及數(shù)據(jù)的組織)確定算法,描述算法(確定如何處理數(shù)據(jù),使用哪些語句,操作流程是什么編寫程序,算法描述,算法描述方法程序流程圖N-S圖PAD圖偽代碼,圖形表示,自然語言表示,程序流程圖,三種基本成分:加工步驟邏輯條件控制流,A,B,A,B,p,真,假,p,A,真,p,A,真,假,假,A,B,G,i=,=a,=b,=c,開始,輸入n,s=s+aa=a+1,an,Y,N,輸出s,結(jié)束,例:輸入整數(shù)n,求小于n的所有整數(shù)之和,分析:數(shù)學(xué)模型:sum=1+2+3+n算法思想:循環(huán)累加需處理的數(shù)據(jù):n,所求的和累加的循環(huán)控制變量算法描述,s=0,a=0,PAD圖,PAD圖所描述的程序結(jié)構(gòu)十分清晰。圖中最左邊的豎線是程序的主線,即第一層控制結(jié)構(gòu)。隨著程序?qū)哟蔚脑黾?,PAD圖逐漸向右延伸,每增加一個(gè)層次,圖形向右擴(kuò)展一條豎線。PAD圖中豎線的總條數(shù)就是程序的層次數(shù);,S1,S2,S1,S2,Q,Q1,Q2,Qn,s1,s2,sn,WHILEQ,S,dowhileQ,S,c1,c2,cn,S1,S2,Sn,switche=,for,S,例:輸入整數(shù)n,求小于n的所有整數(shù)之和,分析:數(shù)學(xué)模型:sum=1+2+3+n算法思想:循環(huán)累加需處理的數(shù)據(jù):n,所求的和累加的循環(huán)控制變量算法描述,輸入n,whilean,s=s+a,a+,輸出s,a,s初始化,開始,結(jié)束,例1:輸入一個(gè)整數(shù)n,求2n之間的所有素?cái)?shù)(p63)例2:已知公式ex=1+x+x2/2!+xn/n!輸入x與n的值,求ex(p61),例1:輸入一個(gè)整數(shù)n,求2n之間的所有素?cái)?shù)分析:數(shù)學(xué)模型:求素?cái)?shù):n%2!=0in;i+,t=xpower/fact,s=s+t,xpower=xpower*xfact=fact*i,開始,結(jié)束,輸出s,作業(yè),p73習(xí)題3,8,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C語言程序結(jié)構(gòu) 語言 程序結(jié)構(gòu) PPT 課件
鏈接地址:http://m.appdesigncorp.com/p-12708269.html