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

        ?

        《C++程序設(shè)計(jì)教程》(第二版)的寫(xiě)作動(dòng)機(jī)與特色

        2006-03-24 04:00:02錢(qián)
        計(jì)算機(jī)教育 2006年3期
        關(guān)鍵詞:程序員程序設(shè)計(jì)代碼

        錢(qián) 能

        一、 用標(biāo)準(zhǔn)C++教學(xué)與編程

        計(jì)算機(jī)科學(xué)與應(yīng)用的迅猛發(fā)展,直接推動(dòng)了《C++程序設(shè)計(jì)教程》一書(shū)的再版。由于C++語(yǔ)言作為有效的開(kāi)發(fā)工具在計(jì)算機(jī)界起著重要的作用,因而在國(guó)內(nèi)得到了越來(lái)越多的應(yīng)用,許多大型的計(jì)算機(jī)和軟件開(kāi)發(fā)公司要求程序員必須能夠進(jìn)行C++編程,這一趨勢(shì)導(dǎo)致了越來(lái)越多的學(xué)校開(kāi)設(shè)C++程序設(shè)計(jì)課程。1998年ISO/IEEE所制定的C++標(biāo)準(zhǔn)如今已經(jīng)被各大C++編譯器制造商全盤(pán)采用,2002年又修訂了C++新的國(guó)際標(biāo)準(zhǔn),國(guó)內(nèi)的C++教學(xué)也逐步意識(shí)到用標(biāo)準(zhǔn)C++進(jìn)行教學(xué)的重要意義,這也意味著C++正以一日千里之勢(shì)在向前發(fā)展。

        這些年中,發(fā)現(xiàn)用非標(biāo)準(zhǔn)C++進(jìn)行編程,總是磕磕碰碰,遇到編譯器的嚴(yán)重挑戰(zhàn),而用標(biāo)準(zhǔn)C++進(jìn)行編程卻能順利進(jìn)行。這倒不是說(shuō)非標(biāo)準(zhǔn)C++不能進(jìn)行實(shí)戰(zhàn)。例如,在VC6下書(shū)寫(xiě)的程序,只打算在Windows環(huán)境下運(yùn)行,也沒(méi)有什么不妥,因?yàn)閃indows在我國(guó)的使用和開(kāi)發(fā)群體那么大,使得VC6也似乎成了一種Windows的“標(biāo)準(zhǔn)”了。但是,在C++中使用類(lèi)進(jìn)行編程,以及使用STL便不那么順暢了,編寫(xiě)的代碼移植到其他系統(tǒng)變得困難了。由于人為地制造此編譯器和彼編譯器的差別,也就使得代碼彼此之間比較和研究產(chǎn)生了障礙。

        所以一開(kāi)始學(xué)習(xí),采用標(biāo)準(zhǔn)C++學(xué)習(xí),是一種良好的習(xí)慣,它能夠幫助讀者發(fā)現(xiàn)最本質(zhì)的問(wèn)題。例如,字符串處理,用char*直接描述和用string類(lèi)描述有本質(zhì)的區(qū)別,當(dāng)讀者看清兩者的差異后,到了使用Windows資源或者M(jìn)FC時(shí),就會(huì)自然理解CString與char*的區(qū)別來(lái)。

        標(biāo)準(zhǔn)C++有更多的使用群體、更好的移植性和對(duì)以后的新標(biāo)準(zhǔn)更好的適應(yīng)能力,這也促使了第二版從前C++過(guò)渡到標(biāo)準(zhǔn)C++。

        二、 結(jié)構(gòu)調(diào)整,強(qiáng)化體系

        采用原先第一版做教材時(shí),發(fā)現(xiàn)速成教學(xué)很奏效,也就是在實(shí)驗(yàn)室現(xiàn)學(xué)現(xiàn)編,而且可以無(wú)需任何預(yù)備知識(shí)。相反,循序漸進(jìn)地進(jìn)行課堂教學(xué),因?yàn)闆](méi)有接觸到計(jì)算機(jī),沒(méi)有直接進(jìn)行編程實(shí)踐,關(guān)于數(shù)據(jù)類(lèi)型定義、說(shuō)明、命名以及語(yǔ)法格式等概念的理解反而有一些障礙。這不得不讓引人思考,是否應(yīng)該以編程的感性認(rèn)識(shí)讓學(xué)生自己去分辨編程中語(yǔ)言要素以及操作順序。幾次下來(lái),確認(rèn)了首先上機(jī)實(shí)驗(yàn)這樣的教學(xué)方式很有效。于是在第二版中,將基本編程這一章的內(nèi)容放到前面第二章,而數(shù)據(jù)類(lèi)型和具體的計(jì)算表達(dá)統(tǒng)統(tǒng)屬于初學(xué)編程時(shí)的問(wèn)題來(lái)加以解決,放到了第三章和第四章。

        同時(shí),因?yàn)榈诙娴膶?shí)例教學(xué)色彩更濃厚,一些概念靠實(shí)例的學(xué)習(xí)可以掌握,所以把原來(lái)單獨(dú)成章的數(shù)組以及指針都拆到第三章中,作為其中的一節(jié)內(nèi)容了。

        第一、二部分講述基本編程和過(guò)程化編程方法,考慮到一些內(nèi)容的份量比重,過(guò)程化編程中的數(shù)組、指針、引用和結(jié)構(gòu),都不再單獨(dú)成章。這實(shí)際上是對(duì)全書(shū)作大幅度的內(nèi)容結(jié)構(gòu)重組的開(kāi)始。

        由于實(shí)例中輸入輸出的數(shù)據(jù)設(shè)計(jì)特別重要,所以全書(shū)貫穿了文件流的基本操作。

        以基本編程語(yǔ)句,數(shù)據(jù)類(lèi)型和計(jì)算表達(dá)的章節(jié)順序展開(kāi)敘述,同時(shí)還歸類(lèi)了過(guò)程化編程的諸種方法,是作者多年教學(xué)經(jīng)驗(yàn)的總結(jié)。學(xué)了簡(jiǎn)單的編程語(yǔ)句,隨之展開(kāi)過(guò)程控制結(jié)構(gòu)的實(shí)驗(yàn),以感性認(rèn)識(shí)牽動(dòng)理性認(rèn)識(shí),在C++學(xué)習(xí)上更能奏效,也順應(yīng)了教學(xué)規(guī)律。

        抽象編程是指采用抽象分層的手法,進(jìn)行各個(gè)模塊的具體編程。抽象編程并不是動(dòng)動(dòng)腦,動(dòng)動(dòng)嘴,比劃比劃的形式,而是更有效地進(jìn)行的具體編程。要實(shí)質(zhì)性地提高編程能力,必須學(xué)習(xí)C++的內(nèi)部實(shí)現(xiàn)技術(shù)和抽象表達(dá)手段,兩者并重。面向?qū)ο缶幊痰闹饕侄误w現(xiàn)在抽象編程,書(shū)中強(qiáng)化了C++的抽象表達(dá)技術(shù),特地將多態(tài)和抽象類(lèi)拎出來(lái)單獨(dú)成章,而第一版在抽象表達(dá)手段上明顯不足。

        除此之外,還加強(qiáng)了基于對(duì)象編程,完善了面向?qū)ο缶幊?,補(bǔ)充了高級(jí)編程。

        第一版在面向?qū)ο蠛透呒?jí)編程方面比較薄弱,在教學(xué)中,明顯感到一是體系性不強(qiáng),二是內(nèi)容相對(duì)不足。因而,第二版必須針對(duì)這一缺陷,在結(jié)構(gòu)上作一大的調(diào)整。結(jié)果,對(duì)象化編程中的堆與拷貝構(gòu)造函數(shù)、靜態(tài)成員和友元、多重繼承、操作符重載和IO流都不再單獨(dú)成章,而以面向?qū)ο缶幊痰淖钪匾獛讉€(gè)內(nèi)容來(lái)編排:類(lèi),對(duì)象生滅、繼承、基于對(duì)象編程、多態(tài)以及抽象類(lèi)。而且也大大擴(kuò)充了原先的內(nèi)容,特別是抽象類(lèi),模板和異常這三章內(nèi)容,增幅比較大。

        模板這一章除了介紹基本用法,還介紹了STL的模板技術(shù)以及程序組織方法,模板的全局定做和局部定做,用模板實(shí)現(xiàn)的多態(tài)技術(shù)與虛函數(shù)的多態(tài)技術(shù)的區(qū)別與相互補(bǔ)充性,最后介紹了泛型編程,這些內(nèi)容屬于高級(jí)編程的基礎(chǔ),它對(duì)于理解開(kāi)發(fā)中的樣本代碼會(huì)帶來(lái)很大的好處。異常這一章除了介紹基本用法和增強(qiáng)編程的可靠性與容錯(cuò)性的作用外,還介紹了標(biāo)準(zhǔn)異常、異常申述、異常關(guān)鍵實(shí)現(xiàn)技術(shù)和非錯(cuò)誤異常的處理方法,它對(duì)于讀者理解異常的本質(zhì)會(huì)起到很好的作用。

        三、 為新教學(xué)模式開(kāi)道

        打破舊式教學(xué)的刻板模式,致力于消除計(jì)算機(jī)專業(yè)的學(xué)生在大學(xué)畢業(yè)后卻不會(huì)編程的普遍現(xiàn)狀。本書(shū)將程序設(shè)計(jì)課程的教學(xué)要求和目標(biāo)牢牢鎖在編程能力而不是應(yīng)付機(jī)械式考試上,強(qiáng)調(diào)程序設(shè)計(jì)課程應(yīng)充實(shí)更多的編程實(shí)踐,讓更多有編程經(jīng)驗(yàn)的教師來(lái)講解和指導(dǎo)實(shí)驗(yàn),并要求以實(shí)際的編程活動(dòng)來(lái)確認(rèn)是否掌握了所學(xué)內(nèi)容和方法。

        因此第二版無(wú)論是代碼實(shí)例,還是習(xí)題都采用編程實(shí)驗(yàn)形式,而且,事實(shí)上,作者已經(jīng)完成了兩年的課程考試以編程為主的形式的過(guò)渡。

        第二版的出版,也意味著作者將以編程實(shí)時(shí)提交作為實(shí)驗(yàn)形式,也以編程實(shí)時(shí)提交作為考試的形式,以此作為C++程序設(shè)計(jì)課程的新教學(xué)模式。

        雖然第一版已經(jīng)開(kāi)始脫離應(yīng)付書(shū)面考試的學(xué)習(xí)形式,但某些地方還留戀著計(jì)算機(jī)等級(jí)考試的內(nèi)容細(xì)節(jié)描述,而第二版的寫(xiě)作已經(jīng)將一些細(xì)節(jié)下放到《詳解》1中去了?!督坛蹋ǖ诙妫纷鳛橹鹘滩?,其手段是編程方法和編程訓(xùn)練并施,其內(nèi)容是內(nèi)部特性與抽象編程并重。當(dāng)然,學(xué)好了C++編程技能,書(shū)面考試亦會(huì)得心應(yīng)手。

        本書(shū)在內(nèi)容上是跨編程基礎(chǔ),過(guò)程化編程,對(duì)象化編程和高級(jí)編程的四合一??梢赃x擇進(jìn)行其中的第一、二部分,或第三、四部分的教學(xué)。第一、二部分和第三、四部分分別可以作為一學(xué)期約64個(gè)理論實(shí)踐課時(shí)的教學(xué),其中上機(jī)實(shí)驗(yàn)可占到總學(xué)時(shí)的1/2左右。

        四、 引領(lǐng)進(jìn)一步編程提高

        目前市面上,C++的書(shū)籍很多,真是眼花繚亂,有很多是國(guó)外名家寫(xiě)的經(jīng)典之作,但初學(xué)者看了很難有大的收獲,而有過(guò)一些開(kāi)發(fā)背景的讀者看了會(huì)覺(jué)得很精彩,感到真是一種享受。到了“享受”這個(gè)層次,學(xué)習(xí)C++就無(wú)障礙可言了。本書(shū)旨在引導(dǎo)初學(xué)者,學(xué)會(huì)欣賞C++學(xué)習(xí)的初級(jí)精彩;然后根據(jù)作者的指引,直接去享受C++經(jīng)典著作的內(nèi)在精彩。

        書(shū)中經(jīng)常出現(xiàn)對(duì)參考文獻(xiàn)的閱讀指引,其中大部分都是指引到國(guó)外的C++經(jīng)典著作中去,從而幫助讀者學(xué)習(xí)更深刻的C++編程內(nèi)涵。

        書(shū)中也經(jīng)常出現(xiàn)程序設(shè)計(jì)方法的多樣性探討、語(yǔ)言特征上的優(yōu)缺點(diǎn)描述及編譯工具評(píng)價(jià)等,甚至對(duì)C++中的一些名詞和術(shù)語(yǔ)進(jìn)行了更確切的中文命名。作者不隱晦自己的觀點(diǎn),更歡迎專家來(lái)信探討。對(duì)于計(jì)算機(jī)教師和高級(jí)程序員來(lái)說(shuō),應(yīng)是一種有益的參考。

        五、 通俗、詼諧和深長(zhǎng)意味

        本書(shū)描述的淺顯易懂來(lái)自于不懈的實(shí)踐經(jīng)歷和長(zhǎng)期的教學(xué)經(jīng)驗(yàn)。然而,僅僅淺顯,往往使著述的篇幅顯得臃腫,所以,必須已經(jīng)對(duì)某一領(lǐng)域的科學(xué)現(xiàn)象有所透徹的理解,才能真正通俗易懂甚至詼諧幽默得起來(lái)。

        通俗和詼諧也是作者撰寫(xiě)本書(shū)的一大特點(diǎn),因?yàn)樽髡咭呀?jīng)不相信一本刻板描述高水平體系化的書(shū),能夠?yàn)樽x者所接受。人來(lái)自生活,對(duì)于堆積著公理、定理、規(guī)定,公式推導(dǎo),規(guī)范的書(shū),看似堂堂正正,而少有對(duì)體系作深刻揭示而又實(shí)例不足的書(shū),已經(jīng)證明是不受現(xiàn)代讀者歡迎的。而且C++編程語(yǔ)言作為技能性課程更需要最后以能力來(lái)證明自己的學(xué)習(xí)成就而不是考試成績(jī)。

        通俗和詼諧不是無(wú)原則的,它必須圍繞一個(gè)體系,緊扣主題,重點(diǎn)突出。在難點(diǎn)的敘述上,更能見(jiàn)通俗和詼諧的魅力。

        例如,作為性能這一章的開(kāi)場(chǎng)白,有一段對(duì)效率的獨(dú)特描述,來(lái)警示效率在編程中的重要:“程序員談?wù)撟疃嗟氖切蕟?wèn)題,C++面向?qū)ο蟪绦蛟O(shè)計(jì)方法就是在效率的爭(zhēng)辯中發(fā)展起來(lái)的。面對(duì)所要解決的龐大問(wèn)題,人們害怕徒勞無(wú)功,所以對(duì)種種影響效率的方法橫加指責(zé)。軟件業(yè)的發(fā)展,是因?yàn)樯a(chǎn)的軟件一個(gè)個(gè)實(shí)用起來(lái)了。而要實(shí)用,效率便是其生命!”

        六、 抽象編程與內(nèi)部特性并重

        高級(jí)編程都是抽象編程,抽象編程總是接口獨(dú)立,層次分明。抽象編程最大的好處是程序的模塊之間職責(zé)分明,容易維護(hù)和擴(kuò)展。面向?qū)ο缶幊痰囊粋€(gè)重要優(yōu)勢(shì)就是能夠在對(duì)象化編程中把抽象性的效果淋漓盡致地體現(xiàn)出來(lái),抽象編程是程序員追求的重要目標(biāo),把握了抽象編程也就是本質(zhì)上把握了編程的方法。因此,本書(shū)抓住抽象編程,對(duì)面向?qū)ο蟮雀呒?jí)編程方法展開(kāi)重點(diǎn)描述。

        C++編程本質(zhì)上是數(shù)據(jù)類(lèi)型和算法的堆積,很多算法的性能是需要程序員通過(guò)語(yǔ)句使用的效率推敲來(lái)把握的,也就是說(shuō),C++的內(nèi)部特性對(duì)其程序的性能起著重要的作用,這種作用不是哪種編程方法可以左右的。此外,STL的性能也涉及到所用語(yǔ)句的內(nèi)在效率,它必須從實(shí)踐中慢慢把握。

        要提高編程能力,便要以抽象編程觀來(lái)進(jìn)行編程思考,擴(kuò)大編程的視野,同時(shí)必須重視C++內(nèi)部特性,提高C++性能,讓程序真正實(shí)用起來(lái)。對(duì)C++來(lái)說(shuō),這是兩種相輔相成的本質(zhì),一個(gè)強(qiáng)調(diào)低層特性,一個(gè)強(qiáng)調(diào)從頂層縱覽全局。堅(jiān)持兩者并重,才能使C++體現(xiàn)出超乎其他編程語(yǔ)言的簡(jiǎn)捷和高效。體現(xiàn)了C++強(qiáng)大的生命力也就體現(xiàn)了一個(gè)人的編程能力。這就是學(xué)習(xí)C++編程語(yǔ)言的著眼點(diǎn)。

        七、 代碼風(fēng)格

        編程重代碼形式,優(yōu)秀程序員總是具有自己獨(dú)特的代碼風(fēng)格。代碼風(fēng)格的好壞直接影響其可讀性,影響其與其他程序員的溝通。這也就決定了該代碼的生命力。要想盡可能快地成為一個(gè)程序員,應(yīng)該有意識(shí)地訓(xùn)練自己的代碼書(shū)寫(xiě)風(fēng)格。這就首先需要見(jiàn)識(shí)一些優(yōu)秀代碼,然后從實(shí)踐經(jīng)歷中慢慢形成自己的代碼風(fēng)格。

        本書(shū)正是意識(shí)到了代碼風(fēng)格的重要,從根本上著手來(lái)培養(yǎng)程序員,本書(shū)特地對(duì)第一版所有的源代碼的風(fēng)格進(jìn)行了改良,使之更優(yōu)雅、精簡(jiǎn)和可讀。同時(shí)還補(bǔ)充了許多高效和精巧的代碼。難怪書(shū)的封底點(diǎn)出“風(fēng)格獨(dú)特,極具模仿價(jià)值”。

        這里要避免強(qiáng)調(diào)風(fēng)格所導(dǎo)致的誤區(qū):性能是程序運(yùn)行的生命,但有時(shí)性能和代碼并不調(diào)和。也就是說(shuō),實(shí)現(xiàn)了高雅的風(fēng)格,而操作并不一定高效;實(shí)現(xiàn)了高效,代碼不一定可讀性好。書(shū)中一般會(huì)采取一種簡(jiǎn)捷的偏向于袒護(hù)性能的代碼形式。發(fā)生這種情況時(shí),代碼可能會(huì)顯得很奇異,甚至有點(diǎn)晦澀難懂。好在這是一部教材,把這些懸念留給親愛(ài)的老師,會(huì)使課堂教學(xué)更精彩,而且也將會(huì)有《C++程序設(shè)計(jì)教程詳解》來(lái)細(xì)述。

        猜你喜歡
        程序員程序設(shè)計(jì)代碼
        為了讓媽媽看懂地圖,一位“野生程序員”做了個(gè)小程序
        怎樣成為一名優(yōu)秀程序員
        幼兒100(2020年29期)2020-10-21 06:17:58
        基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
        從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        程序員之子
        意林(2017年24期)2018-01-02 22:49:14
        高職高專院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
        久青草久青草视频在线观看 | 国产精品天天看大片特色视频 | 久久丝袜熟女av一区二区| 日本a爱视频二区三区| 偷拍综合在线视频二区日韩 | 人妖一区二区三区四区| 亚洲精品国产电影| 日本精品少妇一区二区三区| 一本色道久久88加勒比—综合| 亚洲成av人片在线观看麦芽| 日日澡夜夜澡人人高潮| 国产特级毛片aaaaaa高清| 久久国产精品-国产精品| 亚洲AV无码精品呻吟| 中文字幕avdvd| 精品一区二区三区长筒靴| 亚洲中文字幕乱码免费看| 免费看黄片视频在线观看| 懂色av一区二区三区网久久| 国产精品亚洲一区二区三区在线| 一本色道久久88—综合亚洲精品| 久久久精品国产亚洲av网深田| 亚洲国产精品无码久久一线| 免费欧洲毛片a级视频老妇女| 少妇愉情理伦片高潮日本| 全球中文成人在线| 狠狠色狠狠色综合日日不卡| 国产成人国产在线观看| 色婷婷久久免费网站| 国产亚洲三级在线视频| 在线观看女同一区二区| 伊人久久大香线蕉av不变影院 | 亚洲精品成人国产av| 高跟丝袜一区二区三区| 初尝人妻少妇中文字幕在线| 亚洲一区二区三区精彩视频| 美女露出奶头扒开内裤的视频 | 亚洲男人免费视频网站| 中文字幕亚洲精品无码| 国产精品18久久久| 9lporm自拍视频区|