亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C/C++語(yǔ)言程序設(shè)計(jì)課程教學(xué)方法的實(shí)踐

        2010-09-25 05:21:54
        科學(xué)時(shí)代·上半月 2010年6期
        關(guān)鍵詞:面向?qū)ο?/a>程序設(shè)計(jì)定義

        張 鴻

        [摘要] 根據(jù)“C/C++語(yǔ)言程序設(shè)計(jì)”課程教學(xué)實(shí)踐的經(jīng)驗(yàn),結(jié)合C/C++課程的特點(diǎn),關(guān)于提高學(xué)生對(duì)學(xué)習(xí)程序設(shè)計(jì)的興趣,培養(yǎng)和提高學(xué)生的分析問(wèn)題能力、解決問(wèn)題能力和創(chuàng)新能力等,談?wù)勗趥湔n和教學(xué)方法上的一些研究和感受。

        [關(guān)鍵詞] C/C++語(yǔ)言程序設(shè)計(jì)換位思考對(duì)比教學(xué)法實(shí)例教學(xué)法啟發(fā)式教學(xué)法

        [Abstract] According to the "C/C++ programming language" teaching practice experience, combining the characteristics of the course of C/C + +, this article discusses the personal research and experience of preparing lessons and teaching method on how to enhance the students'interests to learn about the program designing, develop and improve the students' innovational ability when analyzing and solving problems.

        [Key words] C/C++ programming language;perspective-taking; comparative method;case teaching method; heuristic teaching method

        0 引言

        C/C++語(yǔ)言程序設(shè)計(jì)是計(jì)算機(jī)專(zhuān)業(yè)中非常重要的一門(mén)專(zhuān)業(yè)基礎(chǔ)課程,它是學(xué)習(xí)程序設(shè)計(jì)

        的入門(mén)課程。大多數(shù)老師的授課內(nèi)容都是經(jīng)過(guò)深思熟慮之后提煉出來(lái)的精華,而對(duì)于初步接觸編程的學(xué)生來(lái)講,程序設(shè)計(jì)的概念和邏輯思維都是全新的。如何使得學(xué)生自然順暢地接受新知識(shí),這就需要老師們傳達(dá)知識(shí)的技巧了。

        我在學(xué)生時(shí)代以及工作中聽(tīng)有些老師講課時(shí),就是云里來(lái)霧里去,根本摸不著頭腦,不知所云。為了盡可能避免學(xué)生聽(tīng)課和學(xué)習(xí)走彎路,同時(shí)為了加強(qiáng)學(xué)生對(duì)基本概念和理論知識(shí)的理解,培養(yǎng)和提高學(xué)生的分析問(wèn)題能力、解決問(wèn)題能力和創(chuàng)新能力,筆者根據(jù)多年來(lái)C/C++語(yǔ)言課程教學(xué)實(shí)踐的經(jīng)驗(yàn),結(jié)合一些教學(xué)案例,談?wù)勗趥湔n和教學(xué)方法上的一些研究和感受。

        1 采用換位思考方法,提高學(xué)生問(wèn)題意識(shí)

        老師上課前都要經(jīng)歷備課階段。我遇到的老師中,有些人備課是隨便瀏覽一下講稿或課件,認(rèn)為只要知道所講內(nèi)容是什么就可以了。但是我覺(jué)得每個(gè)知識(shí)點(diǎn)的提出以及知識(shí)點(diǎn)之間的聯(lián)系更重要,因此,備課時(shí),我采用換位思考方法:我是學(xué)生,希望老師能說(shuō)明所講內(nèi)容的前因、重要用途以及應(yīng)用。帶著這樣的問(wèn)題,我認(rèn)真準(zhǔn)備每堂課。

        比如,在講C語(yǔ)言中的輸出函數(shù)printf()的用法前,我問(wèn)學(xué)生這樣一個(gè)問(wèn)題:你們辛辛苦苦編寫(xiě)完了若干行代碼,想不想知道結(jié)果如何呀?學(xué)生覺(jué)得好笑:當(dāng)然要知道啦,不然費(fèi)勁干嗎。那我的答案也就很自然出來(lái)了:執(zhí)行輸出功能。這個(gè)問(wèn)題也正進(jìn)一步解釋了算法的一個(gè)很重要的特點(diǎn):必須至少有一個(gè)輸出。部分學(xué)生當(dāng)時(shí)在學(xué)算法特點(diǎn)時(shí),還迷惑為什么必須有輸出呢,而我提出的這個(gè)問(wèn)題可起到一箭雙雕的作用。

        2 采用多種授課方法,提高教學(xué)質(zhì)量

        現(xiàn)在有很多學(xué)生對(duì)程序設(shè)計(jì)都不感興趣,甚至感到恐懼。我認(rèn)真做了調(diào)查,原因很簡(jiǎn)單:難理解,不知如何著手。針對(duì)這種情況,我嘗試了很多方法,并且屢試不爽。現(xiàn)談?wù)勂渲幸恍┲饕氖谡n方法。

        (1)對(duì)比教學(xué)法

        求學(xué)時(shí)代,聽(tīng)一位名人講過(guò)這樣一句話:對(duì)比中見(jiàn)真理。我把這句話應(yīng)用在我的學(xué)習(xí)和工作中,深深體會(huì)了這句話的真理性。

        比如,C語(yǔ)言中使用編譯預(yù)處理命令中的簡(jiǎn)單的宏(#define)來(lái)定義符號(hào)常量,而C++中常使用const。仔細(xì)比較,原因很簡(jiǎn)單:雖然C++是C的超集,但由于宏命令是在編譯前進(jìn)行宏展開(kāi)的,沒(méi)有任何語(yǔ)法檢查,非常不安全,故C++中使用const來(lái)取代簡(jiǎn)單的宏,也正驗(yàn)證了C++是強(qiáng)類(lèi)型語(yǔ)言的說(shuō)法。

        另外,為了減少因函數(shù)調(diào)用和函數(shù)返回所花費(fèi)的系統(tǒng)開(kāi)銷(xiāo),C語(yǔ)言中使用帶參數(shù)的宏(#define)實(shí)現(xiàn)功能簡(jiǎn)單且不含有復(fù)雜結(jié)構(gòu)的過(guò)程,而C++中則采用內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)與#define預(yù)處理命令很相似。例如,

        inlinechar min(char c1,char c2)

        { return c1

        #define min(c1,c2) ((c1)<(c2)?(c1):(c2))

        二者主要區(qū)別:

        ① 內(nèi)聯(lián)函數(shù)在擴(kuò)展時(shí),系統(tǒng)要檢查參數(shù)類(lèi)型;而宏展開(kāi)只作簡(jiǎn)單的替換,不會(huì)進(jìn)行語(yǔ)法檢查。

        ② 如果將表達(dá)式傳遞給內(nèi)聯(lián)函數(shù)的形參,則該表達(dá)式只求值一次;而將該表達(dá)式傳遞給宏的形參,則對(duì)表達(dá)式的求值就會(huì)引起副作用。例如,

        //使用內(nèi)聯(lián)函數(shù)

        #include

        inline char min(char c1,char c2){return c1

        void main( )

        {

        charch1='b',ch2='a';

        cout<<"min(ch1++,ch2)="<

        cout<<"ch1="<

        }

        運(yùn)行結(jié)果:

        min(ch1++,ch2)=a

        ch1=c,ch2=a

        //使用宏定義

        #include

        #definemin(c1,c2)((c1)>(c2)?(c1):(c2))

        void main( )

        {

        char ch1='b',ch2='a';

        cout<<"min(ch1++,ch2)="<

        cout<<"ch1="<

        }

        運(yùn)行結(jié)果:

        min(ch1++,ch2)=c

        ch1=d,ch2=a

        通過(guò)以上主要兩個(gè)方面的比較,學(xué)生就很不難理解為什么C++使用內(nèi)聯(lián)函數(shù)而不使用帶參數(shù)的宏。

        以上兩個(gè)問(wèn)題(簡(jiǎn)單的宏與const、帶參數(shù)的宏與內(nèi)聯(lián)函數(shù))都與編譯預(yù)處理命令中的宏定義有關(guān)系,因此,在講完符號(hào)常量和內(nèi)聯(lián)函數(shù)之后,我進(jìn)行了一個(gè)簡(jiǎn)單且明了的總結(jié):由于編譯預(yù)處理命令中的宏定義存在安全漏洞,因此,C++中使用const取代簡(jiǎn)單的宏來(lái)定義符號(hào)常量,使用內(nèi)聯(lián)函數(shù)取代帶參數(shù)的宏來(lái)實(shí)現(xiàn)功能簡(jiǎn)單且不含有復(fù)雜控制結(jié)構(gòu)的過(guò)程。經(jīng)過(guò)總結(jié),兩個(gè)(const和內(nèi)聯(lián)函數(shù))看似毫無(wú)聯(lián)系的知識(shí)之間具有一個(gè)共同點(diǎn):取代宏定義。

        (2)實(shí)例教學(xué)法

        學(xué)生在熟悉且習(xí)慣了面向過(guò)程的程序設(shè)計(jì)思想之后,再接觸面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,很難區(qū)分二者究竟有何不同。在C++課程的講解中,我必須首先讓學(xué)生理解面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)和傳統(tǒng)的程序設(shè)計(jì)有著本質(zhì)的區(qū)別。

        比如,現(xiàn)實(shí)世界中的某個(gè)人,不僅僅具有身高、膚色、體重等靜態(tài)特性,而且具有吃飯、說(shuō)話、行走等動(dòng)態(tài)行為,靜態(tài)特性和動(dòng)態(tài)行為本來(lái)就是自成一體的,構(gòu)成了現(xiàn)實(shí)世界中的一個(gè)人?,F(xiàn)在要把現(xiàn)實(shí)世界中類(lèi)似“某個(gè)人”的實(shí)體映射到計(jì)算機(jī)世界中,就用“對(duì)象”(靜態(tài)特性和動(dòng)態(tài)行為封裝在一起)來(lái)表示它,這就是面向?qū)ο蟮乃枷搿6趥鹘y(tǒng)程序設(shè)計(jì)思想中,是把靜態(tài)特性和動(dòng)態(tài)行為分離開(kāi)的。

        再?gòu)某绦蚪Y(jié)構(gòu)上進(jìn)一步說(shuō)明,例如,采用不同思想分別定義Time類(lèi)型:

        //面向過(guò)程的程序設(shè)計(jì)思想

        struct Time

        { int Hour,Minute,Second; };

        void ShuRu(Time *pt) //定義輸入過(guò)程

        { cout<<"請(qǐng)輸入小時(shí)、分和秒:";

        cin>>pt->Hour>>pt->Minute>>pt->Second;

        }

        void ShuChu(Time *pt) //定義輸出過(guò)程

        { cout<Hour<<"小時(shí)"<Minute<<"分"<Second<<"秒"<

        }

        //面向?qū)ο蟮某绦蛟O(shè)計(jì)思想

        class Time //定義Time類(lèi)類(lèi)型

        {

        private:

        int Hour,Minute,Second; //private成員

        public:

        void ShuRu() //定義public成員:輸入操作

        { cout<<“請(qǐng)輸入小時(shí)、分和秒:”;

        cin>>Hour>>Minute>>Second;

        }

        void ShuChu() //定義public成員:輸出操作

        { cout<

        };

        借助實(shí)例描述和直觀的程序結(jié)構(gòu)比較,學(xué)生就非常容易接受了,老師的講解也起到事半功倍的效果。

        (3)啟發(fā)式教學(xué)法

        教學(xué)中,善于且靈活使用啟發(fā)教學(xué),有助于活躍學(xué)生的思維,使學(xué)生由被動(dòng)接受知識(shí)狀態(tài)積極轉(zhuǎn)化為主動(dòng)獲取知識(shí)狀態(tài),能夠充分挖掘他們的學(xué)習(xí)潛能,激發(fā)學(xué)習(xí)的積極性和主觀能動(dòng)性,從而培養(yǎng)學(xué)生的創(chuàng)新思維能力。

        比如,在將數(shù)組概念之前,出現(xiàn)了下面的我和學(xué)生之間的一問(wèn)一答:

        我:如何存放3個(gè)學(xué)生的C語(yǔ)言成績(jī)?

        學(xué)生:定義3個(gè)變量。

        我:10個(gè)學(xué)生的成績(jī)?

        學(xué)生:定義10個(gè)變量。

        我:100個(gè)、1000個(gè)、10000個(gè)學(xué)生的成績(jī)?

        學(xué)生:變量太多啦,不容易表示。

        我準(zhǔn)備的問(wèn)題很自然地被學(xué)生發(fā)現(xiàn)并提出,這個(gè)時(shí)候我就可以順理成章地提出數(shù)組是解決的最佳辦法。了解了數(shù)組的應(yīng)用環(huán)境,學(xué)生在編程過(guò)程中就可以靈活使用。

        (4)課堂提問(wèn)

        為了使學(xué)生能夠很好參與到課堂教學(xué)活動(dòng)中,在必要時(shí),我也經(jīng)常隨機(jī)課堂提問(wèn),一方面是為了提醒有些走神的學(xué)生;另一方面是為了檢驗(yàn)學(xué)生是否真正理解和掌握前面所學(xué)知識(shí),這樣我就可以有針對(duì)性地進(jìn)行后面內(nèi)容的講解。

        課堂教學(xué)中的例子還有很多,在此不再一一列舉。

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

        靈活結(jié)合和使用不同教學(xué)方法,提高教學(xué)質(zhì)量,是我們老師的責(zé)任和義務(wù)。教是為了不教,授學(xué)生以魚(yú),更要授之以漁。

        參考文獻(xiàn):

        [1]張鴻、馮文新.C++面向?qū)ο蟪绦蛟O(shè)計(jì)教程.武漢大學(xué)出版社,2008.

        [2]譚浩強(qiáng).C程序設(shè)計(jì)(第三版).清華大學(xué)出版社,2005.

        作者簡(jiǎn)介:

        張鴻(1975-),女,講師,碩士,主要從事計(jì)算機(jī)程序理論和數(shù)據(jù)庫(kù)技術(shù)的研究;畢業(yè)院校:鄭州大學(xué),專(zhuān)業(yè):計(jì)算機(jī)軟件與理論。

        猜你喜歡
        面向?qū)ο?/a>程序設(shè)計(jì)定義
        基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開(kāi)發(fā)
        面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
        高職高專(zhuān)院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
        面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
        面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
        河南科技(2014年10期)2014-02-27 14:09:03
        修辭學(xué)的重大定義
        国产精品黑丝美女av| 亚洲国产精品久久久久久网站 | 国产白色视频在线观看| 亚洲精品无码永久中文字幕| 无码午夜成人1000部免费视频| 国产欧美精品一区二区三区,| 日本a一区二区三区在线| 亚洲日本国产精品久久| 9 9久热re在线精品视频| 最新国产乱视频伦在线| 国内色精品视频在线网址| 精品国产中文字幕久久久| 久热国产vs视频在线观看| 国产精品密播放国产免费看| 中文字幕一区,二区,三区| 精品人妻一区二区三区视频| 国产无吗一区二区三区在线欢| 亚洲日本va中文字幕久久| 黄片在线观看大全免费视频| 日本视频一区二区三区在线观看| 熟妇人妻久久中文字幕| 中文字幕精品亚洲人成| 日本黑人人妻一区二区水多多 | 台湾佬中文偷拍亚洲综合| 精品高清免费国产在线| 亚洲欧美综合区自拍另类| 亚洲一级无码片一区二区三区| 淫秽在线中国国产视频| 影音先锋久久久久av综合网成人| 老熟妇乱子伦av| 亚洲中文无码精品久久不卡| 成人高清在线播放视频| 亚洲一区自拍高清亚洲精品| 男人天堂网在线视频| 精品国产乱码一区二区三区 | 色小姐在线视频中文字幕| 中国女人内谢69xxxxxa片| 色一乱一伦一图一区二区精品| 国产美女黄性色av网站| 国产视频一区二区三区在线免费 | 中文字幕国内一区二区|