![結(jié)構(gòu)化程序設(shè)計_第1頁](http://file4.renrendoc.com/view/068152c9aedd43444611415283880e97/068152c9aedd43444611415283880e971.gif)
![結(jié)構(gòu)化程序設(shè)計_第2頁](http://file4.renrendoc.com/view/068152c9aedd43444611415283880e97/068152c9aedd43444611415283880e972.gif)
![結(jié)構(gòu)化程序設(shè)計_第3頁](http://file4.renrendoc.com/view/068152c9aedd43444611415283880e97/068152c9aedd43444611415283880e973.gif)
![結(jié)構(gòu)化程序設(shè)計_第4頁](http://file4.renrendoc.com/view/068152c9aedd43444611415283880e97/068152c9aedd43444611415283880e974.gif)
![結(jié)構(gòu)化程序設(shè)計_第5頁](http://file4.renrendoc.com/view/068152c9aedd43444611415283880e97/068152c9aedd43444611415283880e975.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計第4章 結(jié)構(gòu)化程序設(shè)計第1章 C語言概述第2章 基本數(shù)據(jù)類型和運算第4章 結(jié)構(gòu)化程序設(shè)計第6章 函數(shù)第7章 指針第8章 復(fù)合結(jié)構(gòu)類型第9章 編譯預(yù)處理第5章 數(shù)組及字符串課程概述3.1 結(jié)構(gòu)化程序設(shè)計的思想及流程圖3.2 C程序語句3.3 順序結(jié)構(gòu)3.4 選擇結(jié)構(gòu)3.5 循環(huán)結(jié)構(gòu)3.6 本章容易出現(xiàn)錯誤的知識點總結(jié)(選學(xué)) 第10章 位運算第10章 文件第3章 算法結(jié)構(gòu)化程序設(shè)計第4章教學(xué)目標(biāo)了解結(jié)構(gòu)化程序設(shè)計的思想及流程圖的畫法 掌握順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的程序設(shè)計方法 熟練掌握if、while、for等循環(huán)控制語句的使用 掌握控制轉(zhuǎn)移語句break、continue的使
2、用 編制出簡單的C程序理解結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)的特點掌握C語言常用的幾種語句4.1.1 結(jié)構(gòu)化程序設(shè)計思想結(jié)構(gòu)化程序設(shè)計強(qiáng)調(diào)的是程序設(shè)計風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計風(fēng)格需要經(jīng)過以下幾個步驟進(jìn)行:(1)自頂向下(2)逐步細(xì)化(3)模塊化設(shè)計(4)結(jié)構(gòu)化編碼(依據(jù)程序的基本結(jié)構(gòu),利用現(xiàn)有的流控語句進(jìn)行編碼設(shè)計)4.1 結(jié)構(gòu)化程序設(shè)計的思想及流程圖4.1.1 結(jié)構(gòu)化程序設(shè)計思想結(jié)構(gòu)化程序設(shè)計 (Structured Programming)的核心是算法設(shè)計,基本思想是采用自頂向下、逐步細(xì)化的設(shè)計方法和單入單出的控制結(jié)構(gòu)。自頂向下和逐步細(xì)化的設(shè)計方法是將一個復(fù)雜任務(wù)按
3、照功能進(jìn)行拆分,并逐層細(xì)化到便于理解和描述的程度,最終形成由若干獨立模塊組成的樹狀層次結(jié)構(gòu),單入單出的控制結(jié)構(gòu)是指每個模塊內(nèi)部均用順序、選擇、循環(huán)三種基本結(jié)構(gòu)來描述。4.1 結(jié)構(gòu)化程序設(shè)計的思想及流程圖4.1.1 結(jié)構(gòu)化程序設(shè)計思想4.1 結(jié)構(gòu)化程序設(shè)計的思想及流程圖4.1.1 結(jié)構(gòu)化程序設(shè)計思想4.1 結(jié)構(gòu)化程序設(shè)計的思想及流程圖結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序,分支和循環(huán):(1)順序-從上到下依次執(zhí)行下來,中間沒有任何分叉(2)分支-在執(zhí)行過程中,根據(jù)條件成立與否產(chǎn)生了不同的操作;(3)循環(huán)-當(dāng)某一條件成立時,反復(fù)做相同的操作。 順序結(jié)構(gòu)是程序中的語句按照書寫的順序,自上而下地執(zhí)行其特點
4、是程序總是從第1條語句開始執(zhí)行,依次執(zhí)行完所有的語句后結(jié)束程序。4.2 順序結(jié)構(gòu)4.2.1 特點順序結(jié)構(gòu)程序設(shè)計的步驟(算法的體現(xiàn)):(1)定義數(shù)據(jù)(2)對數(shù)據(jù)進(jìn)行處理,以其得到相應(yīng)的結(jié)果(3)顯示結(jié)果4.2 順序結(jié)構(gòu)例1 輸入一個三位整數(shù),依次輸出該數(shù)的正(負(fù))號和百位、十位、個位數(shù)字。下圖所示為對應(yīng)的N-S流程圖。4.2.2 程序舉例4.2 順序結(jié)構(gòu)輸入一個三位整數(shù)存入x中x0?真假c4= +c4= -x=|x|c3=x%10+48c2=x%10+48x=x/10c1=x/10+48輸出c4、c1、c2、c3對應(yīng)的內(nèi)容代碼如下:4.2.2 程序舉例4.2 順序結(jié)構(gòu)#includemain(
5、)char c1,c2,c3,c4;int x;scanf(%d,&x); /* 輸入一個三位的整數(shù) */c4=x0?+:-;/* 將x的符號存入c4 */x=abs(x); /* 求三位整數(shù)的絕對值 */c3=x%10+48; /* x%10獲得個位數(shù)字,加48后轉(zhuǎn)換為對應(yīng)的字符 */x=x/10;/* 獲得x的前兩位 */c2=x%10+48; /* x%10獲得十位數(shù)字,加48后轉(zhuǎn)換為對應(yīng)的字符 */c1=x/10+48; /* x/10獲得百位數(shù)字,加48后轉(zhuǎn)換為對應(yīng)的字符 */printf(%cn%cn%cn%cn,c4,c1,c2,c3);在運行時,從鍵盤輸入: -345則輸出為:
6、 - 3 4 5接著從鍵盤輸入: 678則輸出為: + 6 7 8例2 輸入三角形的三邊長,求三角形面積。 分析:給出三角形的三邊a、b、c,可根據(jù)公式area=(s(s-a)(s-b)(s-c)1/2計算該三角形的面積,其中s=(a+b+c)/2。下圖所示為對應(yīng)的N-S流程圖。4.2 程序舉例4.2 順序結(jié)構(gòu)輸入三角形的三條邊a、b、c求三角形三邊和的一半s=1.0/2*(a+b+c)計算三角形的面積area=sqrt(s*(s-a)*(s-b)*(s-c)輸出a、b、c、s的值輸出三角形的面積area的值代碼如下:4.2.2 程序舉例4.2 順序結(jié)構(gòu)#include main() floa
7、t a,b,c,s,area; printf(please input three border of the triangle:); 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.2fb=%-7.2fc=%-7.2fs=%-7.2fn,a,b,c,s); printf(area=%-7.2fn,area); 該程序的運行結(jié)果如下:please input three borde
8、r of the triangle:3,4,5a=3.00 b=4.00 c=5.00 s=6.00area=6.0012表達(dá)式語句由表達(dá)式加上分號“;”組成。執(zhí)行表達(dá)式語句就是計算表達(dá)式的值。例如:x=y+z; /*賦值語句*/y+z; /*加法運算語句,但計算結(jié)果不能保 留,無實際意義*/i+; /*自增1語句,i值增1*/344.3 C程序語句5表達(dá)式語句12函數(shù)調(diào)用語句由函數(shù)名、實際參數(shù)加上分號“;”組成。例如: printf(%fn%fn,a,b);執(zhí)行函數(shù)語句就是調(diào)用函數(shù)體并把實際參數(shù)賦予函數(shù)定義中的形式參數(shù),然后執(zhí)行被調(diào)函數(shù)體中的語句,從而求出函數(shù)值。有關(guān)函數(shù)的知識在后繼的章節(jié)中
9、將詳細(xì)介紹。344.3 C程序語句5函數(shù)調(diào)用語句12控制語句用于控制程序的流程,以實現(xiàn)程序的各種結(jié)構(gòu)方式。它們由特定的語句定義符組成。語言有9種控制語句,具體可以將其細(xì)分為如表所示的三類。344.3 C程序語句5控制語句序號語句類型語句類別語句說明1條件判斷語句if語句簡單條件語句switch語句多分支選擇語句2循環(huán)執(zhí)行語句do while語句循環(huán)語句while語句循環(huán)語句for語句循環(huán)語句3轉(zhuǎn)向語句break語句中止執(zhí)行switch語句或循環(huán)語句goto語句轉(zhuǎn)向語句continue語句結(jié)束本次循環(huán)語句return語句從函數(shù)返回語句12用大括號 括起來的相互關(guān)聯(lián)的若干語句的集合稱為“復(fù)合語句”
10、,又稱為“分程序”。復(fù)合語句內(nèi)的各條語句都必須以分號“;”結(jié)尾,在大括號“”外不能再加分號。例如,下面的語句就是一條復(fù)合語句: x=y+z; a=b+c; printf(%d%d,x,a);344.3 C程序語句5復(fù)合語句12只有分號“;”組成的語句稱為空語句??照Z句是什么也不執(zhí)行的語句。例如:while(getchar()!=n);344.3 C程序語句5空語句練習(xí)一 練習(xí)二練習(xí)編程序:求ax2+bx+c=0方程的根,其中a,b,c由鍵盤輸入,假設(shè)b2-4ac0.首先要分析問題中出現(xiàn)了哪些數(shù)據(jù)需要處理,會得到哪些結(jié)果,為了能表示和處理這些數(shù)據(jù)及結(jié)果應(yīng)該確定定義變量的個數(shù)和類型。該題目要表示三
11、個系數(shù)a,b,c和兩個所求的根x1,x2 ,所以需要有5個float型的變量。在求解過程中還要保存 =b2-4ac這個中間結(jié)果,所以一共要定義6個float型變量。練習(xí)一 練習(xí)二練習(xí)#includemain()float a,b,c,x1,x2,deta;printf(“please input a,b,c:n);scanf(%f%f%f,&a,&b,&c);deta=b*b-4*a*c;x1=(-b+sqrt(deta)/(2*a);x2=(-b-sqrt(deta)/(2*a);printf(the result N0.1 is:%fn,x1);printf(the result N0.2
12、 is:%fn,x2);please input a,b,c:2 -6 -8the result N0.1 is:4.000000the result N0.2 is:-1.000000練習(xí)一 練習(xí)二練習(xí)交換兩數(shù)的值,并顯示交換后的結(jié)果。(假設(shè)兩數(shù)存放在變量a,b中)練習(xí)一 練習(xí)二練習(xí)#include 結(jié)果:Main() a=10,b=5 int a,b,swap; a=5;b=10; swap=a; a=b; b=swap; printf(“a=%d, b=%d”,a,b);134524.4 本章容易出現(xiàn)錯誤的知識點總結(jié)(選學(xué))忽略了“=”與“=”的區(qū)別C語言中,“=”是賦值運算符,“=”是關(guān)系運算符。如:if(a=8) a=b;234514.4 本章容易出現(xiàn)錯誤的知識點總結(jié)(選學(xué))在程序中多加了分號復(fù)合語句的花括號后不應(yīng)再加分號,否則就會產(chǎn)生一些不必要的麻煩。如:for(i=0;i6;i+) ; scanf(%d,&x); printf(%d,x);程序的本意是先后輸入6個數(shù),每輸入一個數(shù)后再將其輸出。由于for()后多加了一個分號,使循環(huán)體變?yōu)榭照Z句,此時只能輸入一個
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)法律培訓(xùn)與內(nèi)控體系建設(shè)合同
- 2025年度競業(yè)禁止及保密協(xié)議在法律服務(wù)業(yè)的執(zhí)行合同
- 2025年度生態(tài)環(huán)保產(chǎn)業(yè)園建設(shè)工程合同
- 2025年度建筑廢棄物回收處理施工合同范本
- 2025年度聚丙烯生產(chǎn)過程節(jié)能降耗合同
- 2025年度健康管理與養(yǎng)老產(chǎn)業(yè)合作擔(dān)保合同范本
- 2025年度知識產(chǎn)權(quán)評估居間轉(zhuǎn)讓合同
- 班級學(xué)期教學(xué)成果回顧與提升策略
- 2025年度國際物流倉儲配送服務(wù)及供應(yīng)鏈管理合同范本
- 2025年度會務(wù)活動住宿安排服務(wù)合同范本
- 電流互感器試驗報告
- 蔣中一動態(tài)最優(yōu)化基礎(chǔ)
- 華中農(nóng)業(yè)大學(xué)全日制專業(yè)學(xué)位研究生實踐單位意見反饋表
- 七年級英語閱讀理解10篇(附答案解析)
- 抖音來客本地生活服務(wù)酒旅商家代運營策劃方案
- 鉆芯法樁基檢測報告
- 【學(xué)前教育小學(xué)化成因分析及其對策10000字(論文)】
- 無線網(wǎng)網(wǎng)絡(luò)安全應(yīng)急預(yù)案
- 國籍狀況聲明書【模板】
- 常用保潔綠化人員勞動合同范本5篇
- 腕管綜合征課件
評論
0/150
提交評論