崔孝鳳
摘要:對(duì)于C語言的初學(xué)者來說,循環(huán)結(jié)構(gòu)的學(xué)習(xí)既是重點(diǎn)又是難點(diǎn),本文從初學(xué)者的角度出發(fā)針對(duì)循環(huán)結(jié)構(gòu)采用滲透式漸進(jìn)案例的形式依次設(shè)計(jì)了3個(gè)案例,通過這3個(gè)案例依次清楚描述了C語言中常用的循環(huán)結(jié)構(gòu)的三種形式,對(duì)于C語言的初學(xué)者能夠起到很好的入門引導(dǎo)作用。
關(guān)鍵詞:C語言;循環(huán)結(jié)構(gòu);滲透式;漸進(jìn);案例教學(xué)
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)16-0140-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
C語言實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句主要有while語句、do-while語句和for語句,對(duì)于C語言的初學(xué)者來說,對(duì)于這三種語句的理解和應(yīng)用既是重點(diǎn)又是難點(diǎn)。很多初學(xué)者對(duì)于這三種語句的應(yīng)用不能很好地掌握,所以如何用淺顯易懂的程序案例幫助初學(xué)者理解并應(yīng)用好這三種循環(huán)結(jié)構(gòu)語句是擺在每一位C語言任課教師面前的一項(xiàng)艱巨的任務(wù)。本文從初學(xué)者的角度出發(fā),遵從由易到難的自然學(xué)習(xí)規(guī)律,采用滲透式漸進(jìn)案例的方法設(shè)計(jì)出3個(gè)案例,依次清楚描述了C語言中常用的三種循環(huán)結(jié)構(gòu)形式,對(duì)于C語言的初學(xué)者能夠起到很好的入門引導(dǎo)作用。
2 具體案例
2.1 用while語句實(shí)現(xiàn)的程序案例
【例題1】已知魯中候機(jī)樓第一班車是5:10,每隔40分鐘一趟,晚上最晚到23點(diǎn),請(qǐng)輸出一天的班車時(shí)間,輸出時(shí)為了更加清晰請(qǐng)分別按上午、下午、晚上分行顯示,請(qǐng)用while語句實(shí)現(xiàn)。
程序運(yùn)行結(jié)果如下所示:
魯中候機(jī)樓的車次時(shí)間如下,請(qǐng)您根據(jù)自己的需要靈活選擇:
上午的車次時(shí)間如下所示:
5:10? 5:50? 6:30? 7:10? 7:50? 8:30? 9:10? 9:50? 10:30? 11:10? 11:50
下午的車次時(shí)間如下所示:
12:30? 13:10? 13:50? 14:30? 15:10? 15:50? 16:30? 17:10? 17:50
晚上的車次時(shí)間如下所示:
18:30? 19:10? 19:50? 20:30? 21:10? 21:50? 22:30
算法分析:這是一個(gè)循環(huán)結(jié)構(gòu)中包含選擇結(jié)構(gòu)的程序,功能很明確,第一班車是5:10,每隔40分鐘一趟,晚上最晚到23點(diǎn),要求輸出一天的班車時(shí)間。這里需要?jiǎng)?chuàng)建兩個(gè)變量,一個(gè)用來表示小時(shí)(比如用h表示),一個(gè)用來表示分鐘(比如用m表示)。按照要求依次輸出變量h和m對(duì)應(yīng)的值即可。這里要考慮的要點(diǎn)有兩點(diǎn):第一,表示小時(shí)的變量h的值要控制在5到23之間,考慮用循環(huán)實(shí)現(xiàn);第二,表示分鐘的變量m的值每增加40后要注意是否超過60?如果超過了那么表示小時(shí)h的值應(yīng)該增加1,同時(shí)m的值減去60。還有一點(diǎn)就是要考慮到在上午、下午和晚上的時(shí)間節(jié)點(diǎn)處注意換行。
2.2 用do-while語句實(shí)現(xiàn)的程序案例
【例題2】題目要求同例題1,只是要求用do-while語句實(shí)現(xiàn)程序中的循環(huán)部分。
算法分析:while循環(huán)語句是首先進(jìn)行循環(huán)條件的判斷,如果條件為真則執(zhí)行循環(huán)結(jié)構(gòu)體中的語句,否則不執(zhí)行,所以對(duì)于while語句來說,如果一開始條件不為真的話,循環(huán)體一次也不執(zhí)行。對(duì)于do-while語句來說,是首先執(zhí)行循環(huán)體一次(不管條件是否為真),然后再判斷條件是否為真,如果條件為真則繼續(xù)執(zhí)行下一次循環(huán),否則結(jié)束循環(huán)。所以對(duì)于do-while循環(huán)語句來說,循環(huán)體部分至少執(zhí)行一次。
2.3 用for語句實(shí)現(xiàn)的程序案例
【例題3】請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序,功能同例題1,只是要求用for語句實(shí)現(xiàn)程序中的循環(huán)部分。
算法分析:for語句是C語言中實(shí)現(xiàn)循環(huán)用得最頻繁的語句,任何的程序循環(huán)結(jié)構(gòu)都可以使用for語句來實(shí)現(xiàn)。所以說for語句功能強(qiáng)大,而且使用格式靈活,有多種變化形式,這也是讓初學(xué)者感到迷惑的地方。與while和do-while語句相比較而言,在while和do-while語句之前必須對(duì)循環(huán)控制變量賦初值,在循環(huán)中必須對(duì)循環(huán)控制進(jìn)行運(yùn)算以使得其值發(fā)生變化從而讓循環(huán)能夠結(jié)束。在for語句中則可以把對(duì)循環(huán)控制變量賦初值的語句放在for語句中(當(dāng)然也可以放在之前),同樣,對(duì)循環(huán)控制變量值的運(yùn)算表達(dá)式也放在for語句中(當(dāng)然也可以放在循環(huán)體中)。從程序的結(jié)構(gòu)上總體相比較而言,for語句比while和do-while語句顯得更加緊湊、簡(jiǎn)潔,這也就是為什么編程者更喜歡使用for語句的原因之一,當(dāng)然這也是初學(xué)者感覺for語句比while和do-while語句難以理解的原因之一,對(duì)于水平較高的編程者則已經(jīng)習(xí)以為常。
3 結(jié)束語
以上3個(gè)案例采用滲透式漸進(jìn)案例的方式具體展示了C語言中的三種循環(huán)語句結(jié)構(gòu),目的是拋磚引玉,引起學(xué)生的學(xué)習(xí)興趣,從而逐步深化下去,取得更好的學(xué)習(xí)效果,這3個(gè)案例對(duì)初學(xué)者有極好的引導(dǎo)作用,在此基礎(chǔ)上初學(xué)者可以更容易地區(qū)分三種循環(huán)結(jié)構(gòu)語句而且掌握好循環(huán)程序的設(shè)計(jì)。
參考文獻(xiàn):
[1] 曹海英, 元元, 郝兵. C語言中的循環(huán)嵌套結(jié)構(gòu)程序設(shè)計(jì)[J]. 電腦編程技巧與維護(hù), 2017(24).
[2] 李娟, 張燕.? C 語言循環(huán)結(jié)構(gòu)教學(xué)的設(shè)計(jì)與實(shí)踐[J]. 計(jì)算機(jī)教育, 2018-03-10.
[3] 辛凌潔, 賈玉寧, 楊穎. C語言程序設(shè)計(jì)學(xué)習(xí)興趣和方法[J]. 中國教育技術(shù)裝備,2017(33).
[4] 王亮. 《C 語言程序設(shè)計(jì)》循環(huán)結(jié)構(gòu)教學(xué)案例研究[J]. 科技視界, 2018-01-05,
[5] 劉芝怡. “項(xiàng)目引領(lǐng),任務(wù)驅(qū)動(dòng),案例主導(dǎo)”的 C 語言程序設(shè)計(jì)教學(xué)改革[J]. 教育現(xiàn)代化, 2018-02-12.
[6] 許金蘭, 徐崗. “興趣驅(qū)動(dòng)+案例教學(xué)模式”在C語言教學(xué)中的應(yīng)用[J]. 中國信息技術(shù)教育,2018-03-23.
【通聯(lián)編輯:王力】