版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言程序設計第4章 結構化程序設計第1章 C語言概述第2章 基本數(shù)據(jù)類型和運算第4章 結構化程序設計第6章 函數(shù)第7章 指針第8章 復合結構類型第9章 編譯預處理第5章 數(shù)組及字符串課程概述3.1 結構化程序設計的思想及流程圖3.2 C程序語句3.3 順序結構3.4 選擇結構3.5 循環(huán)結構3.6 本章容易出現(xiàn)錯誤的知識點總結(選學) 第10章 位運算第10章 文件第3章 算法結構化程序設計第4章教學目標了解結構化程序設計的思想及流程圖的畫法 掌握順序結構、選擇結構、循環(huán)結構的程序設計方法 熟練掌握if、while、for等循環(huán)控制語句的使用 掌握控制轉移語句break、continue的使
2、用 編制出簡單的C程序理解結構化程序設計的三種基本結構的特點掌握C語言常用的幾種語句4.1.1 結構化程序設計思想結構化程序設計強調的是程序設計風格和程序結構的規(guī)范化,提倡清晰的結構。結構化程序設計風格需要經(jīng)過以下幾個步驟進行:(1)自頂向下(2)逐步細化(3)模塊化設計(4)結構化編碼(依據(jù)程序的基本結構,利用現(xiàn)有的流控語句進行編碼設計)4.1 結構化程序設計的思想及流程圖4.1.1 結構化程序設計思想結構化程序設計 (Structured Programming)的核心是算法設計,基本思想是采用自頂向下、逐步細化的設計方法和單入單出的控制結構。自頂向下和逐步細化的設計方法是將一個復雜任務按
3、照功能進行拆分,并逐層細化到便于理解和描述的程度,最終形成由若干獨立模塊組成的樹狀層次結構,單入單出的控制結構是指每個模塊內部均用順序、選擇、循環(huán)三種基本結構來描述。4.1 結構化程序設計的思想及流程圖4.1.1 結構化程序設計思想4.1 結構化程序設計的思想及流程圖4.1.1 結構化程序設計思想4.1 結構化程序設計的思想及流程圖結構化程序設計的三種基本結構:順序,分支和循環(huán):(1)順序-從上到下依次執(zhí)行下來,中間沒有任何分叉(2)分支-在執(zhí)行過程中,根據(jù)條件成立與否產(chǎn)生了不同的操作;(3)循環(huán)-當某一條件成立時,反復做相同的操作。 順序結構是程序中的語句按照書寫的順序,自上而下地執(zhí)行其特點
4、是程序總是從第1條語句開始執(zhí)行,依次執(zhí)行完所有的語句后結束程序。4.2 順序結構4.2.1 特點順序結構程序設計的步驟(算法的體現(xiàn)):(1)定義數(shù)據(jù)(2)對數(shù)據(jù)進行處理,以其得到相應的結果(3)顯示結果4.2 順序結構例1 輸入一個三位整數(shù),依次輸出該數(shù)的正(負)號和百位、十位、個位數(shù)字。下圖所示為對應的N-S流程圖。4.2.2 程序舉例4.2 順序結構輸入一個三位整數(shù)存入x中x0?真假c4= +c4= -x=|x|c3=x%10+48c2=x%10+48x=x/10c1=x/10+48輸出c4、c1、c2、c3對應的內容代碼如下:4.2.2 程序舉例4.2 順序結構#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后轉換為對應的字符 */x=x/10;/* 獲得x的前兩位 */c2=x%10+48; /* x%10獲得十位數(shù)字,加48后轉換為對應的字符 */c1=x/10+48; /* x/10獲得百位數(shù)字,加48后轉換為對應的字符 */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。下圖所示為對應的N-S流程圖。4.2 程序舉例4.2 順序結構輸入三角形的三條邊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 順序結構#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); 該程序的運行結果如下: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表達式語句由表達式加上分號“;”組成。執(zhí)行表達式語句就是計算表達式的值。例如:x=y+z; /*賦值語句*/y+z; /*加法運算語句,但計算結果不能保 留,無實際意義*/i+; /*自增1語句,i值增1*/344.3 C程序語句5表達式語句12函數(shù)調用語句由函數(shù)名、實際參數(shù)加上分號“;”組成。例如: printf(%fn%fn,a,b);執(zhí)行函數(shù)語句就是調用函數(shù)體并把實際參數(shù)賦予函數(shù)定義中的形式參數(shù),然后執(zhí)行被調函數(shù)體中的語句,從而求出函數(shù)值。有關函數(shù)的知識在后繼的章節(jié)中
9、將詳細介紹。344.3 C程序語句5函數(shù)調用語句12控制語句用于控制程序的流程,以實現(xiàn)程序的各種結構方式。它們由特定的語句定義符組成。語言有9種控制語句,具體可以將其細分為如表所示的三類。344.3 C程序語句5控制語句序號語句類型語句類別語句說明1條件判斷語句if語句簡單條件語句switch語句多分支選擇語句2循環(huán)執(zhí)行語句do while語句循環(huán)語句while語句循環(huán)語句for語句循環(huán)語句3轉向語句break語句中止執(zhí)行switch語句或循環(huán)語句goto語句轉向語句continue語句結束本次循環(huán)語句return語句從函數(shù)返回語句12用大括號 括起來的相互關聯(lián)的若干語句的集合稱為“復合語句”
10、,又稱為“分程序”。復合語句內的各條語句都必須以分號“;”結尾,在大括號“”外不能再加分號。例如,下面的語句就是一條復合語句: x=y+z; a=b+c; printf(%d%d,x,a);344.3 C程序語句5復合語句12只有分號“;”組成的語句稱為空語句??照Z句是什么也不執(zhí)行的語句。例如:while(getchar()!=n);344.3 C程序語句5空語句練習一 練習二練習編程序:求ax2+bx+c=0方程的根,其中a,b,c由鍵盤輸入,假設b2-4ac0.首先要分析問題中出現(xiàn)了哪些數(shù)據(jù)需要處理,會得到哪些結果,為了能表示和處理這些數(shù)據(jù)及結果應該確定定義變量的個數(shù)和類型。該題目要表示三
11、個系數(shù)a,b,c和兩個所求的根x1,x2 ,所以需要有5個float型的變量。在求解過程中還要保存 =b2-4ac這個中間結果,所以一共要定義6個float型變量。練習一 練習二練習#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練習一 練習二練習交換兩數(shù)的值,并顯示交換后的結果。(假設兩數(shù)存放在變量a,b中)練習一 練習二練習#include 結果: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)錯誤的知識點總結(選學)忽略了“=”與“=”的區(qū)別C語言中,“=”是賦值運算符,“=”是關系運算符。如:if(a=8) a=b;234514.4 本章容易出現(xiàn)錯誤的知識點總結(選學)在程序中多加了分號復合語句的花括號后不應再加分號,否則就會產(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025工程大學項目采購購銷合同書
- 2025公司轉讓合同協(xié)議版
- 2025含競業(yè)禁止條款的勞動合同
- 老年人視角下的家庭醫(yī)療輔助設備評價
- 提升客戶體驗-實現(xiàn)銷售增長的秘密武器
- 2024年戶外機柜溫控節(jié)能項目投資申請報告代可行性研究報告
- 游戲化教學法在小學數(shù)學中的推廣與應用
- 教育領域中的小學數(shù)學思維訓練研究
- 小學數(shù)學與邏輯思維培養(yǎng)
- 2024-2025學年度第一學期期末考試八年級歷史試卷
- 2025-2030年中國草莓市場競爭格局及發(fā)展趨勢分析報告
- 第二章《有理數(shù)的運算》單元備課教學實錄2024-2025學年人教版數(shù)學七年級上冊
- 華為智慧園區(qū)解決方案介紹
- 奕成玻璃基板先進封裝中試線項目環(huán)評報告表
- 廣西壯族自治區(qū)房屋建筑和市政基礎設施全過程工程咨詢服務招標文件范本(2020年版)修訂版
- 人教版八年級英語上冊期末專項復習-完形填空和閱讀理解(含答案)
- 2024新版有限空間作業(yè)安全大培訓
- GB/T 44304-2024精細陶瓷室溫斷裂阻力試驗方法壓痕(IF)法
- 年度董事會工作計劃
- 《退休不褪色余熱亦生輝》學校退休教師歡送會
- 02R112拱頂油罐圖集
評論
0/150
提交評論