《C語(yǔ)言程序結(jié)構(gòu)》PPT課件.ppt
《《C語(yǔ)言程序結(jié)構(gòu)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C語(yǔ)言程序結(jié)構(gòu)》PPT課件.ppt(36頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第4章C語(yǔ)言程序結(jié)構(gòu),,?C語(yǔ)言源程序由多個(gè)函數(shù)構(gòu)成,其中有且只有一個(gè)main函數(shù),應(yīng)用程序的入口點(diǎn)。?函數(shù)由函數(shù)頭和函數(shù)體組成。?函數(shù)體由聲明和語(yǔ)句組成。?C中語(yǔ)句有,表達(dá)式語(yǔ)句函數(shù)調(diào)用語(yǔ)句空語(yǔ)句復(fù)合語(yǔ)句控制語(yǔ)句,C語(yǔ)言語(yǔ)句,表達(dá)式語(yǔ)句表達(dá)式;函數(shù)調(diào)用語(yǔ)句printf(“helloworld”);復(fù)合語(yǔ)句:用{}括起的多條語(yǔ)句{語(yǔ)句1;語(yǔ)句2;}空語(yǔ)句;控制語(yǔ)句條件語(yǔ)句:if語(yǔ)句,switch語(yǔ)句循環(huán)語(yǔ)句:dowhile語(yǔ)句,while語(yǔ)句,for語(yǔ)句轉(zhuǎn)向語(yǔ)句:break語(yǔ)句,continue語(yǔ)句,goto語(yǔ)句,return語(yǔ)句,語(yǔ)句是c++程序中最小的可執(zhí)行單元。一條語(yǔ)句由一個(gè)分號(hào)結(jié)束。語(yǔ)句可以很簡(jiǎn)單,也可以很復(fù)雜。,復(fù)合語(yǔ)句也稱為塊(語(yǔ)句塊),在語(yǔ)法上起一個(gè)語(yǔ)句的作用。對(duì)單個(gè)語(yǔ)句必須以“;”結(jié)束,對(duì)復(fù)合語(yǔ)句,其中的每個(gè)語(yǔ)句仍可以“;”結(jié)束,而整個(gè)復(fù)合語(yǔ)句以“}”結(jié)束。,4.1順序結(jié)構(gòu),按語(yǔ)句順序逐條執(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語(yǔ)句(2個(gè)分支選擇)語(yǔ)法形式if(表達(dá)式)語(yǔ)句else語(yǔ)句說(shuō)明:表達(dá)式一般為關(guān)系表達(dá)式或邏輯表達(dá)式。但并不限于這兩種表達(dá)式,只要表達(dá)式類型是任意數(shù)值類型均可。(值為0代表假,值為非0代表真)語(yǔ)句為內(nèi)嵌語(yǔ)句,可以是簡(jiǎn)單語(yǔ)句、復(fù)合語(yǔ)句、空語(yǔ)句,控制語(yǔ)句。,條件,,,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語(yǔ)句嵌套if語(yǔ)句中,如果內(nèi)嵌語(yǔ)句又是if語(yǔ)句,就構(gòu)成了嵌套if語(yǔ)句。,if(條件)語(yǔ)句else語(yǔ)句,if(條件)語(yǔ)句else語(yǔ)句,if(條件)語(yǔ)句else語(yǔ)句,if(條件1)語(yǔ)句elseif(條件2)語(yǔ)句elseif(條件3)語(yǔ)句…else語(yǔ)句,,例1:將成績(jī)轉(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語(yǔ)句嵌套注意事項(xiàng)else總是與最近的if語(yǔ)句配對(duì)if或else后是多條語(yǔ)句,必須用{}括起,if(a==0)if(b==1)a++;elsea--;,if(a==0){if(b==1)a++;}else{a--;},if(a==0)if(b==1)a++;elsea--;,if(x>6){if(y>6)System.out.print(“x=“+x);System.out.print(“y=“+y);},if(x>6){if(y>6){System.out.print(“x=“+x);System.out.print(“y=“+y);}},,4.2.2switch語(yǔ)句(多個(gè)分支選擇)語(yǔ)法形式為:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句序列1case常量表達(dá)式2:語(yǔ)句序列2…case常量表達(dá)式n:語(yǔ)句序列ndefault:語(yǔ)句序列}說(shuō)明:表達(dá)式值為整型或字符型常量表達(dá)式值與條件表達(dá)式同類型,只能是常量,且各個(gè)值不能相同default部分可省略每個(gè)case分支可以有多條語(yǔ)句,可以不用{}執(zhí)行每個(gè)case語(yǔ)句是一個(gè)入口點(diǎn)可以使用break;跳出switch語(yǔ)句,,例1:輸入星期的數(shù)值,輸出對(duì)應(yīng)的英文單詞例2:輸出對(duì)應(yīng)月份的天數(shù)程序見(jiàn)書p48,49,4.3循環(huán)結(jié)構(gòu),提供重復(fù)處理的能力,當(dāng)某一特定條件為true時(shí),循環(huán)語(yǔ)句就重復(fù)執(zhí)行,并且每循環(huán)一次就會(huì)測(cè)試一下循環(huán)條件,如果為false則循環(huán)結(jié)束,否則繼續(xù)循環(huán)。C提供了三種支持循環(huán)結(jié)構(gòu)的語(yǔ)句:while語(yǔ)句do…while語(yǔ)句for語(yǔ)句三者可以完成類似的功能,不同的是它們控制循環(huán)的方式。,4.3.1while語(yǔ)句,語(yǔ)法形式while(表達(dá)式)語(yǔ)句說(shuō)明表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,但不局限于此。循環(huán)條件表達(dá)式值為非0表示真,循環(huán)繼續(xù),0表示假,循環(huán)停止。語(yǔ)句:簡(jiǎn)單語(yǔ)句,控制語(yǔ)句,復(fù)合語(yǔ)句,空語(yǔ)句。,while語(yǔ)句的執(zhí)行流程圖,,,求表達(dá)式的值,執(zhí)行循環(huán)體語(yǔ)句,表達(dá)式的值為真?,是,,否,,例1:求和1+2+…+100例2:輸入一個(gè)正整數(shù),求其階乘。(p50)例3:求兩個(gè)正整數(shù)的最大公約數(shù)。(p51),4.3.2do-while語(yǔ)句,語(yǔ)法形式:do語(yǔ)句while(表達(dá)式);與while語(yǔ)句不同的是do循環(huán)中的至少會(huì)執(zhí)行一次,而while語(yǔ)句當(dāng)條件第一次就不滿足時(shí),語(yǔ)句一次也不會(huì)被執(zhí)行。,否,是,,,,do-while語(yǔ)句的執(zhí)行流程圖,,例1:輸入一個(gè)正整數(shù),求其階乘。(p52)例2:求和1+2+…+100,4.3.3for語(yǔ)句,語(yǔ)法形式for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句說(shuō)明表達(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)語(yǔ)句頭的變化,for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句,三個(gè)表達(dá)式都可選,但“;”不能省。表達(dá)式1和表達(dá)式3都可以是“,”分隔的表達(dá)式列表逗號(hào)運(yùn)算符:,逗號(hào)表達(dá)式:用逗號(hào)將若干個(gè)表達(dá)式連起來(lái)組成的表達(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)語(yǔ)句小結(jié),1、循環(huán)語(yǔ)句要素循環(huán)控制變量、循環(huán)終止條件、循環(huán)體循環(huán)控制變量賦初值每次循環(huán)更改循環(huán)控制變量2、三種循環(huán)語(yǔ)句比較三種語(yǔ)句可以互相替代循環(huán)次數(shù)確定:for語(yǔ)句循環(huán)次數(shù)不定:至少執(zhí)行一次循環(huán)體do-while語(yǔ)句循環(huán)體可能一次都不執(zhí)行while語(yǔ)句,循環(huán)語(yǔ)句嵌套,例:輸出乘法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)語(yǔ)句與分支語(yǔ)句嵌套,例:顯示ASCII碼為30到90的所有字符(p57),4.3.4break和continue語(yǔ)句,1、break語(yǔ)句語(yǔ)法形式break;用于switch語(yǔ)句:跳出switch語(yǔ)句用于循環(huán)語(yǔ)句:終止循環(huán),跳出循環(huán)語(yǔ)句2、continue語(yǔ)句語(yǔ)法形式continue;用于循環(huán)語(yǔ)句:跳過(guò)本次循環(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ì),分析問(wèn)題,確定解決方法(數(shù)學(xué)模型,算法思想)確定數(shù)據(jù)結(jié)構(gòu)(確定要處理的數(shù)據(jù),以及數(shù)據(jù)的組織)確定算法,描述算法(確定如何處理數(shù)據(jù),使用哪些語(yǔ)句,操作流程是什么編寫程序,算法描述,算法描述方法程序流程圖N-S圖PAD圖偽代碼,,圖形表示,自然語(yǔ)言表示,,程序流程圖,三種基本成分:加工步驟邏輯條件控制流,,A,,B,,,A,B,,p,,,,,,,,,真,假,,,p,,A,真,,,,,,,p,,A,真,,,,,,,假,,,假,,A,B,,G,,,,,,,,i=,=a,=b,=c,,開始,輸入n,s=s+aa=a+1,a- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 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文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C語(yǔ)言程序結(jié)構(gòu) 語(yǔ)言 程序結(jié)構(gòu) PPT 課件
鏈接地址:http://www.3dchina-expo.com/p-12708269.html