版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C C語言程序設(shè)計語言程序設(shè)計北京建筑工程學(xué)院北京建筑工程學(xué)院Beijing Architecture and Civil Engineering Institute2022-6-25The C Programming Language2教學(xué)內(nèi)容v第一章 C語言概述v第二章 數(shù)據(jù)類型v第三章 順序結(jié)構(gòu)v第四章 選擇結(jié)構(gòu)v第五章第五章 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)v第六章 數(shù)組v第七章 函數(shù)調(diào)用v第八章 指針v第九章 結(jié)構(gòu)體與共用體v第十章 文件操作v補(bǔ)充章節(jié) 位運(yùn)算v補(bǔ)充章節(jié) 預(yù)編譯 2022-6-25The C Programming Language3內(nèi)容提綱v循環(huán)的概念循環(huán)的引入循環(huán)的概念v循環(huán)的實(shí)
2、現(xiàn)while語句、do while語句、for語句基本的輸入和輸出v循環(huán)的嵌套循環(huán)嵌套break語句和continue語句v循環(huán)結(jié)構(gòu)程序舉例2022-6-25The C Programming Language4循環(huán)的引入求100個學(xué)生的平均成績,需要輸入成百上千個輸入語句。什么是循環(huán)?什么是循環(huán)?為什么要使用循環(huán)?為什么要使用循環(huán)?1001nyn2022-6-25The C Programming Language5 循環(huán)的概念 v在許多問題中需要用到循環(huán)控制。循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)之一,它和順序結(jié)構(gòu)、選擇結(jié)構(gòu)共同作為各種復(fù)雜程序的基本構(gòu)造單元。v循環(huán)分為兩種:無休止循環(huán)和有終止
3、循環(huán)構(gòu)成有效循環(huán)的條件:循環(huán)體和循環(huán)結(jié)束條件2022-6-25The C Programming Language6內(nèi)容提綱v循環(huán)的概念循環(huán)的引入循環(huán)的概念v循環(huán)的實(shí)現(xiàn)while語句、do while語句、for語句基本的輸入和輸出v循環(huán)的嵌套循環(huán)嵌套break語句和continue語句v循環(huán)結(jié)構(gòu)程序舉例2022-6-25The C Programming Language7循環(huán)的實(shí)現(xiàn)方法v在語言中,可用以下語句實(shí)現(xiàn)循環(huán):用語句和if語句構(gòu)成循環(huán)用語句用語句用語句2022-6-25The C Programming Language8goto語句v格式:語句; . 語句標(biāo)號;2022-6-25
4、The C Programming Language92022-6-25The C Programming Language10goto語句v功能:無條件轉(zhuǎn)移語句v說明:不能不能用整數(shù)作標(biāo)號,只能用標(biāo)識符只能出現(xiàn)在goto所在函數(shù)內(nèi),且唯一唯一語句標(biāo)號只能加在可執(zhí)行語句前面不提倡使用goto語句2022-6-25The C Programming Language11While語句v一般形式:while (表達(dá)式) 語句當(dāng)表達(dá)式為非非0值時,執(zhí)行while語句中的內(nèi)嵌內(nèi)嵌語句執(zhí)行過程:先先判斷表達(dá)式,后后執(zhí)行語句。特點(diǎn):適用于事先不知道事先不知道循環(huán)次數(shù)的操作2022-6-25The C Pr
5、ogramming Language12While語句示例v例5.1(作過修改)求1+2+3+4+小于某數(shù)N的最大值,N由用戶指定。例如:小于10,n最大值為4。(1)循環(huán)體如果包含一個以上的語句,應(yīng)該用花括弧括起來,以復(fù)合語句形式出現(xiàn).(2)在循環(huán)體中應(yīng)有使循環(huán)趨向于結(jié)束的語句。2022-6-25The C Programming Language13While 語句的特點(diǎn)v特點(diǎn):表達(dá)式,循環(huán)體v說明:循環(huán)體有可能一次也不執(zhí)行循環(huán)體可為任意類型語句下列情況,退出while循環(huán)條件表達(dá)式(為零)循環(huán)體內(nèi)遇無限循環(huán): 在循環(huán)中應(yīng)有使循環(huán)趨向結(jié)束的語句while(1) 循環(huán)體;2022-6-25T
6、he C Programming Language14例5.1 1+2+100(未修改)2022-6-25The C Programming Language15人口增長v例:我國有13億人口,按人口年增長0.8%計算,多少年后我國人口超過26億。v分析:解此問題兩種方法,可根據(jù)公式:26=13*(1+0.008)n直接利用標(biāo)準(zhǔn)對數(shù)函數(shù)求得;也可利用循環(huán)求得2022-6-25The C Programming Language16最大公約數(shù)與最小公倍數(shù)用輾轉(zhuǎn)相除法和輾轉(zhuǎn)相減法求兩自然數(shù)m,n的最大公約數(shù)和最小公倍數(shù)。2022-6-25The C Programming Language17輾轉(zhuǎn)
7、相減法 m=m-n mn n=n-m nm m、n為公約數(shù) m=nWhile( m != n) m n If(m n) 14 6 m = m n 8 6 else 2 6 n = n m 2 4 2 2輾轉(zhuǎn)相除法m、n為公約數(shù) m=nIf(mn) temp = m; m = n; n = temp;r=m % n;While (r != 0) m=n; n=r; r= m % n;printf( 最大公約數(shù)最大公約數(shù)=, n); M n r14 6 26 2 02022-6-25The C Programming Language18do-while循環(huán)v特點(diǎn):循環(huán)體,循環(huán)條件。v一般形式:
8、do 循環(huán)體語句while (表達(dá)式);v執(zhí)行過程:2022-6-25The C Programming Language19do-while示例1001nn2022-6-25The C Programming Language20While與do-while的比較2022-6-25The C Programming Language21圓周率v例5.4 用/41-1/3+1/5-1/7+公式求的近似值,直到某一項的絕對值小于為止。2022-6-25The C Programming Language22For語句循環(huán)vC語言中的for語句使用最為靈活,可以用于循環(huán)次數(shù)的情況,可以用于循環(huán)次數(shù)
9、不確定而只給出循環(huán)結(jié)束條件的情況,它可以while語句。v一般形式: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句2022-6-25The C Programming Language23v執(zhí)行過程2022-6-25The C Programming Language24vfor語句最簡單的形式:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) v例如:for(i=1;i=100;i+) sum=sum+i;v相當(dāng)于:i=1;while(i=100) sum=sum+i;i+; 用for語句簡單、方便。2022-6-25The C Programming Language25For語句說明fo
10、r語句中語句中expr1, expr2 ,expr3 類型任意,都可類型任意,都可省略,但省略,但;不可??;不可省無限循環(huán)無限循環(huán): for( )2022-6-25The C Programming Language26表達(dá)式1可以是設(shè)置循環(huán)變量初值,也可以是和循環(huán)變量無關(guān)的其它其它表達(dá)式表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,也可以是數(shù)值表達(dá)式或者字符表達(dá)式2022-6-25The C Programming Language27思考題v思考: v1. 求12+22+32+42+1002v2. 求13+33+53+n3v3. 求1-3+5-7+(-1)n+1(2n-1)4. 求求1n21) 1(
11、5131111n-+-+-+11115. 求求) 1n(n+34+23+122022-6-25The C Programming Language281n21513111-2. 求求 3. 求求: 1k2k21k2k2765654343212+-思考題v思考: v1. 求 13 5 7(共N項)。2022-6-25The C Programming Language29思考題v思考: 輸出1、3、5、7、9、N。輸出1到500之間所有能被3整除的數(shù),一行顯示10個數(shù)。輸出1到指定N之間所有能被3和7同時整除的數(shù)。2022-6-25The C Programming Language30示例v例
12、5.5 打印斐波那契(Fibonacci)數(shù)列的前40項v斐波那契數(shù)列: 有一對兔子,從出生后第3個月起每個月都生一對兔子,兔子長到3個月后又生一對兔子。假設(shè)所有兔子都不死,問每個月兔子總數(shù)為多少? 見 0,1,1,2,3,5,8,13,v分析:即從第三項起每一項是其前兩項之和2022-6-25The C Programming Language31字符統(tǒng)計v從鍵盤任意輸入30個字符,每次一個,分別統(tǒng)計字符“A”、“B”、“C”的個數(shù)(不區(qū)分大小寫)。如果中途連續(xù)輸入三個字符Q,則結(jié)束輸入。v分析:初值:1;終值:30;步長為1中途退出 break;2022-6-25The C Program
13、ming Language32基本輸入v第一類:輸入不說明有多少個Input Block,以EOF為結(jié)束標(biāo)志。v本類的解決方案是:while(scanf(%d %d,&a, &b) != EOF) . 2022-6-25The C Programming Language33說明vScanf函數(shù)返回值就是正確讀出的變量個數(shù),如:scanf( “%d %d”, &a, &b ); 如果只有一個整數(shù)輸入,返回值是1,如果有兩個整數(shù)輸入,返回值是2,如果一個都沒有,則返回值是-1。vEOF是一個預(yù)定義的常量,等于-1。2022-6-25The C Programming Language34基本輸入
14、v第二類:輸入一開始就會說有N個Input Block,下面接著是N個Input Block。v本類的解決方案是:scanf(%d,&n); for( i=0 ; in ; i+ ) / while(n-) . 2022-6-25The C Programming Language35基本輸入v第三類:輸入不說明有多少個Input Block,但以某個特殊輸入為結(jié)束標(biāo)志。v本類的解決方案是:while(scanf(%d,&n) & n!=0 ) . 2022-6-25The C Programming Language36基本輸入v第四類:以上幾種情況的綜合 1093 1094 10921和2
15、的綜合2和3的綜合2和2的綜合2022-6-25The C Programming Language37基本輸入v第五類:暫不講2022-6-25The C Programming Language38基本輸出v第一類:同輸入第一類一個Input Block對應(yīng)一個Output Block,Output Block之間沒有空行。v本類的解決方案是: . printf(%dn,ans); 2022-6-25The C Programming Language39基本輸出v第二類:一個Input Block對應(yīng)一個Output Block,每個Output Block都有空行。v本類輸出的解決方案
16、是:while(scanf(%d %d,&a, &b) != EOF)printf(%dnn,a+b);2022-6-25The C Programming Language40基本輸出v第三類:一個Input Block對應(yīng)一個Output Block,Output Block有空行,最后一行沒有空行。v本類輸出解決方案:for (k=0;kcount;k+) while () printf( %dn,result); if (k!=count-1) printf(n); 2022-6-25The C Programming Language41內(nèi)容提綱v循環(huán)的概念循環(huán)的引入循環(huán)的概念v循環(huán)
17、的實(shí)現(xiàn)while語句、do while語句、for語句基本的輸入和輸出v循環(huán)的嵌套循環(huán)嵌套break語句和continue語句v循環(huán)結(jié)構(gòu)程序舉例2022-6-25The C Programming Language42循環(huán)的嵌套v說明:三種循環(huán)可互相嵌套,層數(shù)不限外層循環(huán)可包含兩個以上內(nèi)循環(huán),但不能相互交叉嵌套循環(huán)的執(zhí)行流程2022-6-25The C Programming Language43循環(huán)的嵌套2022-6-25The C Programming Language44循環(huán)嵌套示例v乘法九九表2022-6-25The C Programming Language45循環(huán)嵌套示例v求1
18、+(1+2)+(1+2+3)+(1+2+3+n),n由用戶輸入。v分析:外循環(huán)循環(huán)n次,內(nèi)循環(huán)循環(huán)i次內(nèi)循環(huán)設(shè)置一個累加變量,注意每次內(nèi)循環(huán)完成需要置空外循環(huán)設(shè)置一個累加變量,記錄總和。2022-6-25The C Programming Language46輔助控制語句v功能:在循環(huán)語句和switch語句中,終止并跳出循環(huán)體或開關(guān)體v說明:break只能終止并跳出最近一層的結(jié)構(gòu)break不能用于循環(huán)語句和switch語句之外的任何其它語句之中2022-6-25The C Programming Language47輔助控制語句v功能:結(jié)束本次循環(huán),跳過循環(huán)體中尚未執(zhí)行的語句,進(jìn)行下一次是否執(zhí)
19、行循環(huán)體的判斷僅用于循環(huán)語句中2022-6-25The C Programming Language48 幾種循環(huán)的比較v四種循環(huán)可以互相替代,不提倡使用gotovwhile和do-while,只有當(dāng)while條件第一次就不成立的時候,結(jié)果不相同,其它情況一般都相同;在循環(huán)體內(nèi)都應(yīng)包含使循環(huán)趨向結(jié)束趨向結(jié)束的語句。vfor循環(huán)在第一個表達(dá)式中完成賦初值的工作;條件判斷在第二個表達(dá)式;第三個表達(dá)式中包括使循環(huán)趨向結(jié)束趨向結(jié)束的語句。v循環(huán)中可以用break跳出循環(huán),用continue結(jié)束本次循環(huán)。goto語句不可以使用。2022-6-25The C Programming Language49內(nèi)
20、容提綱v循環(huán)的概念循環(huán)的引入循環(huán)的概念v循環(huán)的實(shí)現(xiàn)while語句、do while語句、for語句基本的輸入和輸出v循環(huán)的嵌套循環(huán)嵌套break語句和continue語句v循環(huán)結(jié)構(gòu)程序舉例2022-6-25The C Programming Language50遞推法v遞推法又稱為迭代法。是循環(huán)經(jīng)??嫉囊环N題型。v其基本思想是將一個復(fù)雜的計算過程轉(zhuǎn)化成為簡單過程的多次重復(fù)。每次重復(fù)都從舊值的基礎(chǔ)上推出新值,并有新值代替舊值。2022-6-25The C Programming Language51蟠桃會v孫悟空在大鬧蟠桃園的時候,第一天吃掉了所有桃子總數(shù)一半多一個,第二天又將剩下的桃子吃掉一半
21、多一個,以后每天吃掉前一天剩下的一半多一個,到第n天準(zhǔn)備吃的時候只剩下一個桃子。這下可把神仙們心疼壞了,請幫忙計算一下,第一天開始吃的時候桃子一共有多少個桃子?v分析:這是一個“遞推”問題,先從最后一天推出倒數(shù)第二天的桃子,再從倒數(shù)第二天的桃子推出倒數(shù)第三天的桃子。設(shè)第n天的桃子為xn,那么它是前一天的桃子數(shù)的xn-1 的一半減1,即xn=0.5xn-1-1或xn-1 =( xn +1)22022-6-25The C Programming Language52窮舉法v窮舉法又稱枚舉法。即將可能出現(xiàn)的各種情況一一測試,判斷是否滿足條件,一般采用循環(huán)來實(shí)現(xiàn)。2022-6-25The C Prog
22、ramming Language53百錢買百雞v公雞5個錢一只,母雞三個錢一只、小雞一個錢三只,要用100個錢買100只雞,問公雞、母雞、和小雞各買幾只?(百元買百雞)v分析:設(shè)公雞、母雞、小雞分別買x、y、z只,則數(shù)學(xué)模型為:x+y+z=1005x+3y+z/3=1002022-6-25The C Programming Language54猜字問題v雨水淋濕了算術(shù)書的一道題,8個數(shù)字只能看清3個,第一個數(shù)字雖然看不清,但可看出不是1。編程求其余數(shù)字是什么? *(3)2 = 89v分析:設(shè)分別用A、B、C、D、E五個變量表示自左到右五個未知的數(shù)字。其中A的取值范圍為2-9,其余取值范圍為0-
23、9。條件表達(dá)式即為給定算式2022-6-25The C Programming Language55棋迷俱樂部v張三、李四、王五三個棋迷,定期去文化宮下棋。張三每五天來一次,李四每六天來一次,王五每九天來一次。問每過多少天他們才能一起在文化宮下棋?v分析:設(shè)結(jié)果為x ,其取值范圍為0。因上限為無限大,計數(shù)值不能預(yù)先確定,故用while循環(huán)結(jié)構(gòu)更合適。 2022-6-25The C Programming Language56素數(shù)判斷v分析:素數(shù)是一個大于2,且不能被1和本身以外的整數(shù)整除的整數(shù)。 v方法:一般來說,將數(shù)N被2N之間的整數(shù)除,除盡不是素數(shù);除不盡是素數(shù);實(shí)際上可以將數(shù)N被2sqr(N)間全部整數(shù)除。2022-6-25The C Programming Language57素
溫馨提示
- 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年中國液相糕點(diǎn)油爐市場調(diào)查研究報告
- 2025年中國摩托車保險絲市場調(diào)查研究報告
- 2025至2031年中國乙型肝炎病毒行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國PET透明瓶子行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國礦用噴頭數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度陜西民營企業(yè)勞動合同標(biāo)準(zhǔn)模板6篇
- 2025年個人黑色奔馳出租車廣告投放合同2篇
- 2025版社保漏繳賠償與追償標(biāo)準(zhǔn)協(xié)議3篇
- 二零二五年度建筑消防設(shè)施改造工程竣工驗收報告合同3篇
- 二零二五年度城市出租車運(yùn)營服務(wù)合作協(xié)議4篇
- 電梯安全守則及乘客須知
- 你好法語第七課課件
- IT硬件系統(tǒng)集成項目質(zhì)量管理方案
- 《容幼穎悟》2020年江蘇泰州中考文言文閱讀真題(含答案與翻譯)
- 水上水下作業(yè)應(yīng)急預(yù)案
- API520-安全閥計算PART1(中文版)
- 2023年廣東省廣州地鐵城際鐵路崗位招聘筆試參考題庫附帶答案詳解
- 商務(wù)提成辦法
- 直流電機(jī)電樞繞組簡介
- GB/T 19889.5-2006聲學(xué)建筑和建筑構(gòu)件隔聲測量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場測量
- 現(xiàn)代機(jī)械強(qiáng)度理論及應(yīng)用課件匯總?cè)譸pt完整版課件最全教學(xué)教程整套課件全書電子教案
評論
0/150
提交評論