国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“C語(yǔ)言程序設(shè)計(jì)”趣味實(shí)例教學(xué)方法的探討

2009-06-20 08:45吳怡之
計(jì)算機(jī)教育 2009年10期
關(guān)鍵詞:語(yǔ)言

范 紅 吳怡之

文章編號(hào):1672-5913(2009)10-0058-02

摘要:為激發(fā)學(xué)生學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)課程的興趣,使學(xué)生在學(xué)習(xí)上有主動(dòng)性,本文以講授循環(huán)控制這一章為例對(duì)趣味實(shí)例教學(xué)方法進(jìn)行了探討,給出幾個(gè)圍繞所學(xué)知識(shí)點(diǎn)設(shè)計(jì)的例子。

關(guān)鍵詞:C 語(yǔ)言;循環(huán)控制;趣味實(shí)例

中圖分類(lèi)號(hào):G642

文獻(xiàn)標(biāo)識(shí)碼:A

1引言

“C語(yǔ)言程序設(shè)計(jì)”作為一門(mén)實(shí)用的編程語(yǔ)言,功能強(qiáng)大,編程風(fēng)格自由靈活。在近幾年的教學(xué)中發(fā)現(xiàn),學(xué)生普遍認(rèn)為這門(mén)課難度大,不容易學(xué)。如何通過(guò)教學(xué)方法的改變,讓學(xué)生在學(xué)習(xí)上有主動(dòng)性,激發(fā)學(xué)生學(xué)習(xí)該課程的興趣,是講授這門(mén)課程的教師應(yīng)該考慮的問(wèn)題。從目前大多數(shù)高校的教學(xué)情況看,現(xiàn)在一般多已采用多媒體教學(xué)。這種教學(xué)方式比起以前在黑板上講授是有了一定的進(jìn)步,但在目前的課堂教學(xué)中,還是以教師講授為主,沒(méi)有充分發(fā)揮學(xué)生學(xué)習(xí)的主動(dòng)性,啟發(fā)式教學(xué)沒(méi)有得到充分運(yùn)用。

2采用趣味實(shí)例教學(xué)

在“C語(yǔ)言程序設(shè)計(jì)”課程講授過(guò)程中,要特別注意培養(yǎng)學(xué)生的學(xué)習(xí)興趣。初接觸計(jì)算機(jī)時(shí),很多學(xué)生感到新奇、好玩,這不能說(shuō)是興趣,只是一種好奇。隨著課程的不斷深入,大量的語(yǔ)法規(guī)則很容易使一部分甚至是大部分學(xué)生產(chǎn)生枯燥無(wú)味的感覺(jué)。為了把學(xué)生的好奇轉(zhuǎn)化為學(xué)習(xí)興趣,采用趣味程序的例子激發(fā)學(xué)生的積極性,從而在實(shí)例中掌握C語(yǔ)言的語(yǔ)法和程序設(shè)計(jì)方法。這種方法的優(yōu)點(diǎn)是可以根據(jù)教學(xué)內(nèi)容,選擇合適的例子,使學(xué)生掌握所學(xué)內(nèi)容,趣味程序例子的選擇至關(guān)重要。在每個(gè)實(shí)例的基礎(chǔ)上,對(duì)學(xué)生多提問(wèn),并進(jìn)行擴(kuò)展,以復(fù)習(xí)前面學(xué)過(guò)的知識(shí),也可以鞏固當(dāng)前學(xué)習(xí)的內(nèi)容。通過(guò)啟發(fā)式教學(xué),讓學(xué)生做更多的練習(xí),加深對(duì)語(yǔ)法和程序設(shè)計(jì)方法的理解,掌握課程的精髓。為了實(shí)現(xiàn)課程的教學(xué)目標(biāo),培養(yǎng)學(xué)生的問(wèn)題求解、編程和探索創(chuàng)新能力,在教學(xué)中必須強(qiáng)調(diào)實(shí)踐訓(xùn)練,使學(xué)生在大量的練習(xí)中掌握知識(shí),培養(yǎng)能力。下面介紹在講授循環(huán)控制這一章中采用趣味實(shí)例教學(xué)的實(shí)踐。

3實(shí)例分析

在循環(huán)控制這章中主要介紹while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句這三種循環(huán)語(yǔ)句。

3.1while語(yǔ)句

在介紹用while語(yǔ)句實(shí)現(xiàn)循環(huán)的一般形式和執(zhí)行流程后,讓學(xué)生思考用while語(yǔ)句編寫(xiě)程序?qū)崿F(xiàn)猜數(shù)字游戲。先給出程序的運(yùn)行結(jié)果,如圖1所示。只要輸入的數(shù)字和給定的數(shù)字不相同,就再重新輸入,這種操作可通過(guò)while語(yǔ)句來(lái)實(shí)現(xiàn)。循環(huán)程序不停地讀、檢查和處理數(shù)據(jù),直到遇到事前指定的表示結(jié)束的值,循環(huán)才終止。在判斷不相等的同時(shí),提示用戶(hù)輸入數(shù)字與給定值是偏大還是偏小,這個(gè)功能可運(yùn)用條件運(yùn)算符來(lái)實(shí)現(xiàn)。這樣也對(duì)C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符有更深的認(rèn)識(shí)。在此基礎(chǔ)上,可讓學(xué)生思考再增加程序的一些功能,如統(tǒng)計(jì)猜數(shù)字的次數(shù)、密碼驗(yàn)證等,使程序更充實(shí)。具體程序如下:

void main()

{int a,k=9;

printf(" ------猜數(shù)字游戲------ ");

printf("請(qǐng)輸入0到10之間任意一個(gè)整數(shù): ");

scanf("%d",&a);

while(a!=k)

{(a>k)?printf("高了 "):printf("低了 ");

printf("再試一次! ");

scanf("%d",&a);

}

printf("恭喜你,猜對(duì)了! ");

}

3.2do-while語(yǔ)句

do-while語(yǔ)句的執(zhí)行流程是先執(zhí)行循環(huán)體語(yǔ)句一次,再判別表達(dá)式的值,若為真則繼續(xù)循環(huán),否則終止循環(huán)。do-while語(yǔ)句與while語(yǔ)句不同的地方在于do-while是先執(zhí)行循環(huán)體,后判斷表達(dá)式的“直到型”循環(huán),而while語(yǔ)句是先判斷表達(dá)式后執(zhí)行循環(huán)體的“當(dāng)型”循環(huán)。因此,do-while語(yǔ)句中的循環(huán)體至少被執(zhí)行一次,對(duì)于循環(huán)體內(nèi)容執(zhí)行的次數(shù)由用戶(hù)來(lái)決定時(shí)就可采用此循環(huán)語(yǔ)句。語(yǔ)句如下:

do

{ //其它循環(huán)語(yǔ)句

printf("繼續(xù)嗎(Y/N or y/n)?");

scanf(" %c", &reply);

}while (reply == 'Y' || reply == 'y');

例如設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器,可以實(shí)現(xiàn)加減乘除運(yùn)算,由用戶(hù)輸入表達(dá)式,程序給出正確結(jié)果。采用上面介紹的語(yǔ)句即可實(shí)現(xiàn)多次運(yùn)算,運(yùn)算的次數(shù)由用戶(hù)決定。采用多分支選擇語(yǔ)句(switch-case)實(shí)現(xiàn)選擇哪種運(yùn)算。程序運(yùn)行結(jié)果如圖2所示。

3.3for語(yǔ)句

for語(yǔ)句使用最為靈活,不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況。for語(yǔ)句的循環(huán)應(yīng)用除了計(jì)數(shù)外,還可用空語(yǔ)句作為循環(huán)語(yǔ)句中的循環(huán)體,循環(huán)中不實(shí)現(xiàn)任何功能,只是使CPU等待一定的時(shí)間后再繼續(xù)執(zhí)行程序,即循環(huán)體作為延時(shí)循環(huán)。模擬延時(shí)一秒的函數(shù)如下:

void Delay(void) //函數(shù)功能:模擬延遲1秒的時(shí)間

{ long t;

for (t=0; t<280000000; t++)

{

//循環(huán)體為空語(yǔ)句的循環(huán),起延時(shí)作用

}

}

循環(huán)變量t的上限由CPU時(shí)鐘和需延時(shí)的時(shí)間共同決定。首先定義三個(gè)全局變量,分別表示小時(shí)、分鐘和秒,若秒值為60,表示已過(guò)一分鐘,則分值加1;若分值為60,表示已過(guò)一小時(shí),則小時(shí)值加1;若小時(shí)值為24,則重新從0開(kāi)始計(jì)時(shí)。秒值每次增1,調(diào)用一次延時(shí)函數(shù)。程序運(yùn)行結(jié)果如圖3所示。對(duì)該程序進(jìn)一步擴(kuò)展,要求學(xué)生在上機(jī)實(shí)踐課中編寫(xiě)模擬電子時(shí)鐘的程序。學(xué)生在上機(jī)編程中增加了輸入當(dāng)前時(shí)刻的部分,并能使程序正常運(yùn)行,極大地激發(fā)了學(xué)生學(xué)習(xí)C語(yǔ)言的興趣。

3.4綜合實(shí)例

在介紹完循環(huán)控制章節(jié)的各種循環(huán)語(yǔ)句后,給學(xué)生布置一道設(shè)計(jì)自動(dòng)柜員機(jī)的問(wèn)題,在上機(jī)實(shí)踐中由學(xué)生分組設(shè)計(jì)完成。先給出程序的執(zhí)行界面,如圖4所示。要求學(xué)生利用循環(huán)嵌套和switch語(yǔ)句等對(duì)自動(dòng)柜員機(jī)功能菜單的各種選擇進(jìn)行判斷和相應(yīng)處理。在主程序外加上各個(gè)子程序,成為一個(gè)完整的程序。

4結(jié)束語(yǔ)

“C語(yǔ)言程序設(shè)計(jì)”課程所進(jìn)行的趣味實(shí)例教學(xué)實(shí)踐有助于學(xué)生更好地掌握課程的核心內(nèi)容,激發(fā)了學(xué)生繼續(xù)探索和學(xué)習(xí)的興趣,培養(yǎng)了學(xué)生的創(chuàng)新能力,發(fā)掘了學(xué)生的創(chuàng)新潛能。教學(xué)必然是一個(gè)需要持續(xù)改進(jìn)和完善的過(guò)程,我們將不斷總結(jié)課程教學(xué)的經(jīng)驗(yàn),使C語(yǔ)言教學(xué)邁向新的臺(tái)階。

參考文獻(xiàn):

[1] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2007.

[2] 蘇小紅. C語(yǔ)言程序設(shè)計(jì)教程[M]. 北京:電子工業(yè)出版社,2002.

[3] 江靜嵐. C語(yǔ)言教學(xué)方法探析[J].計(jì)算機(jī)教育,2007(21).

Teaching Method of Applying Interesting Examples on C Language Programming

FAN Hong, WU Yi-zhi

(College of Information Science and Technology, Donghua University, Shanghai 201620,China )

Abstract: To help students change from passive learning to active learning, inspiring interest of studying C language, the teaching method of applying interesting examples is discussed and several interesting cases, taking chapter of loops control as an example, are designed in this paper.

Key words: C language; loops control; interesting cases

猜你喜歡
語(yǔ)言
肢體語(yǔ)言
語(yǔ)言的魅力
用鯨魚(yú)“語(yǔ)言”通信
White Lover
寫(xiě)寫(xiě)畫(huà)畫(huà)G20
我有我語(yǔ)言
語(yǔ)言的將來(lái)
Action?。樱穑澹幔耄蟆。蹋铮酰洌澹颉。裕瑁幔睢。祝铮颍洌蟆∧銓?duì)肢體語(yǔ)言了解多少
語(yǔ)言,文字
有趣的語(yǔ)言