基于自然語言思想的遞進(jìn)C/C++教程(上冊C)

出版時間:2009-9  出版社:清華大學(xué)出版社  作者:李春庚  頁數(shù):195  字?jǐn)?shù):302000  
Tag標(biāo)簽:無  

前言

  1. 本書編寫背景  C語言是應(yīng)用面廣、效率高的結(jié)構(gòu)化高級計算機(jī)語言; C++語言是在C語言基礎(chǔ)上發(fā)展起來的、面向?qū)ο蟮母呒売嬎銠C(jī)語言,它不但繼承了C語言的所有優(yōu)點(diǎn)、兼容C語言的所有語法,更增加了安全性高、適應(yīng)性強(qiáng)和編程效率高的特點(diǎn)。通常將C語言和C++語言合并,泛稱C++語言。C++語言也成為全世界多數(shù)大學(xué)理工類專業(yè)計算機(jī)編程訓(xùn)練的首選教學(xué)語言?! ≡鯓硬拍芡ㄟ^教和學(xué),高效率地掌握C++語言呢?  當(dāng)前有以下兩種教學(xué)模式?! 。?) 先學(xué)習(xí)C語言,然后學(xué)習(xí)C++語言。該教、學(xué)模式下,知識內(nèi)容掌握得比較深入,但耗費(fèi)的時間比較長,效率不高。另外,容易帶來“結(jié)構(gòu)化”和“面向?qū)ο蟆眱煞N編程思想的對立。因?yàn)樵贑語言的教材中,通常只講結(jié)構(gòu)化的編程,而C++教材通常強(qiáng)調(diào)面向?qū)ο蟮膬?yōu)點(diǎn)和其與結(jié)構(gòu)化思想的不同,忽略了“結(jié)構(gòu)化”和“面向?qū)ο蟆钡穆?lián)系,及“面向?qū)ο蟆笔侨绾螐摹敖Y(jié)構(gòu)化”發(fā)展而來的?! 。?) 模糊C語言和C++語言的界限,直接學(xué)習(xí)C++語言。這種教、學(xué)模式  效率比較高,耗費(fèi)的時間較短,但教、學(xué)效果往往不夠理想。因?yàn)槊嫦驅(qū)ο缶幊讨校绦蛘Z句排列的先后順序和程序執(zhí)行的順序不一致,具有“超文本的跳躍性”,對于沒有結(jié)構(gòu)化程序設(shè)計基礎(chǔ)的初學(xué)者理解難度較大?! 榱丝朔陨蟽煞N教學(xué)模式的不足,我們尋著計算機(jī)編程語言產(chǎn)生發(fā)展的脈絡(luò),提出了“基于自然語言思想的遞進(jìn)C/C++教學(xué)”思路。因?yàn)橛嬎銠C(jī)編程語言從機(jī)器語言到匯編語言再到高級語言的發(fā)展過程,就是越來越逼近人類自然語言的過程; 從C語言到C++語言的發(fā)展過程,就如同人類自然語言不斷豐富的發(fā)展過程,它是一個遞進(jìn)的補(bǔ)充、完善過程。  人類自然語言是由詞構(gòu)成短語,多個詞或短語構(gòu)成句子,多個句子就形成段落,多個段落就是文章。基于人類自然語言的思想,我們將C/C++語言中的類型、常量和變量看做名詞,將各種運(yùn)算符看做動詞,將if…else、switch…case、while等看做連詞,表達(dá)式就是短語,程序語句就是句子,程序模塊就是段落,整個工程的程序就是文章。而數(shù)組、結(jié)構(gòu)體、函數(shù)和指針是名詞的發(fā)展; 語句嵌套、函數(shù)的遞歸等是句式的發(fā)展; 沿著這樣的理解思路,C++中的類自然是C中結(jié)構(gòu)體類型的發(fā)展。這樣就明晰了從C發(fā)展到C++的過程,找到了貫穿C和C++的一致性知識框架體系,使C語言和C++語言無縫銜接,使學(xué)生在學(xué)習(xí)過程中,不去區(qū)分C和C++,更多地學(xué)習(xí)C和C++的遞進(jìn)性、一致性,而在課程結(jié)束后,可以深入地理解C和C++的不同,領(lǐng)略C++對C的補(bǔ)充和增強(qiáng),深入理解C語言和C++語言的知識內(nèi)容,真正做到融會貫通,培養(yǎng)編程實(shí)踐能力?! ”緯v稿已經(jīng)在大連海事大學(xué)的教學(xué)中使用,得到良好的教學(xué)效果?! ?. 本書特色 ?。?) 以自然語言的思想,講授計算機(jī)語言,形象易懂?! 。?) 篇幅短小,中心突出,練習(xí)題通常是例題的發(fā)展和變化,少而精,非常適合于課堂教學(xué)和初學(xué)者自學(xué)。 ?。?) 僅用幾個例題,貫穿本書始末,將學(xué)習(xí)的各種語法遞進(jìn)加入例題,使之不斷完善,豐富,一步步接近實(shí)際開發(fā)?! 。?) 引入四則運(yùn)算數(shù)學(xué)方法,講解二維數(shù)組指針難點(diǎn),使語言的學(xué)習(xí)成為簡單的推導(dǎo),深入而準(zhǔn)確?! 。?) 本書提出表達(dá)式、函數(shù)是復(fù)合的變量,常量是變量的“瞬間快照”等觀點(diǎn),蘊(yùn)涵了“泛化”的思想,潛移默化訓(xùn)練學(xué)生的思維方式,為C++的泛型程序設(shè)計打下思想基礎(chǔ)。

內(nèi)容概要

  本書以自然語言“選詞造句,連句成段,多段成章”的漸進(jìn)學(xué)習(xí)思想貫穿全書,簡捷深入地闡述了C語言的概念和語法。將C語言中的類型和量值(常量和變量)理解為“名詞”; 各種運(yùn)算符理解為“動詞”; 構(gòu)成分支結(jié)構(gòu)的if…else、構(gòu)成循環(huán)結(jié)構(gòu)的while等理解為“連詞”。名詞、動詞和連詞的有機(jī)組合就形成C語言的語句。而將數(shù)組和結(jié)構(gòu)體等類型和變量理解為集合名詞,是基本名詞的橫向發(fā)展,將指針、位、函數(shù)和文件理解為名詞的縱向發(fā)展?! ∪珪}圍繞幾個問題展開,要么用不同方法解決,要么不斷完善和深化; 同時用一個綜合實(shí)例,融合C語言的各個知識點(diǎn),讓C語言的學(xué)習(xí)更接近于實(shí)際開發(fā)。每章的習(xí)題都是例題的變形和深化,以加強(qiáng)學(xué)生對知識的理解。  本書適合作為普通高校C語言課程的教材,也可用作培訓(xùn)教材及自學(xué)教材使用。

書籍目錄

第1章 概述 1.1 自然語言和計算機(jī)語言 1.2 C語言及C++語言 1.3 簡單的C/C++程序及其運(yùn)行方法(環(huán)境的使用)  1.3.1 C/C++程序開發(fā)運(yùn)行環(huán)境  1.3.2 格式化輸出輸入函數(shù)printf()和scanf() 習(xí)題第2章 基本的C/C++語言 2.1 C/C++語言中的名詞——類型、量值(常量和變量)  2.1.1 整型和整型量值  2.1.2 浮點(diǎn)型和浮點(diǎn)量值(常量和變量)  2.1.3 字符型和字符量值(常量和變量)  2.1.4 字符串常量 2.2 C/C++語言中的動詞—運(yùn)算符、短語—表達(dá)式和特殊動詞性關(guān)鍵字  2.2.1 賦值運(yùn)算符和賦值表達(dá)式  2.2.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式  2.2.3 邏輯運(yùn)算符和邏輯表達(dá)式  2.2.4 關(guān)系運(yùn)算符和關(guān)系表達(dá)式  2.2.5 其他運(yùn)算符和表達(dá)式  2.2.6 不同類型量值的不同運(yùn)算的混合 2.3 C/C++語言中的連詞及句子——分支、循環(huán)和順序結(jié)構(gòu)  2.3.1 順序結(jié)構(gòu)  2.3.2 if…else——分支結(jié)構(gòu)  2.3.3 switch…case——分支結(jié)構(gòu)  2.3.4 ?…:——分支結(jié)構(gòu)  2.3.5 for——循環(huán)結(jié)構(gòu)  2.3.6 while——循環(huán)結(jié)構(gòu)  2.3.7 do…while——循環(huán)結(jié)構(gòu)  2.3.8 goto…label…if——循環(huán)結(jié)構(gòu)  2.3.9 break——終止循環(huán)或開關(guān)  2.3.10 continue——終止本次循環(huán) 2.4 C/C++語言中的句子小結(jié) 2.5 用C/C++語言編寫程序——段落 2.6 用C/C++語言編寫復(fù)雜段落——語句嵌套  2.6.1 復(fù)雜段落——語句嵌套的含義  2.6.2 嵌套語句的示例  2.6.3 復(fù)雜段落——語句嵌套的小結(jié) 2.7 總結(jié) 習(xí)題第3章 C/C++語言的橫向名詞性擴(kuò)充 3.1 C/C++語言的橫向名詞性擴(kuò)充(1): 同類變量的集合——數(shù)組  3.1.1 一維數(shù)組  3.1.2 二維數(shù)組  3.1.3 n維數(shù)組  3.1.4 字符數(shù)組 3.2 C/C++語言的橫向名詞性擴(kuò)充(2): 自定義類型——typedef  3.2.1 簡單類型的自定義  3.2.2 同類集合類型的自定義——變量數(shù)組類型的定義 3.3 C/C++語言的橫向名詞性擴(kuò)充(3): 異類集合類型和異類集合變量——結(jié)構(gòu)體型(值)、共用體型(值)、枚舉型(值)  3.3.1 結(jié)構(gòu)體類型和結(jié)構(gòu)體變量  3.3.2 共用體類型和共用體變量  3.3.3 枚舉類型和枚舉變量 3.4 C/C++語言的橫向名詞性擴(kuò)充(4): 異類集合類型的同類集合類型——結(jié)構(gòu)體數(shù)組 3.5 各種橫向擴(kuò)充類型的融合使用 習(xí)題第4章 C/C++語言的縱向名詞性擴(kuò)充(1): 指針 4.1 簡單指針類型和指針量值(常量和變量)  4.1.1 變量的三層含義  4.1.2 變量的指針和指針類型的變量  4.1.3 與指針相關(guān)的動詞補(bǔ)充——&和*運(yùn)算符  4.1.4 指針和指針變量示例 4.2 同類集合變量——數(shù)組的指針和對應(yīng)的指針變量  4.2.1 一維數(shù)組的指針和操作一維數(shù)組的指針變量——本質(zhì)上是指向單個變量的指針變量  4.2.2 二維數(shù)組的各級指針  4.2.3 操作二維數(shù)組的各種指針變量——本質(zhì)上是指向簡單變量和一維數(shù)組的指針變量  4.2.4 m維數(shù)組的指針和指向m維數(shù)組的指針變量 4.3 指向指針變量的指針量值——二級指針 習(xí)題第5章 C/C++語言的縱向名詞性擴(kuò)充(2): 函數(shù)第6章 名詞的空間域、時間域和物理存儲位置第7章 編譯預(yù)處理第8章 C/C++語言的縱向名詞性擴(kuò)充(3): 宏觀擴(kuò)充——文件第9章 C/C++語言的縱向名詞性擴(kuò)充(4): 微觀擴(kuò)充——位和位域附錄 習(xí)題答案參考文獻(xiàn)

章節(jié)摘錄

  自然語言有著悠久的歷史,它的一切都是在人類漫長的歷史中自然發(fā)展、約定俗成的。它的構(gòu)成單位由小到大可以粗略地分為字、詞、短語、句子、段落和篇章等,在英文中沒有字的概念,最小的單位是詞(如無需要,可統(tǒng)稱為字詞)。人學(xué)習(xí)語言的過程是先學(xué)習(xí)簡單的字詞,通常是名詞、動詞和連詞,如車、雨、乘、如果……那么……等,這些字詞已經(jīng)在漫長的歷史中被固定,無法改變,如果非要改變,那么就無法和別人交流溝通。對簡單的字詞有了一定的掌握后,兩個以上的字詞就構(gòu)成短語,如出租車、下雨等;短語有一定自由度,可以適當(dāng)變化。在短語的基礎(chǔ)上,配合連詞可以說出“如果下雨,那么就乘出租車”的句子,句子的靈活性就更大了。當(dāng)然,如果一個人掌握了很多的句子,就可以將句子加以組合,形成段落和篇章。隨著社會的發(fā)展和社會實(shí)踐的需要,人們是可以不斷創(chuàng)造出新的字詞,使語言不斷豐富。這是我們每個人學(xué)習(xí)自然語言的過程。但是必須明確,熟練掌握一種自然語言,并不是說就可以寫出優(yōu)美的文章。就好像可以熟練地使用漢語,而又有多少人可以用漢語寫出優(yōu)美的文章呢!因?yàn)槲恼轮胁坏姓_的字詞、短語和句子,更要有深邃的思想,而思想不屬于語言本身,只是以語言作為表達(dá)的載體。思想屬于某個專門的領(lǐng)域,需要對該領(lǐng)域知識的深刻理解和掌握。這就是說,語言只是工作于社會中的基本技能,在此基礎(chǔ)上,需要對某一領(lǐng)域的掌握和理解,然后更要將語言恰當(dāng)?shù)貞?yīng)用于該領(lǐng)域中,用語言表達(dá)該領(lǐng)域的思想,解決該領(lǐng)域的問題。另外,語言是非常依賴實(shí)踐的,只是聽別人說,而自己不說,只是閱讀別人寫的文章,自己不寫,是永遠(yuǎn)不可能掌握語言的?! ∮嬎銠C(jī)語言的構(gòu)成及學(xué)習(xí)過程和人類的自然語言是非常相似的,也包含“名詞”,在計算機(jī)語言中通常叫“類型”和“量值”,“量值”包括“常量”和“變量”;“動詞”,在計算機(jī)語言中叫“運(yùn)算符”;“連詞”,在計算機(jī)語言中叫控制流程;構(gòu)成的“短語”在計算機(jī)語言中叫表達(dá)式;用表達(dá)式構(gòu)成的“句子”在計算機(jī)語言中叫語句;相當(dāng)于自然語言的“段落”叫程序段或模塊;和“篇章”相對應(yīng)的就是程序了。計算機(jī)語言發(fā)展到今天,已經(jīng)有了和“著作”相對應(yīng)的單位,那就是“工程”。學(xué)習(xí)計算機(jī)編程語言的過程與學(xué)習(xí)自然語言的過程是一致的。先要學(xué)會類型的定義,量值的聲明,表達(dá)式的創(chuàng)建,程序語句的書寫,以及模塊和程序的編制。完全類似的是,并不是掌握了計算機(jī)語言就成為了編程高手。計算機(jī)的程序中同樣必須蘊(yùn)涵著思想,用計算機(jī)的術(shù)語叫“算法”,它不屬于計算機(jī)語言本身,它屬于要解決問題的專業(yè)領(lǐng)域。只有熟練掌握了計算機(jī)語言,又真正理解了所要解決的專業(yè)問題,才能編寫出可以解決問題的、有一定規(guī)模的計算機(jī)程序。

編輯推薦

  叢書特點(diǎn):教學(xué)目標(biāo)明確,注重理論與實(shí)踐的結(jié)合;教學(xué)方法靈活,培養(yǎng)學(xué)生自主學(xué)習(xí)的能力;教學(xué)內(nèi)容先進(jìn),強(qiáng)調(diào)計算機(jī)在各專業(yè)中的應(yīng)用;教學(xué)模式完善,提供配套的教學(xué)資源解決方案。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    基于自然語言思想的遞進(jìn)C/C++教程(上冊C) PDF格式下載


用戶評論 (總計3條)

 
 

  •   對于初學(xué)C語言的人來說這本書挺有幫助的。
  •   書寫的很好,朋友推薦的
  •   這本書是學(xué)校老師推薦的,既然推薦了,就買來看看
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7