版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言程序設(shè)計(jì)教案第4章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)授課內(nèi)容第4章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)任課教師授課形式理實(shí)一體任課班級(jí)教學(xué)方法本節(jié)采用以教師為主導(dǎo),在教學(xué)過程中同時(shí)采用提問法、討論法和互動(dòng)式教學(xué)方法。教學(xué)重點(diǎn)(1)掌握while循環(huán)和do-while循環(huán)語句的概念、格式、功能和用法。(2)掌握for循環(huán)語句的概念、格式、功能和用法。教學(xué)難點(diǎn)(1)while循環(huán)和do-while循環(huán)語句的理解和運(yùn)用。(2)break語句和continue語句語句的理解和運(yùn)用。教學(xué)目標(biāo)教學(xué)目標(biāo)(1)通過兩個(gè)循環(huán)語句的學(xué)習(xí),理解循環(huán)結(jié)構(gòu)程序的基本思想,掌握循環(huán)結(jié)構(gòu)程序的設(shè)計(jì)方法;通過實(shí)例使學(xué)生體會(huì)算法的基本思想,加強(qiáng)學(xué)生邏輯思維能力和推理能力的培養(yǎng),同時(shí)幫助學(xué)生掌握更多的編程技巧。(2)通過for循環(huán)語句的學(xué)習(xí),理解循環(huán)結(jié)構(gòu)程序的基本思想,掌握循環(huán)結(jié)構(gòu)程序的設(shè)計(jì)方法;通過實(shí)例使學(xué)生體會(huì)算法的基本思想,加強(qiáng)學(xué)生邏輯思維能力和推理能力的培養(yǎng),同時(shí)幫助學(xué)生掌握更多的編程技巧。技能目標(biāo)(1)能熟練運(yùn)用三種循環(huán)語句編寫程序。(2)能學(xué)會(huì)解決具體問題,編寫簡(jiǎn)單的C語言程序。(3)能解決初學(xué)者編寫程序易犯的錯(cuò)誤。素質(zhì)目標(biāo)(1)通過編寫程序培養(yǎng)學(xué)生耐心、細(xì)致、有條理的工作作風(fēng),通過調(diào)試程序培養(yǎng)學(xué)生面對(duì)問題時(shí)具有自信和冷靜的心理素質(zhì)。(2)通過循環(huán)語句的學(xué)習(xí),增強(qiáng)對(duì)學(xué)習(xí)知識(shí)的自信心,日積月累,必有收獲。(3)通過編程案例,培養(yǎng)由淺入深的思維方式和反復(fù)推敲的習(xí)慣。思政目標(biāo)學(xué)以致用、力爭(zhēng)上游、規(guī)范意識(shí)。鼓勵(lì)學(xué)生與正能量的人交往,樹立正確的交友觀和價(jià)值觀。軟件信息安全、編碼規(guī)則、規(guī)范意識(shí)。培養(yǎng)學(xué)生持之以恒、百折不撓、不斷打磨專業(yè)能力的品質(zhì)和工匠精神。教學(xué)步驟及內(nèi)容教學(xué)步驟及內(nèi)容教學(xué)步驟及內(nèi)容教學(xué)步驟及內(nèi)容教學(xué)步驟及內(nèi)容教學(xué)步驟及內(nèi)容教學(xué)步驟及內(nèi)容:教學(xué)過程:復(fù)習(xí)舊課導(dǎo)出新課二、講授新課4.1循環(huán)程序結(jié)構(gòu)4.1.1while循環(huán)循環(huán)是指使用一定條件對(duì)同一個(gè)程序段重復(fù)執(zhí)行若干次。循環(huán)體是指被重復(fù)執(zhí)行的部分(可能由若干語句組成)。while語句一般格式如下:while(表達(dá)式)語句其中,“表達(dá)式”是循環(huán)條件,“語句”是循環(huán)體,既可以是一個(gè)簡(jiǎn)單語句,也可以是復(fù)合語句。while語句是“先判斷,后執(zhí)行”。即首先計(jì)算條件表達(dá)式的值,如果表達(dá)式的值為非0(真),則執(zhí)行循環(huán)體語句;重復(fù)上述操作,直到表達(dá)式的值為0(假)時(shí)才結(jié)束循環(huán)。如果剛進(jìn)入循環(huán)時(shí)條件就不滿足,則循環(huán)體一次也不執(zhí)行。4.1.2do-while循環(huán)do-while語句一般格式如下:do循環(huán)體語句while(表達(dá)式);首先執(zhí)行循環(huán)體中的語句一次,然后計(jì)算表達(dá)式的值,若為真(非0)則繼續(xù)執(zhí)行循環(huán)體,再計(jì)算表達(dá)式的值,當(dāng)表達(dá)式的值為假(0)時(shí),終止循環(huán),執(zhí)行do…while語句后的下一條語句。4.1.3for循環(huán)for語句一般格式如下:for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體語句其中,表達(dá)式1稱為初始化表達(dá)式,用于給出循環(huán)初值;表達(dá)式2稱為條件表達(dá)式,用于給出循環(huán)條件;表達(dá)式3稱為修正表達(dá)式,用來控制變量的變化,多數(shù)情況下為自增或自減表達(dá)式,實(shí)現(xiàn)對(duì)循環(huán)變量值的修正。它是在執(zhí)行完循環(huán)體后才執(zhí)行的。因此,for語句可以理解為:for(循環(huán)變量賦初值1;循環(huán)條件;修正循環(huán)變量) {循環(huán)體語句}for語句的執(zhí)行過程如下:(1)首先計(jì)算表達(dá)式1的值。(2)再計(jì)算表達(dá)式2的值,若值為真(非0),則執(zhí)行循環(huán)體一次,否則跳出循環(huán)。(3)然后再計(jì)算表達(dá)式3的值,轉(zhuǎn)回第2步重復(fù)執(zhí)行。在整個(gè)for循環(huán)過程中,表達(dá)式1只計(jì)算一次,表達(dá)式2和表達(dá)式3則可能計(jì)算多次。循環(huán)體可能多次執(zhí)行,也可能一次都不執(zhí)行。4.2循環(huán)的嵌套和特殊控制語句4.2.1循環(huán)的嵌套循環(huán)的嵌套是指一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),也稱多重循環(huán)。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),形成多重循環(huán)。一個(gè)循環(huán)的外面包含一層循環(huán)稱為雙重循環(huán)。for語句、while語句、do-while語句本身可以嵌套,也可以相互嵌套,自由組合,構(gòu)成多重循環(huán)。但需要注意的是,各個(gè)循環(huán)必須完整包含,相互直接絕對(duì)不允許有交叉現(xiàn)象。(1)for(){ …while(){…}…}(2)do{ … for() {…}…}while();(3)while(){ … for() {…} …}(4)for(){ …`for(){…} }4.2.2三種循環(huán)語句的比較(1)while語句和for語句都是先判斷后循環(huán),而do-while語句是線循環(huán)后判斷。do-while語句循環(huán)要執(zhí)行一次循環(huán)體,而while語句和for語句在循環(huán)條件不成立時(shí),循環(huán)體一次也不執(zhí)行。(2)while語句和do-while語句的表達(dá)式只有一個(gè),控制循環(huán)結(jié)束的作用,循環(huán)變量的初值等都用其他語句完成;for語句可有三個(gè)表達(dá)式,不僅有控制循環(huán)結(jié)束的作用,還可給循環(huán)變量賦初值。(3)三種循環(huán)都能嵌套,而且它們之間還能混合嵌套。(4)三種循環(huán)都能用break結(jié)束循環(huán),用continue開始下一次循環(huán)。(5)對(duì)于同一問題,三種語句均可解決,但方便程度視具體情況而異。4.2.3特殊控制語句1.break語句break語句只能用在循環(huán)語句和多分支選擇結(jié)構(gòu)switch語句中,當(dāng)break語句用于switch語句中時(shí),可使程序跳出switch語句而繼續(xù)執(zhí)行switch語句下面的一個(gè)語句;當(dāng)break語句用于while語句、do…while語句和for循環(huán)語句中時(shí),可用于從循環(huán)體內(nèi)跳出,即使程序提前結(jié)束當(dāng)前循環(huán),轉(zhuǎn)而執(zhí)行該循環(huán)語句的下一個(gè)語句。break語句一般格式如下:break;break語句對(duì)于減少循環(huán)次數(shù),加快程序執(zhí)行起著重要的作用。2.continue語句continue語句的作用為結(jié)束本次循環(huán),即跳過循環(huán)體中尚未執(zhí)行的語句,接著進(jìn)行循環(huán)條件的判定。continue語句的一般格式如下:continue;4.3結(jié)構(gòu)化程序設(shè)計(jì)思想4.3.1結(jié)構(gòu)化程序設(shè)計(jì)方法一個(gè)結(jié)構(gòu)化程序就是用高級(jí)語言表示的結(jié)構(gòu)化算法。用3種基本結(jié)構(gòu)組成的程序必然是結(jié)構(gòu)化的程序,這種程序便于編寫、閱讀、修改和維護(hù),可以減少程序出錯(cuò)的機(jī)會(huì),提高程序的可靠性,保證程序的質(zhì)量。結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)程序設(shè)計(jì)的風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)方法的基本思路是:把一個(gè)復(fù)雜問題的求解過程分階段進(jìn)行,每個(gè)階段處理的問題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。具體來說就是采取自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)和結(jié)構(gòu)化編碼來保證得到結(jié)構(gòu)化的程序。4.3.2結(jié)構(gòu)化程序設(shè)計(jì)優(yōu)點(diǎn)(1)結(jié)構(gòu)化構(gòu)造減少了程序的復(fù)雜性,提高了可靠性、可測(cè)試性和可維護(hù)性。(2)使用少數(shù)基本結(jié)構(gòu),使程序結(jié)構(gòu)清晰,易讀易懂。(3)容易驗(yàn)證程序的正確性。4.4常見錯(cuò)誤分析4.4.1忘記給變量賦初值在計(jì)算累加或階乘問題時(shí),初學(xué)者很容易忘記給變量賦一個(gè)合理的初值。4.4.2大括號(hào)不匹配由于各種控制結(jié)構(gòu)的嵌套,有些左右大括號(hào)相距可能較遠(yuǎn),這就可能會(huì)忘掉右側(cè)的大括號(hào)而造成大括號(hào)不匹配。4.4.3while語句后面多加分號(hào)使用while語句時(shí),初學(xué)者容易給while語句后多加分號(hào)。}錯(cuò)誤分析:編譯過程中沒有任何報(bào)錯(cuò)信息,但是程序不能輸出結(jié)果,是因?yàn)閣hile(i<=10);多加了分號(hào),相當(dāng)于一條空語句,條件成立,程序不執(zhí)行任何操作。4.4.4for語句表達(dá)式之間使用逗號(hào)使用for語句時(shí),初學(xué)者容易將for語句括號(hào)內(nèi)的表達(dá)式式用分號(hào)隔開。4.5循環(huán)結(jié)構(gòu)程序設(shè)計(jì)應(yīng)用實(shí)戰(zhàn)4.5.1實(shí)戰(zhàn)背景2013年1月16日,北京一個(gè)名為“IN_33”的團(tuán)體發(fā)起“光盤行動(dòng)”的公益活動(dòng)?!肮獗P行動(dòng)”的宗旨是:餐廳不多點(diǎn)、食堂不多打、廚房不多做,倡導(dǎo)厲行節(jié)約,反對(duì)鋪張浪費(fèi),引導(dǎo)大家珍惜糧食,制止餐飲浪費(fèi)行為。活動(dòng)一經(jīng)提出,就得到社會(huì)各方的大力支持。在2018年世界糧食日,光盤打卡應(yīng)用系統(tǒng)在清華大學(xué)正式發(fā)布。參與者用餐后手機(jī)拍照打卡,經(jīng)由人工智能識(shí)別為“光盤”后可獲得積分獎(jiǎng)勵(lì),通過這種獎(jiǎng)勵(lì)的方式逐步引導(dǎo)人們養(yǎng)成節(jié)約的習(xí)慣,讓中華民族勤儉節(jié)約的傳統(tǒng)美德在新時(shí)代發(fā)揚(yáng)光大。4.5.2實(shí)戰(zhàn)目的(1)掌握for語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法。(2)理解多分支選擇結(jié)構(gòu)和for語句的執(zhí)行過程。4.5.3實(shí)戰(zhàn)內(nèi)容“光盤行動(dòng)餐飲系統(tǒng)”是一個(gè)具有點(diǎn)餐、進(jìn)餐和結(jié)算功能的建議系統(tǒng)。在“點(diǎn)餐”功能模塊中,根據(jù)人數(shù)點(diǎn)餐,每人限點(diǎn)1份。在“進(jìn)餐”功能模塊中,通過顯示語句進(jìn)行模擬。在“結(jié)算”功能模塊中,模擬AI機(jī)器人,通過掃描盤中剩余食品克數(shù)進(jìn)行費(fèi)用計(jì)算:如果總剩余量小于或等于50g,則總餐費(fèi)打七折;如果總剩余量小于或等于100g,則總餐費(fèi)打八折;如果總剩余量小于或等于150,則總餐費(fèi)打九折;如果總剩余量大于150,則總餐費(fèi)為應(yīng)付餐費(fèi)的1.5倍。4.5.4實(shí)戰(zhàn)過程#include<stdio.h>intmain(){ inti,num,money=0,time=15,residus; floatprice,total=0,pay=0; charfood; printf("歡迎光臨<<節(jié)約光榮,浪費(fèi)可恥>>餐館,本餐館實(shí)行'光盤行動(dòng)',請(qǐng)大家遵守以下規(guī)則:\n"); printf("1.根據(jù)人數(shù)進(jìn)行點(diǎn)餐,每人限點(diǎn)餐1份。\n"); printf("2.進(jìn)餐時(shí)間為人數(shù)*15分鐘。\n"); printf("3.根據(jù)剩余食品克數(shù)進(jìn)行收費(fèi):\n"); printf("****如果總剩余量小于或等于50g,則總餐費(fèi)打七折****\n"); printf("****如果總剩余量小于或等于100g,則總餐費(fèi)打八折****\n"); printf("****如果總剩余量小于或等于150,則總餐費(fèi)打九折****\n"); printf("****如果總剩余量大于150,則總餐費(fèi)為應(yīng)付餐費(fèi)的1.5倍。\n"); printf("光盤行動(dòng),從我做起!\n"); printf("請(qǐng)輸入進(jìn)餐人數(shù):"); scanf("%d",&num); /*輸入進(jìn)餐人數(shù)*/ printf("請(qǐng)點(diǎn)餐%d份,注意葷素搭配!\n",num); for(i=1;i<=num;i++) { printf("請(qǐng)輸入您的第%d份餐品:",i); scanf("%s",&food); /*輸入餐品的名稱*/ printf("請(qǐng)服務(wù)員報(bào)價(jià):"); scanf("%f",&price); /*輸入餐品的價(jià)格*/ total=total+price; } printf("您一共消費(fèi)%.1f元\n",total); time=num*15; /*計(jì)算進(jìn)餐的時(shí)間*/ printf("現(xiàn)在是您的用餐時(shí)間,時(shí)間為%d分鐘。\n",time); printf("======進(jìn)餐中...======\n"); printf("現(xiàn)在請(qǐng)AI機(jī)器人掃描您盤中剩余食物:\n"); printf("請(qǐng)AI機(jī)器人報(bào)剩余食物克數(shù):"); scanf("%d",&residus); /*輸入剩余食物的克數(shù)*/ if(residus>=0&&residus<=50) /*剩余食物的克數(shù)小于等于50*/ pay=total*0.7; elseif(residus>50&&residus<=100) /*剩余食物的克數(shù)小于等于100*/ pay=total*0.8; elseif(residus>100&&residus<=150) /*剩余食物的克數(shù)小于等于150*/ pay=total*0.9; elseif(residus>150) /*剩余食物的克數(shù)大于150*/ pay=total*1.5; printf("您最終需要支付%.1f元\n",pay); printf("感謝您為光盤行動(dòng)做的貢獻(xiàn),歡迎下次光臨!"); return0;}4.5.5實(shí)戰(zhàn)意義本案例模擬“光盤行動(dòng)”號(hào)召下的餐飲系統(tǒng),綜合前面所學(xué)知識(shí)進(jìn)行設(shè)計(jì)和模擬。通過案例,可以很好地理解和掌握數(shù)據(jù)類型和程序控制結(jié)構(gòu)。當(dāng)然,該案例所實(shí)現(xiàn)功能較為簡(jiǎn)單,但是隨著后續(xù)知識(shí)的學(xué)習(xí),可以實(shí)現(xiàn)更復(fù)雜、更真實(shí)的餐飲系統(tǒng)。“歷覽前賢國(guó)與家,成由勤儉破由奢。”盡管現(xiàn)在的物質(zhì)資源逐漸豐富,但勤儉節(jié)約的觀念和習(xí)慣仍未過時(shí),也絕不能丟,必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技驅(qū)動(dòng)農(nóng)產(chǎn)品電商
- 科技農(nóng)業(yè)投資視角
- 專業(yè)房產(chǎn)經(jīng)紀(jì)服務(wù)協(xié)議2024版范本版
- 二零二四宇通客車零部件銷售代理及市場(chǎng)拓展合作協(xié)議3篇
- 2025年度電商新零售線下體驗(yàn)店合作合同3篇
- 專業(yè)銷售服務(wù)協(xié)議書2024年3篇
- 2025年度跨境電商物流中心場(chǎng)地承包經(jīng)營(yíng)合同4篇
- 2025年度航空航天復(fù)合材料加工技術(shù)合同4篇
- 2025年度茶樓裝修工程合同標(biāo)準(zhǔn)樣本8篇
- 2025年度教育機(jī)構(gòu)場(chǎng)地租賃保證金合同8篇
- 2024版塑料購(gòu)銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長(zhǎng)會(huì)
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 二年級(jí)下冊(cè)加減混合豎式練習(xí)360題附答案
- 吞咽解剖和生理研究
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 汽輪機(jī)盤車課件
- 異地就醫(yī)備案?jìng)€(gè)人承諾書
- 蘇教版五年級(jí)數(shù)學(xué)下冊(cè)解方程五種類型50題
評(píng)論
0/150
提交評(píng)論