• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法在《C語言程序設(shè)計(jì)》課程教學(xué)中的應(yīng)用探索

      2015-10-27 01:39:16陳子森
      亞太教育 2015年27期
      關(guān)鍵詞:C語言程序設(shè)計(jì)C語言實(shí)踐教學(xué)

      循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法在《C語言程序設(shè)計(jì)》課程教學(xué)中的應(yīng)用探索

      文/陳子森

      摘要:C語言程序設(shè)計(jì)是理論緊密聯(lián)系實(shí)踐的一門課程,上機(jī)編程實(shí)踐是學(xué)習(xí)C語言的重要教學(xué)環(huán)節(jié)。本文闡述了循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法的目的在于使學(xué)生在C語言的學(xué)習(xí)過程中不斷溫故拓新,鞏固和拓展知識(shí),不斷提高C語言的編程能力和調(diào)試程序的能力。本文還給出了循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法的舉例,以便同行讀者在共同探索時(shí)能起到拋磚引玉的作用。

      關(guān)鍵詞:C語言;實(shí)踐教學(xué);循環(huán)漸進(jìn)

      作者簡(jiǎn)介:陳子森(1946—),廣東汕尾人,1970年畢業(yè)于中山大學(xué)物理系,電子技術(shù)高級(jí)工程師,電子技術(shù)副教授,現(xiàn)為廣東財(cái)經(jīng)大學(xué)信息工程系教師,研究方向:計(jì)算機(jī)軟硬件。

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

      文獻(xiàn)標(biāo)志碼:A

      文章編號(hào):2095-9214(2015)09-0070-02

      1.編程實(shí)踐是學(xué)好C語言的重要教學(xué)環(huán)節(jié)

      C語言的特點(diǎn)是其功能十分豐富,語法很精練,表達(dá)能力非常強(qiáng),使用起來靈活方便,因而得到廣泛的應(yīng)用。小到上C語言課時(shí)的實(shí)例和C語言課程中的簡(jiǎn)單實(shí)驗(yàn),大到復(fù)雜的計(jì)算機(jī)操作系統(tǒng),都可以使用C語言來開發(fā)。特別是單片機(jī)系統(tǒng)中,用C語言編程更是常見。正因?yàn)槿绱耍诖髮W(xué)里幾乎所有要學(xué)習(xí)編程語言的專業(yè)首先學(xué)習(xí)的語言就是C語言。通過學(xué)習(xí)C語言,可以使學(xué)生在初步接觸計(jì)算機(jī)語言的過程中,對(duì)程序設(shè)計(jì)中的算法有初步的認(rèn)識(shí),對(duì)面向過程程序設(shè)計(jì)的模塊化設(shè)計(jì)思想初步領(lǐng)會(huì),能運(yùn)用C語言的知識(shí)分析問題和解決問題,初步具備程序設(shè)計(jì)與程序調(diào)試的能力。

      和學(xué)習(xí)任何計(jì)算機(jī)語言一樣,C語言是一門實(shí)踐性很強(qiáng)的課程。真正學(xué)好C語言,不是說聽懂課了,看懂書了,就是學(xué)會(huì)了。檢驗(yàn)一個(gè)人C語言學(xué)得好不好,主要是看他是不是具有較強(qiáng)的編程能力和較強(qiáng)的程序調(diào)試能力。給出一個(gè)課題、一個(gè)要求,能夠得心應(yīng)手地進(jìn)行需求分析,構(gòu)思方案,設(shè)計(jì)算法,編寫程序,調(diào)試程序,實(shí)現(xiàn)課題的要求。如此這樣,才能說明你的C語言掌握得差不多了。而要達(dá)到這一目標(biāo),最重要的是要勤學(xué)苦練,進(jìn)行大量的實(shí)踐,要做大量的上機(jī)操作。要充分地認(rèn)識(shí)到,C語言并不是一門純理論的課程,而是實(shí)踐性很強(qiáng)的應(yīng)用型課程。聽懂課,看懂書,是做好上機(jī)實(shí)踐的前提條件,是為了掌握C語言的基本概念、語法、算法、模塊化程序設(shè)計(jì)思想,領(lǐng)會(huì)編程的基本要領(lǐng)。只有經(jīng)過大量的、反復(fù)的上機(jī)實(shí)踐,才能培養(yǎng)出熟練的編程能力,才能練就出嫻熟的程序排錯(cuò)能力和程序調(diào)試能力。

      2.應(yīng)用循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法的目的在于溫故拓新,不斷鞏固和擴(kuò)展知識(shí)

      為了培養(yǎng)學(xué)生用C語言編寫程序和調(diào)試程序的能力,作為主講老師,在搞好理論教學(xué)、上好理論課的同時(shí),精心組織安排好實(shí)踐教學(xué)是重要的一環(huán)。主講老師必須用心編寫出緊密聯(lián)系理論教學(xué)的內(nèi)容、包含理論教學(xué)所涉及的重要知識(shí)點(diǎn)、針對(duì)性強(qiáng)的實(shí)驗(yàn)指導(dǎo)書。在編寫實(shí)驗(yàn)課的實(shí)驗(yàn)指導(dǎo)書時(shí),首先應(yīng)明確實(shí)驗(yàn)要求,即本次實(shí)驗(yàn)要應(yīng)用本實(shí)驗(yàn)前所學(xué)過的知識(shí)要點(diǎn),應(yīng)在課程實(shí)驗(yàn)過程中逐次包括各種數(shù)據(jù)類型、各種運(yùn)算符、各種表達(dá)式、數(shù)據(jù)輸入/輸出的方法、各種經(jīng)典算法、程序結(jié)構(gòu)、數(shù)組、函數(shù)的定義與調(diào)用、指針的應(yīng)用、結(jié)構(gòu)體的定義及引用、文件的輸入/輸出等知識(shí)點(diǎn)。然后再給出設(shè)計(jì)思路、有關(guān)算法等,讓學(xué)生獨(dú)立完成實(shí)驗(yàn)。而在編寫下一次實(shí)驗(yàn)課的實(shí)驗(yàn)指導(dǎo)書時(shí),應(yīng)包括上一次實(shí)驗(yàn)的全部或大部要求,再增加本實(shí)驗(yàn)之前新學(xué)到的知識(shí)要點(diǎn),……。如此類推,到學(xué)生最后完成全部實(shí)驗(yàn)時(shí),由于反復(fù)應(yīng)用所學(xué)知識(shí)上機(jī)實(shí)踐,重要的編程技巧,常見的典型算法、典型函數(shù)經(jīng)多次演練,從而變得輕車熟路,甚至熟能生巧,不少學(xué)生不知不覺中成為了編程高手。這就是循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法。

      采用循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法,其最大的好處在于,能夠使學(xué)生在實(shí)驗(yàn)的進(jìn)程中,不斷重溫歷次實(shí)驗(yàn)的內(nèi)容,從而達(dá)到復(fù)習(xí)、牢固掌握此前所學(xué)知識(shí)的目的。同時(shí),又在實(shí)驗(yàn)的過程中,應(yīng)用新學(xué)的知識(shí)點(diǎn),設(shè)計(jì)、編寫、調(diào)試出實(shí)現(xiàn)新的要求、具有創(chuàng)新和實(shí)現(xiàn)更多功能的程序,達(dá)到了拓展知識(shí)、增加新的編程思路、掌握新技能、新算法的目的。

      3.循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)法應(yīng)用舉例

      我們?cè)贑語言程序設(shè)計(jì)課程的教學(xué)過程中,共安排了12個(gè)實(shí)驗(yàn)。前6個(gè)實(shí)驗(yàn),因?yàn)樗鶎W(xué)的知識(shí)比較淺顯,各知識(shí)點(diǎn)聯(lián)系不夠緊密,實(shí)驗(yàn)也比較簡(jiǎn)單,所以這幾個(gè)實(shí)驗(yàn)是相對(duì)獨(dú)立的,上一次實(shí)驗(yàn)和下一次實(shí)驗(yàn)沒有太大的聯(lián)系。從第7個(gè)實(shí)驗(yàn)開始,隨著學(xué)生所學(xué)知識(shí)面越來越廣,我們以“學(xué)生成績(jī)管理系統(tǒng)”從V1.0到V6.0六個(gè)不同版本為課題作為實(shí)驗(yàn)內(nèi)容。后一個(gè)版本的實(shí)驗(yàn)與前一個(gè)版本相比,實(shí)驗(yàn)所涉及的知識(shí)面會(huì)越來越多,實(shí)驗(yàn)要求也會(huì)越來越復(fù)雜、越嚴(yán)格,所需編程知識(shí)也越來越深?yuàn)W。后一個(gè)實(shí)驗(yàn)既包含了上一次的實(shí)驗(yàn)要求,繼承了上一次的一些算法、函數(shù),也新增了新的實(shí)驗(yàn)要求,新的算法、函數(shù),實(shí)現(xiàn)新的功能。

      在做“學(xué)生成績(jī)管理系統(tǒng)”V1.0實(shí)驗(yàn)之前,學(xué)生已經(jīng)學(xué)習(xí)了常量與變量、數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、數(shù)據(jù)的格式化輸入/輸出、選擇控制結(jié)構(gòu)、循環(huán)控制結(jié)構(gòu)、函數(shù)、數(shù)組、結(jié)構(gòu)化程序設(shè)計(jì)的概念和自頂向下、逐步求精的模塊化程序設(shè)計(jì)方法。我們對(duì)“學(xué)生成績(jī)管理系統(tǒng)”V1.0實(shí)驗(yàn)的要求是:某班有最多30人參加某門課程的考試,用一維數(shù)組做函數(shù)參數(shù)編程實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng):(1)錄入每個(gè)學(xué)生的學(xué)號(hào)和考試成績(jī);(2)計(jì)算課程的總分和平均分;(3)按成績(jī)由高到低排出名次表;(4)按學(xué)號(hào)由小到大排出成績(jī)表;(5)按學(xué)號(hào)查詢學(xué)生成績(jī);(6)按優(yōu)秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)和不及格(0~59分)5個(gè)等級(jí),統(tǒng)計(jì)每個(gè)等級(jí)的人數(shù)以及所占的百分比。(7)用列表形式輸出每個(gè)學(xué)生的學(xué)號(hào)、考試成績(jī)。程序設(shè)計(jì)的要點(diǎn)是用一個(gè)一維長(zhǎng)整型數(shù)組保存學(xué)號(hào),用一個(gè)一維實(shí)型數(shù)組保存成績(jī),用菜單函數(shù)menu()在屏幕上顯示7個(gè)菜單項(xiàng),然后在main()函數(shù)中根據(jù)用戶所選擇的菜單項(xiàng)進(jìn)入各個(gè)功能模塊執(zhí)行相應(yīng)的函數(shù)。調(diào)用函數(shù)時(shí)以數(shù)組名作為實(shí)參傳遞給被調(diào)用函數(shù)中的數(shù)組形參。

      做完“學(xué)生成績(jī)管理系統(tǒng)”V1.0之后,繼續(xù)學(xué)習(xí)指針、按值調(diào)用與按地址調(diào)用、函數(shù)指針等知識(shí)。在“學(xué)生成績(jī)管理系統(tǒng)”V2.0實(shí)驗(yàn)中,要求基本同V1.0,但在V1.0實(shí)驗(yàn)要求中的(3)之后增加了一項(xiàng)(4)按成績(jī)由低到高排出名次表(其余要求編號(hào)順序后推)。但在設(shè)計(jì)思路上,(3)按成績(jī)降序排序和(4)按成績(jī)升序排序兩個(gè)菜單卻是同時(shí)對(duì)應(yīng)一個(gè)既可以實(shí)現(xiàn)升序排序,也可以實(shí)現(xiàn)降序排序的函數(shù)SelectionSort(),之所以有這個(gè)功能是因?yàn)镾electionSort()函數(shù)的形參中有一個(gè)指向返回整型且有兩個(gè)形參的函數(shù)指針“int *compare(int a,int b)”。在調(diào)用函數(shù)SelectionSort()時(shí),若是升序排序,則用升序函數(shù)int Ascending(int a,int b)作為實(shí)參;若是降序排序,則用降序函數(shù)int Descending(int a,int b)作為實(shí)參。通過這個(gè)實(shí)驗(yàn),即使學(xué)生進(jìn)一步鞏固在V1.0中所學(xué)的知識(shí),又使學(xué)生較好地掌握函數(shù)指針的應(yīng)用。

      做完“學(xué)生成績(jī)管理系統(tǒng)”V2.0之后,繼續(xù)學(xué)習(xí)字符串,包括字符串常量、字符指針、字符串處理函數(shù)、向函數(shù)傳遞字符串等知識(shí)點(diǎn)。在“學(xué)生成績(jī)管理系統(tǒng)”V3.0實(shí)驗(yàn)的要求中,要求學(xué)生信息要包括姓名,還增加了“按姓名的字典順序排出成績(jī)表”和“按姓名查詢學(xué)生成績(jī)”兩項(xiàng),菜單項(xiàng)由8項(xiàng)增加到10項(xiàng)。在程序設(shè)計(jì)思路上,用二維字符數(shù)組來存儲(chǔ)班級(jí)中的學(xué)生姓名(字符串),實(shí)驗(yàn)中的排序要應(yīng)用到字符串處理函數(shù),例如字符串比較函數(shù)strcmp(),字符串復(fù)制函數(shù)strcpy()等。在排序函數(shù)中,要調(diào)用交換函數(shù)(例如交換長(zhǎng)整型的學(xué)號(hào)、交換實(shí)型的成績(jī),交換字符串姓名),這些交換函數(shù)都用指針變量當(dāng)形參。通過這個(gè)實(shí)驗(yàn),除了進(jìn)一步鞏固前面所學(xué)到的知識(shí)外,還使學(xué)生學(xué)到了字符串及指針變量等方面的知識(shí),知識(shí)面進(jìn)一步擴(kuò)大。

      “學(xué)生成績(jī)管理系統(tǒng)”V3.0實(shí)驗(yàn)之后的教學(xué)內(nèi)容是進(jìn)一步學(xué)習(xí)指針和數(shù)組,包括指針和一維數(shù)組的關(guān)系、指針和二維數(shù)組的關(guān)系、指針數(shù)組、動(dòng)態(tài)分配內(nèi)存等內(nèi)容。而“學(xué)生成績(jī)管理系統(tǒng)”V4.0實(shí)驗(yàn)的目的是在“學(xué)生成績(jī)管理系統(tǒng)”V3.0實(shí)驗(yàn)的基礎(chǔ)上,通過增加任務(wù)要求,熟悉二維數(shù)組做函數(shù)參數(shù)、模塊化程序設(shè)計(jì)等知識(shí)要點(diǎn)。在實(shí)驗(yàn)要求上,學(xué)生成績(jī)由一門課的成績(jī)變?yōu)槎嚅T課的成績(jī),還增加了計(jì)算每個(gè)學(xué)生的總分和平均分的要求,成績(jī)排序改為按總分排序,成績(jī)列表要求輸出學(xué)生的學(xué)號(hào)、姓名、各門課的成績(jī)、總分和平均分。在設(shè)計(jì)思路上,需用二維數(shù)組來表示一個(gè)班內(nèi)多個(gè)學(xué)生多門課程的成績(jī),第一維(行)表示學(xué)生,第二維(列)表示一個(gè)學(xué)生各門課程的成績(jī)。當(dāng)然還需增加計(jì)算每個(gè)學(xué)生總分和平均分的函數(shù)。這樣,實(shí)驗(yàn)完成后,學(xué)生進(jìn)一步鞏固了前面所學(xué)的知識(shí),又掌握了二維數(shù)組的應(yīng)用,進(jìn)一步拓展了知識(shí)面。

      在做“學(xué)生成績(jī)管理系統(tǒng)”V5.0實(shí)驗(yàn)之前學(xué)習(xí)的內(nèi)容是結(jié)構(gòu)體,包括結(jié)構(gòu)體、結(jié)構(gòu)體變量、結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針的定義和應(yīng)用等?!皩W(xué)生成績(jī)管理系統(tǒng)”V5.0實(shí)驗(yàn)的要求同V4.0完全一樣,但是在設(shè)計(jì)思路上卻大相徑庭。本實(shí)驗(yàn)的設(shè)計(jì)思路是定義一個(gè)包含學(xué)號(hào)成員num、姓名成員name、成績(jī)數(shù)組score、總分成員sum和平均分成員aver的結(jié)構(gòu)體STU,再定義一個(gè)結(jié)構(gòu)體數(shù)組stu來保存全部學(xué)生的全部信息,摒棄了此前幾個(gè)實(shí)驗(yàn)要分別用幾個(gè)數(shù)組來表示學(xué)生學(xué)號(hào)、學(xué)生姓名、各門課程的成績(jī)、總分和平均分的做法,一個(gè)結(jié)構(gòu)體數(shù)組取代了幾個(gè)不同數(shù)據(jù)類型的數(shù)組,數(shù)據(jù)結(jié)構(gòu)變得更加合理,程序設(shè)計(jì)思路變得更清晰,程序變得更簡(jiǎn)練。結(jié)構(gòu)體是C語言中比較抽象不易理解的難點(diǎn),通過本實(shí)驗(yàn),使學(xué)生對(duì)結(jié)構(gòu)體及其應(yīng)用有了深刻的全面的理解。

      本課程最后一章的教學(xué)內(nèi)容是文件,包括二進(jìn)制文件和文本文件的概念、文件的打開和關(guān)閉、按字符讀寫文件、按格式讀寫文件、按數(shù)據(jù)塊讀寫文件等內(nèi)容?!皩W(xué)生成績(jī)管理系統(tǒng)”V6.0實(shí)驗(yàn)?zāi)康氖窃赩5.0的基礎(chǔ)上,通過增加任務(wù)要求,熟悉文件的操作。在實(shí)驗(yàn)要求上,比V5.0增加了兩項(xiàng)要求,即能將全部學(xué)生的記錄信息寫入文件保存,也能從文件中讀出每個(gè)學(xué)生的記錄信息并顯示。本實(shí)驗(yàn)采用按格式讀寫文件的方法來把全部學(xué)生的記錄信息寫入文件或從文件讀出。通過實(shí)驗(yàn),學(xué)生真正感悟到C語言功能的強(qiáng)大。此前做實(shí)驗(yàn),退出程序后實(shí)驗(yàn)數(shù)據(jù)就沒有了。這次實(shí)驗(yàn)以后,實(shí)驗(yàn)數(shù)據(jù)保存了下來,既可寫入文件,又可從文件讀出,感覺很新奇,大大提高了學(xué)習(xí)C語言的興趣。從難度上講,“學(xué)生成績(jī)管理系統(tǒng)”V6.0實(shí)驗(yàn)已經(jīng)與一個(gè)C語言課程設(shè)計(jì)了相當(dāng)了,這就為學(xué)生在C語言程序設(shè)計(jì)課程結(jié)束后的課程設(shè)計(jì)打下了堅(jiān)實(shí)的基礎(chǔ)。

      至此,循環(huán)漸進(jìn)項(xiàng)目實(shí)踐教學(xué)完成了。學(xué)生普遍反映,通過實(shí)踐,真正提高了C語言編程技能和程序調(diào)試能力,收獲頗豐。

      4.結(jié)語

      學(xué)習(xí)C語言,上機(jī)實(shí)踐是一個(gè)重要的教學(xué)環(huán)節(jié)。主講老師要為學(xué)生的上機(jī)實(shí)踐創(chuàng)造條件,編寫出有連貫性,循環(huán)漸進(jìn)的實(shí)踐項(xiàng)目指導(dǎo)書,使學(xué)生通過上機(jī)實(shí)踐,能復(fù)習(xí)鞏固前面所學(xué)的知識(shí),又能不斷拓展新知識(shí),達(dá)到提高學(xué)生的編程能力和程序調(diào)試能力的目的。

      (作者單位:廣東財(cái)經(jīng)大學(xué)華商學(xué)院)

      參考文獻(xiàn):

      蘇小紅,王宇穎,孫志崗等.C語言程序設(shè)計(jì)(第2版).北京:高等教育出版社,2013

      蘇小紅,車萬翔,王甜甜等.C語言程序設(shè)計(jì)學(xué)習(xí)指導(dǎo)(第2版).北京:高等教育出版社,2013

      陳子森.C語言程序設(shè)計(jì)課程教學(xué)改革研究.無線互聯(lián)科技,2015(1)

      猜你喜歡
      C語言程序設(shè)計(jì)C語言實(shí)踐教學(xué)
      基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
      基于C語言的計(jì)算機(jī)軟件編程
      電子制作(2018年16期)2018-09-26 03:27:08
      高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
      以“學(xué)生為中心”的《C語言程序設(shè)計(jì)》教學(xué)設(shè)計(jì)探究
      基于翻轉(zhuǎn)課堂的《C語言程序設(shè)計(jì)》課程教學(xué)系統(tǒng)的實(shí)現(xiàn)與研究
      軟件工程(2016年8期)2016-10-25 16:02:07
      淺談《C語言程序設(shè)計(jì)》課程的教學(xué)改革
      《C語言程序設(shè)計(jì)》課程的教學(xué)改革與實(shí)踐
      科技視界(2016年22期)2016-10-18 16:12:24
      茶學(xué)專業(yè)校企合作實(shí)踐教學(xué)探索
      考試周刊(2016年79期)2016-10-13 23:35:16
      《電氣工程畢業(yè)設(shè)計(jì)》 課程的教學(xué)設(shè)計(jì)
      考試周刊(2016年79期)2016-10-13 23:26:02
      高職院校商務(wù)禮儀課程教學(xué)改革探索芻議
      平南县| 同仁县| 汾西县| 若尔盖县| 攀枝花市| 天台县| 乌鲁木齐市| 东平县| 宁强县| 延吉市| 嵩明县| 南昌市| 积石山| 长沙市| 清新县| 且末县| 英超| 漳州市| 虞城县| 威宁| 湖州市| 得荣县| 河津市| 盐城市| 青阳县| 湖北省| 茶陵县| 东阿县| 邵阳县| 平乐县| 丹寨县| 南川市| 丹江口市| 肥西县| 巴彦淖尔市| 阳信县| 海盐县| 楚雄市| 哈密市| 水城县| 若羌县|