




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3C語言程序的流程控制對于那些復法(如用程序流程圖)本章將具體介紹進行程序設計時使用的基本方C程序的流程控制。3.1程序設計的基本知識3.1.1程序流程圖在描述一個程序的基本結構思想時有很多種方法,其中程序流程圖是最常用也是最基本的方法。1. 傳統程序流程圖傳統流程圖表示法的特點是用一些圖框線表示這些操作ANSI規國普遍采用。我國也有自己的國家標準GB1526-89與該標準基本相同,本書就參照ANSI圖所示。起止框 輸入輸出框 判斷框 處理框或 流程線 連接點 注釋框圖傳統流程圖表示法下面對其中一些主要符號作簡要說明:(1)起止框是用來標識程序的開始和結束位置的。規定流程圖以起止框開始,以起止框結束。(2)輸入輸出框也叫數據框,其中可以注明數據名稱、來源、用途或其它的文字說明。(3)菱形框的作用是對一個給定的條件進行判斷,根據給定的條件是否成立來決定如何執行其后的操作。(4)處理框用矩形表示各種處理功或其簡要功能。(5)流程線用帶箭頭的直線表示程序的執行順序。當流程自左向右或自上向下時流程線可以不帶箭頭,其它情況應加箭頭表示流程。(6)常用在圖形畫不下而需要分開畫時。①①(7)更好的理解流程圖的作用。2. N-S流程圖靈活的流程線在程序設計中有它自己的優點,但也隱藏著許多導致錯誤的禍根。因為它允許用流程線使流程任意轉移,這對程序設計是一個隱患,它使程序流程看起來很年美國學者INassi和BShneiderman提出了一種N-S圖它的基本表示方法是用一個矩形框,把整個3.1.2程序的三種基本結構結構化的程序設計方法是面向過程的程1996Bobra和Jacopini提出了三種基本程序結構。已經證1.順序結構語句組1
(傳統流程圖表示語句組1 (N-S流程圖表示圖順序結構流程圖語句組2
2. 語句2結構成立條件P
不成立
條件P真 假(傳統流程圖表示)
(N-S流程圖表示)圖選擇結構流句組1 語句組23. 循環結構語句組1 語句組2while循環結構條件P不成立 成立
當條件P成立語句組(傳統流程圖表示) (N-S流程圖表示圖當型循環結構流程圖o…while語句組直到條件語句組直到條件P成立語句組條件P成立語句組條件P成立立傳統流程圖表示)圖直到型流程圖例畫出求s=1+2+3+…+100的傳統流程圖和N-S流程圖。開始3.2
i1;s
言的基本語句
i=1;s=0;i<=100
s=s+i;3.2.1表達式語句s=s+i;i=i+1;
s
i=i+1;C語言是一種表達式語言,所有的操作運算都00
過表達式來實現的。由表達式組成立語句稱為表達式語句,它是由一個表達式后接s
分號組成。這里要特別強調,沒賦值語句賦值語句由賦值表達式加一個分號組成。例如:i=1;2. 函數調用語句函數調用語句由函數調用表達式后跟一個分號組成。例如:strcpy(s1,"student",4);printf("goodafternoon\n");3. 空語句空語句是只有一個分號而沒有其他表達式的語句。例如:;它不產生任何操作運算,只作為形式上的語句,被填充在控制結構之中。3.2.2復合語句C語言還允許把一組語句放在一對花括號要特別強調一點,一例如:{c=getchar();b=b+c;putchar();}3.2.3流程控制語句選擇型結構語句循環控制結構語句流程轉向語句……3.3選擇結構程序設計在C語言中實現選擇結構的語句有兩大類:if語句和switch語句。3.3.1if語句if語句格式:if(表達式)語句;功能:如果表達式的值為真,則執行其后的語句,否則不執行該語句。其N-S流程圖如圖表示。表達式真if圖ifelse格式:if(表達式)1;else語句2;功能:如果表達式值為真,則執行語句12表達式真 假ife2句流程圖例從鍵盤輸入任意一整數,求其絕對值并輸出。#include<>{int x;printf("pleaseenteranumber:");scanf("%d",&x);if(x<0)x=-x;elsex=x;printf("numberabsisd%",x);}ififif語句時,if以表示如下:if(表達式)if 語句else elseif 3;else 4;if一條復合語句,才能被完全執行。例如:if(a>b){a++;b++;}else{a=10;b=100;}3.3.2switch語句switch且,其執行效率要比同樣功能的階梯式if…elseif…else語句要高的多。1.switch語句的一般形式switch語句的一般形式如下:switch(表達式){case1:case2:··case常量表達式n:語句組default :語句組n+1;}2.switch語句的執行過程系統首先計算“表達式”的值,并逐個switch結構中后面的各語句。如果沒有任何一個casedefault(組例switch語句實現例3.4的功能。#include<>main(){int score;printf("pleaseinputscore(0-100):");scanf("%d",&score); /*生成績*/switch(score/10);{case10:case9:printf("excellent\n");break;case8:printf("good\n");break;case7:printf("medium\n");break;case6:printf("pass\n");break;default:printf("fail\n");}}3.4循環結構程序設計C語言提供了循環控制的三種語句:while語句、do…whilefor語句。3.4.1while語句while制結構如下:while(條件表達式循環體例計算并輸出從1加到100的和:s=1+2+3+┅100。#include<>main(){intsum=0,i=1;/*設置和與循環變量*/while(i<=100){sum=sum+i;i++;}printf("Sum=%d",sum);}程序執行結果如下:Thesumof1to100equalsis:50503.4.2 do…whiledo…whileC到型”循環。其一般形式為:do循環體while(條件表達式例do…while1+2+3+…+100和。#include<>main(){inti=1,sum=0;do{sum=sum+i;i++;}while(i<=100);printf("sum=%d",sum);}3.4.3for循環語句for既可以用于未知的情況。for語句的一般形式如下:for(1;2;循環體如圖所示,for語句的執行流程是:求解表達式1圖for語句的執行流程例se表達式2
的所有因子。求一個整數ne1~n(
有因子可以采用窮舉nn的因子。由分析可知,這是求解表達式3for語句。#include<>main(){int n,k;printf("Pleaseinputapositiveinteger:");scanf("%d",&n);printf("Number%dFactors:",n);for(k=1;k<=n;k++)if(n%k==0)printf(" printf("\n");}程序某次的運行結果如下:Pleaseinputapositiveinteger:36↙Number36Factors:1 2 3 4 6 12 18 363.4.4循環嵌套一個循環體內又可以包含另外一個完整的循環結構,從而構成多重循環結構,這就是循環的嵌套。3.4.5continuebreak語句1.continue語句continue語句可以出現在循環體中,其作用是結束本次循環它跳過循環體中下面尚未執行的語句,直接進行下一次是否執行循環的判定。60~6009整除的數。#include<>main(){intm;for(m=60;m<=600;m++){if(m%9==0)continue;printf("%d\n",m);}}9continue語句結束本次循環(其后的輸出語句不執行循環結構,接著對下一個數進行判斷。2. break語句breakswitch結構或循環結構,而不能用于其他結構。但用在循環結(或終止它所在的循環而不能同時跳出(或終止)多層循環。本章小結從程序執行的流程來看,程序可分為三手系統的介紹了這三種基本結構。程序中執行部分最基本的單位是語句。本章主要介紹了以下三種類型的語句:表達式語句,任何表達式末尾加語句為賦值語句。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國電子雨刮器行業市場競爭現狀及發展趨向研判報告
- 雨污分流管網改造建設項目規劃設計方案(模板范文)
- 一般固廢綜合利用處置中心工程實施方案(參考范文)
- 軌道交通智能制造研究-洞察闡釋
- 菜單設計與消費者食物浪費行為的動態優化路徑研究-洞察闡釋
- 農民專業合作社供應鏈管理與農業產出彈性研究-洞察闡釋
- 腹直肌損傷的力-功能-再生交叉研究-洞察闡釋
- 塑料家具市場細分策略-洞察闡釋
- 饅頭商標注冊行業深度調研及發展項目商業計劃書
- 新能源汽車產業鏈相關技術的教學資源整合
- 失禁性皮炎預防及護理
- 2025年福建廈門市高三三模高考數學試卷試題(含答案詳解)
- 2025年中考英語高頻詞匯變形歸納《背誦版+默寫版》
- 2025年蕪湖宜居投資(集團)有限公司招聘筆試參考題庫含答案解析
- 汽車尾氣治理技術
- 小學信息技術五年級上冊第3課《流程圖描述算法》教學設計
- 市政工程計量表格樣表
- 部編版六年級道德與法治上冊期末復習課件
- 氫能源行業的投資機會分析
- 供電公司負責人講安全課
- 【物理】《滑輪》(教學設計)-2024-2025學年人教版(2024)初中物理八年級下冊
評論
0/150
提交評論