課程設(shè)計樣板_第1頁
課程設(shè)計樣板_第2頁
課程設(shè)計樣板_第3頁
課程設(shè)計樣板_第4頁
課程設(shè)計樣板_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C語言 課 程 設(shè) 計題 目 循環(huán)結(jié)構(gòu)學(xué)習(xí)探究 系 (部) 電子與信息工程系 班 級 10級應(yīng)用電子技術(shù) 姓 名 王 智 鋒 學(xué) 號 2010242704 指導(dǎo)教師 王 靜 2011年06月23日電子與信息工程系 課程設(shè)計任務(wù)書設(shè)計題目已知技術(shù)參數(shù)和設(shè)計要求設(shè)計內(nèi)容與步驟第1步、問題描述: 。第2步、基本思路:利用選擇法進(jìn)行排序。第3步、編寫程序:設(shè)計工作計劃與進(jìn)度安排設(shè)計考核要求計算機(jī)教研室制2010242704王智鋒摘要:循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計中的三種基本結(jié)構(gòu)之一,也是程序設(shè)計的基礎(chǔ)。但是,對于初學(xué)來說, 循環(huán)結(jié)構(gòu)與人類日常的思維習(xí)慣不同,較難掌握。用幾個例子闡述了在C語言程序設(shè)計課程中

2、循環(huán)結(jié)構(gòu)的教學(xué)方法,這些方法在日常授課中取得了較好的效果。關(guān)鍵詞C語言;結(jié)構(gòu)化程序設(shè)計;循環(huán)結(jié)構(gòu);效率1引言順序、分支、循環(huán)是摘要循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計中的三種基本結(jié)構(gòu)之一,也是程序設(shè)計的基礎(chǔ)。但是,循環(huán)結(jié)構(gòu)與人類日常的思維習(xí)慣不同,較難掌握。 關(guān)鍵詞C語言;結(jié)構(gòu)化程序設(shè)計;循環(huán)結(jié)構(gòu);效率 1 引言C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作。 順序、分支、循環(huán)是結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu),所以在高級語言程

3、序設(shè)計課程中,掌握這三種結(jié)構(gòu)是學(xué)好程序設(shè)計的基礎(chǔ)。而循環(huán)結(jié)構(gòu)是這三者中最復(fù)雜的一種結(jié)構(gòu),也是其中最主要的語句結(jié)構(gòu),幾乎所有的程序都離不開循環(huán)結(jié)構(gòu)。在C語言中,循環(huán)結(jié)構(gòu)主要是由for和while、do-while語句實現(xiàn)的,其中for語句的應(yīng)用更為普遍一些。for語句的用法對于有程序設(shè)計經(jīng)驗的學(xué)生來說輕而易舉,但是對于那些沒有經(jīng)驗的初學(xué)者來說,難度卻不小。2 循環(huán)條件的設(shè)計2.1 while語句 (1)作用:實現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu)。即當(dāng)條件成立時沖復(fù)執(zhí)行while語句中的內(nèi)嵌語句。(2)格式:while () 語句 (語句稱為循環(huán)體,也稱While的內(nèi)嵌語句,可以是單個或復(fù)合語句。)(3)執(zhí)行過程

4、:先計算表達(dá)式的值,當(dāng)表達(dá)式值非0時重復(fù)執(zhí)行指定的語句;當(dāng)表達(dá)式值為0時結(jié)束循環(huán)。循環(huán)結(jié)構(gòu)學(xué)習(xí)探究【例1】:求從鍵盤上輸入一個正整數(shù)n,計算S=1+2+3+4+n,并輸出到屏幕上。分析:由于n可能是不斷變化的,因而計算S值的程序不可能依次列出1n個數(shù),要完成以上的累加求和運(yùn)算,可設(shè)兩個整型變量sum和i,sum存放累加的和,i從1變化到n,并按下列步驟進(jìn)行操作:(1)給sum賦值0,i賦值1; /循環(huán)初始化(2)令sum=sum+i,i=i+1; /循環(huán)體與循環(huán)修改(3)若in,則重復(fù)執(zhí)行步驟(2); /判斷循環(huán)是否結(jié)束(4)輸出sum的值。 /結(jié)束處理在以上步驟中,步驟(2)和步驟(3)是需

5、要重復(fù)執(zhí)行的操作,其工作流程如下圖所示。這種重復(fù)執(zhí)行的操作可由程序中的循環(huán)結(jié)構(gòu)來完成。下面用while語句來實現(xiàn)。說明: (1)while語句是先判斷表達(dá)式in是否成立,若條件成立,則將sum加i后賦給sum及i增加1;若條件不成立,則不執(zhí)行相應(yīng)語句,退出循環(huán)。(2)當(dāng)表達(dá)式的值一開始不成立,語句一次也不執(zhí)行。如當(dāng)輸入n為0時,in不成立,語句sum=sum+i;和i+;一次也不執(zhí)行。(3)在循環(huán)體中必須有不斷修改循環(huán)條件的語句,能使循環(huán)最終結(jié)束而不形成“死循環(huán)”。如i+;語句,使i不斷加1,直到大于n為止。程序代碼和程序流程圖如下:#include using namespace std;i

6、nt main() int i,n,sum; 2010242704王智鋒 coutn; sum=0; i=1; while (i=n) sum=sum+i; i+; cout sum=sumendl; system(pause); return 0; while (i=n) mult=mult*i; i+; coutmult=multendl; system(pause); return 0;2.2 dowhile語句 (1)作用:實現(xiàn)“直到型”循環(huán)結(jié)構(gòu)。即重復(fù)執(zhí)行while語句中的內(nèi)嵌語句直到條件不成立時停止。循環(huán)結(jié)構(gòu)學(xué)習(xí)探究(2)格式:do while ();注意:這里的語句與表達(dá)式跟上面

7、講到的while語句當(dāng)中的意義完全相同,只是while語句是先判斷條件再執(zhí)行循環(huán)體語句,而在dowhile語句的執(zhí)行過程是:先執(zhí)行語句,然后計算表達(dá)式的值,當(dāng)表達(dá)式值非0時重復(fù)執(zhí)行語句;直到表達(dá)式值為0才結(jié)束循環(huán)?!纠?】用dowhile語句實現(xiàn)【例1】程序流程圖及程序代碼如下:#include using namespace std;int main() int i,n,sum; coutn; sum=0; i=1; do sum=sum+i; i+; while(i=n); cout1到n的和sum=sumendl; 2010242704王智鋒 system(pause); return

8、0;說明:(1)dowhile語句是先執(zhí)行sum=sum+i;和i+;語句,后判斷表達(dá)式in是否成立。若條件成立,則繼續(xù)執(zhí)行循環(huán)體;若條件不成立,則不執(zhí)行相應(yīng)語句,退出循環(huán)。(2)即使表達(dá)式的值一開始就不成立,語句仍要執(zhí)行一次。如當(dāng)輸入n為0時,in不成立,但語句sum=sum+i;和i+;也要執(zhí)行一次。(3)在循環(huán)體中要能不斷修改循環(huán)條件的語句,最終能使循環(huán)結(jié)束,否則會形成“死循環(huán)”。2.3 for語句 for語句的一般格式為: for (;) 說明: (1)表達(dá)式1稱為循環(huán)初始化表達(dá)式,通常為循環(huán)變量賦初值;(2)表達(dá)式2稱為循環(huán)條件表達(dá)式,通常是關(guān)系表達(dá)式或邏輯表達(dá)式作循環(huán)結(jié)束條件;(3

9、)表達(dá)式3稱為循環(huán)增量表達(dá)式,通常為賦值表達(dá)式,簡單情況下為循環(huán)變量增量。(4)語句部分為循環(huán)體,它可以是單個或復(fù)合語句。for語句的執(zhí)行過程(1)計算表達(dá)式1的值;(2)計算表達(dá)式2的值,若表達(dá)式2的值為非0(“真”)時,則轉(zhuǎn)到(3);若表達(dá)式2的值為0(“假”)時,則結(jié)束循環(huán);(3)執(zhí)行循環(huán)體語句;(4)計算表達(dá)式3的值,返回(2)繼續(xù)執(zhí)行。循環(huán)結(jié)構(gòu)學(xué)習(xí)探究2.4 3.for語句可以和下列while語句等效:;while () ; 【例3】用for語句實現(xiàn)【例1】#include using namespace std;int main() int i,n,sum; coutn; sum=

10、0; for(i=1;i=n;i+) sum=sum+i; cout1到n的和sum=sumendl; system(pause); return 0;在上例中,表達(dá)式1:i=1完成對循環(huán)變量i的初始化賦值工作,使i的初值為1;表達(dá)式2:i=n判斷循環(huán)變量i的值是否小于或等于n,若不成立則結(jié)束循環(huán);若成立則執(zhí)行sum=sum+i;語句,再執(zhí)行表達(dá)式3;2010242704王智鋒表達(dá)式3:i+,使用循環(huán)變量i加1。轉(zhuǎn)表達(dá)式2繼續(xù)判斷i=n是否成立。說明:(1)for語句中的三個表達(dá)式都可省略,但其中的兩個分號不能省略;(2)若表達(dá)式1省略,則應(yīng)在for語句之前給循環(huán)變量賦初值。例如:i=1; f

11、or(;i=n;i+) sum=sum+i;(3)若表達(dá)式2省略,則不判斷循環(huán)條件,循環(huán)無終止地進(jìn)行下去,形成“死循環(huán)”,即認(rèn)為表達(dá)式2始終為真,因此表達(dá)式2通常不能省略;(4)若表達(dá)式3省略,則在循環(huán)體中應(yīng)有能不斷修改循環(huán)條件的語句。例如:for (i=1;i=n;) sum=sum+i; i+; (5)若省略表達(dá)式1和表達(dá)式3,只有表達(dá)式2,即只給出循環(huán)條件。例如:i=1; for (;i=n;) sum=sum+i; i+; 此時,for語句和while語句完全相同。上述語句相當(dāng)于:i=1; while (i=n) sum=sum+i; i+; 五、結(jié)論與體會 雖然C語言程序設(shè)計在上學(xué)期

12、做為我們的必修課已經(jīng)學(xué)習(xí)過了,但書到用時方恨少,這次課程設(shè)計的學(xué)習(xí)程序設(shè)計中暴露出的我自身的問題更是非常明顯。并且對C語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認(rèn)識有所提高。通過實踐的學(xué)習(xí),我認(rèn)到學(xué)好計算機(jī)要重視實踐操作,不僅僅是學(xué)習(xí)C語言,還是其它的語言,以及其它的計算機(jī)方面的知識都要重在實踐,所以后在學(xué)習(xí)過程中,我會更加注視實踐操作,使自己便好地學(xué)好計算機(jī)。附件:1.百文錢買雞問題#includemain() int a,b,c; a=0,b=0; while(a21) b=0; /這里加b=0,每次循環(huán)b都要清零。 while(b0) printf(公雞有%d只 母雞有%

13、d只 小雞有%d只n,a,b,c); b+; a+; 2. 判斷是否閏年,只需滿足以下條件,1、可以被4整除但不可以被100整除;2、可以被400整除。 #includemain()int year;pritnf (輸入一個年份: );scanf (%d,&year);if (year%4=0 & year%100!=0 | year%400=0)printf (%d是閏年n,year);elseprintf (%d不是閏年n,year);3. 13人報數(shù)問題#includevoid main() int i,j=12,h; int a14; for(i=0;i13;i+) ai=i+1; while(j!=1) j-; a13=a0; a1

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論