程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)教程
定 價:25 元
- 作者:鐘梅 編
- 出版時間:2012/1/1
- ISBN:9787302297376
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312C
- 頁碼:230
- 紙張:膠版紙
- 版次:1
- 開本:16開
《21世紀(jì)高等學(xué)校計(jì)算機(jī)教育實(shí)用規(guī)劃教材:程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)教程(C語言)》以程序設(shè)計(jì)基礎(chǔ)為中心,輔助學(xué)習(xí)程序設(shè)計(jì)的基本方法和基本原理。本書適用于那些擁有很少或沒有編程經(jīng)驗(yàn)的學(xué)習(xí)者,使初學(xué)編程的學(xué)生或愛好者能夠循序漸進(jìn),逐步完成小型程序的編寫,最終掌握程序設(shè)計(jì)方法并用C語言實(shí)現(xiàn)。
本書共24個實(shí)驗(yàn)單元及1個綜合項(xiàng)目演練單元。內(nèi)容包含簡單C程序、順序程序設(shè)計(jì)、分支結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)、一維數(shù)組、二維數(shù)組、字符數(shù)組和字符串、函數(shù)、指針、結(jié)構(gòu)體、鏈表、文件等章節(jié),其中對于有一定難度的章節(jié)(如指針)有更細(xì)致的劃分。
《21世紀(jì)高等學(xué)校計(jì)算機(jī)教育實(shí)用規(guī)劃教材:程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)教程(C語言)》強(qiáng)調(diào)標(biāo)準(zhǔn)化、軟件工程思想,服務(wù)應(yīng)用、程序通用方法,確立面向工程和應(yīng)用的培養(yǎng)定位。本書適合作為本科和大專院!俺绦蛟O(shè)計(jì)基礎(chǔ)”課程的c語言版實(shí)驗(yàn)教材,也適合程序設(shè)計(jì)自學(xué)者參考。
《21世紀(jì)高等學(xué)校計(jì)算機(jī)教育實(shí)用規(guī)劃教材:程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)教程(C語言)》強(qiáng)調(diào)標(biāo)準(zhǔn)化和程序通用方法,適合于面向工程和應(yīng)用的培養(yǎng)目標(biāo)。每個實(shí)驗(yàn)單元包括多道典型例題,覆蓋本單元的關(guān)鍵知識點(diǎn)。每個實(shí)驗(yàn)單元包括一個Q&A部分,匯集本單元相關(guān)的常見問題及其解答,對難點(diǎn)進(jìn)一步解釋說明。
【定位】
“程序設(shè)計(jì)基礎(chǔ)”是計(jì)算機(jī)專業(yè)、軟件工程專業(yè)、電子信息類等專業(yè)的基礎(chǔ)課程,目前C語言仍然是計(jì)算機(jī)領(lǐng)域的通用語言之一。本書是為大學(xué)本科階段的“程序設(shè)計(jì)基礎(chǔ)”課程編寫的C語言版實(shí)驗(yàn)教材,配合“程序設(shè)計(jì)基礎(chǔ)”理論教學(xué),以程序設(shè)計(jì)基礎(chǔ)為主,介紹程序設(shè)計(jì)的基本方法和基本理論,使初學(xué)編程的學(xué)生或愛好者能夠循序漸進(jìn),最終掌握程序設(shè)計(jì)并用C語言實(shí)現(xiàn)的普遍方法。
本書強(qiáng)調(diào)標(biāo)準(zhǔn)化、軟件工程、服務(wù)應(yīng)用、程序通用方法,不強(qiáng)調(diào)編程技巧,不追求大而全的知識面,確立面向工程和應(yīng)用的培養(yǎng)定位。本書也非常適于作為其他一些課程的輔助用書。
【內(nèi)容提要】
“程序設(shè)計(jì)基礎(chǔ)”課程適用于那些擁有很少或沒有編程經(jīng)驗(yàn)的學(xué)生,本實(shí)驗(yàn)教程致力于使學(xué)生理解計(jì)算機(jī)在解決問題中的作用,并且?guī)椭鷮W(xué)生,不論其專業(yè)是什么,都能逐步建立信心以完成小型程序的編寫。
本書內(nèi)容分為簡單C程序、順序程序設(shè)計(jì)、分支結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)、一維數(shù)組、二維數(shù)組、字符數(shù)組和字符串、函數(shù)、指針、結(jié)構(gòu)體、鏈表、文件等章節(jié),其中對于有一定難度的章節(jié)有更細(xì)致的劃分,如指針等,具體請參考本書目錄。
【主要特色】
(1) 簡單易學(xué)的組織結(jié)構(gòu)。強(qiáng)調(diào)循序漸進(jìn),針對有難度的主題,以螺旋式漸進(jìn)方式組織主題,逐漸增加細(xì)節(jié)內(nèi)容,并前后呼應(yīng)。
(2) 強(qiáng)調(diào)編程基礎(chǔ),弱化C語法特色。本課程主題在于程序設(shè)計(jì)的基本思想方法,雖然離不開C的語言特色,但不再致力于語法學(xué)習(xí),摒棄常用的陷阱設(shè)計(jì)以及為了出題而出題的局限,努力致力于實(shí)用與實(shí)踐。
(3) 突出關(guān)鍵,擇去旁枝。在實(shí)現(xiàn)同一種程序設(shè)計(jì)的方法較多時,不再追求大而全、面面俱到的學(xué)習(xí)方法,舍棄次要內(nèi)容,選擇最常用的一到兩種,對比加強(qiáng),用好用透即可。
(4) 強(qiáng)調(diào)通用方法,弱化技巧。本教程試圖采用通用規(guī)范的方法輔助學(xué)生學(xué)習(xí)并實(shí)踐程序設(shè)計(jì)思想,而不是注重于技巧,并以范例的形式為學(xué)生解讀個別經(jīng)典的程序設(shè)計(jì)技巧。
(5) 注重標(biāo)準(zhǔn)化,強(qiáng)調(diào)編寫風(fēng)格,強(qiáng)調(diào)軟件工程思想。本教程注重以軟件工程的思想進(jìn)行程序設(shè)計(jì),并逐步引導(dǎo)學(xué)生建立某種編程風(fēng)格,堅(jiān)持程序易讀、可維護(hù)。
(6) 選例適當(dāng),便于自學(xué)。每個實(shí)驗(yàn)通常有三個以上的典型例題,覆蓋本實(shí)驗(yàn)的關(guān)鍵知識點(diǎn)。典型例題注解清晰,知識點(diǎn)明確易懂,風(fēng)格良好,幫助學(xué)生掌握知識點(diǎn)。
(7) QandA解問答疑。每個實(shí)驗(yàn)中都有一個QandA部分,匯集本實(shí)驗(yàn)相關(guān)的常見問題及其答案,對一些難以理解的問題予以進(jìn)一步解釋說明。
【培養(yǎng)目標(biāo)及學(xué)習(xí)成果】
本書介紹程序設(shè)計(jì)的基本方法和基本理論,及C語言實(shí)現(xiàn),幫助學(xué)習(xí)者循序漸進(jìn)地將程序設(shè)計(jì)方法運(yùn)用于實(shí)踐,使學(xué)習(xí)者逐步掌握運(yùn)用軟件工程的思想進(jìn)行程序設(shè)計(jì)的能力,同時培養(yǎng)學(xué)生具備IT行業(yè)要求的職業(yè)素養(yǎng),主動培養(yǎng)以下多方面的能力: 學(xué)習(xí)能力、問題描述能力、問題分析能力、選擇合適的方法解決問題的能力、多種方案的比較能力、編碼能力、測試能力、交流溝通能力、文檔表達(dá)能力、模塊復(fù)用能力等。
1. 技能
(1) 能夠清楚軟件工程思想解決問題的各個步驟,并行之有效地運(yùn)用于程序設(shè)計(jì)。
(2) 能夠熟悉一些常用的算法,如輾轉(zhuǎn)相除法、冒泡排序法、插入排序法、選擇排序法、二分查找法等。
(3) 具備一定的程序閱讀與分析能力,以及對比分析能力。
(4) 能夠按照一定步驟進(jìn)行程序設(shè)計(jì)。
(5) 熟悉編譯器,具備一定的程序調(diào)試能力。
2. 分析問題的能力
(1) 能夠根據(jù)通用算法步驟合理劃分子問題。
(2) 能夠?qū)Τ霈F(xiàn)的問題予以討論和分析,列出各種自行解決方案及結(jié)果,以便于分析并尋求解決方案。
(3) 根據(jù)程序運(yùn)行結(jié)果判別程序輸出是否符合要求。
3. 表達(dá)能力
(1) 能夠使用結(jié)構(gòu)化程序設(shè)計(jì)思想,結(jié)合偽碼、代碼或者自然語言,正確描述一個簡單的問題或小課題。
(2) 能夠使用自然語言描述問題。
(3) 能夠使用自然語言表達(dá)解決思路。
(4) 能夠用算法表述解決步驟。
(5) 能夠使用程序設(shè)計(jì)語言表達(dá)解決思路。
4. 交流溝通能力
(1) 能夠向他人陳述問題和想法,并確認(rèn)對方能夠理解。
(2) 能夠耐心傾聽他人的描述,理解其描述,并及時反饋。
(3) 能夠理解他人的問題,并陳述問題產(chǎn)生的原因和解決辦法。
5. 程序調(diào)試、測試能力
(1) 編譯器報(bào)錯或警告時,能夠理解出錯或警告信息。
(2) 能夠根據(jù)編譯器信息對源代碼錯誤進(jìn)行定位,修改后,再編譯。
(3) 能夠單步調(diào)試程序。
(4) 能夠設(shè)計(jì)各種測試數(shù)據(jù)檢驗(yàn)程序是否設(shè)計(jì)正確。
【教學(xué)安排】
本教程由24個實(shí)驗(yàn)單元和一個項(xiàng)目演練單元構(gòu)成。但是實(shí)驗(yàn)單元序號并非線性排列,這是考慮到主題相同的知識單元,一次實(shí)驗(yàn)課未必能夠掌握,比如循環(huán)結(jié)構(gòu),通常會對初學(xué)者構(gòu)成一個關(guān)卡,于是我們根據(jù)教學(xué)經(jīng)驗(yàn)和學(xué)生反饋拆分成為兩個單元,即實(shí)驗(yàn)41和實(shí)驗(yàn)42,將雙重循環(huán)等內(nèi)容放在了實(shí)驗(yàn)42中。另如數(shù)組,也按照知識單元總章劃分為實(shí)驗(yàn)51一維數(shù)組、實(shí)驗(yàn)52 二維數(shù)組,以及實(shí)驗(yàn)53字符數(shù)組和字符串。以后其他章節(jié)也如此安排,比如指針、結(jié)構(gòu)體以及鏈表等。
如果課程安排為5個學(xué)分,即實(shí)驗(yàn)課程為68個學(xué)時,拋去習(xí)題課和節(jié)假日沖突,則本教程基本對應(yīng)于一課一練,即每次實(shí)驗(yàn)課一個實(shí)驗(yàn)單元?梢粋學(xué)期使用,也可以拆分為兩個學(xué)期使用。也可供其他學(xué)分安排的課程作為實(shí)驗(yàn)參考。
項(xiàng)目演練可以作為學(xué)期綜合大作業(yè),也可以用于課程實(shí)踐環(huán)節(jié)的內(nèi)容,主旨是將所學(xué)的零散知識點(diǎn)有機(jī)組織起來,完成一個較具規(guī)模的綜合應(yīng)用型項(xiàng)目。
本教程中有部分實(shí)驗(yàn)習(xí)題或?qū)嶒?yàn)單元有*號出現(xiàn),意為選學(xué)或選做內(nèi)容,學(xué)習(xí)者可以根據(jù)自己的學(xué)習(xí)能力和學(xué)習(xí)時間靈活安排。
【學(xué)習(xí)策略】
通過程序設(shè)計(jì)基礎(chǔ)這門課程,希望培養(yǎng)學(xué)習(xí)者良好的學(xué)習(xí)習(xí)慣和職業(yè)素養(yǎng)。
學(xué)習(xí)是一個循序漸進(jìn)的過程,對初學(xué)者而言,內(nèi)容均為新概念、新知識、新思維方式,若完全靠自己看書、閱讀教材,可能比較艱苦,有一定的難度,有些內(nèi)容甚至完全看不懂。
學(xué)習(xí)沒有捷徑可走,學(xué)習(xí)者不要因?yàn)閭別問題搞不懂,不能一下子掌握知識就望而生畏、停滯不前,有些內(nèi)容需要有一個消化過程。學(xué)習(xí)者應(yīng)充分利用各種資源,做好預(yù)習(xí)和復(fù)習(xí)工作,提高學(xué)習(xí)效率,再輔之以適當(dāng)?shù)莫?dú)立學(xué)習(xí)時間,才能學(xué)好本課程,為后繼專業(yè)學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。對平時學(xué)習(xí)內(nèi)容結(jié)合實(shí)驗(yàn)教程反復(fù)思考,吃透每一知識點(diǎn),深刻理解每一個基本概念、基本原理的要領(lǐng)。
寫程序從哪里開始?大多數(shù)新手看到問題或者題目后,立刻開始編碼,然后調(diào)試程序,希望馬上得到正確的結(jié)果。其實(shí),這不是個好習(xí)慣。
正確的方法是應(yīng)用軟件工程的思想分析和解決問題。有一個大致的算法分析或者解決步驟后,再進(jìn)行編碼,沒有方案設(shè)計(jì)就進(jìn)行編碼,將增加無謂的調(diào)試時間。
另外,需要注意合理分配學(xué)習(xí)時間,掌握學(xué)習(xí)節(jié)奏。
一般地,在本課程學(xué)習(xí)活動中,每周應(yīng)保持約10小時的學(xué)習(xí)時間,大致參考如下。
理論課: 1.5小時
上機(jī)實(shí)踐: 1.5小時
課后自習(xí): 7小時
【致謝】
首先,要感謝清華大學(xué)出版社,感謝出版社對書稿改版的支持和理解,以及對書稿所做的文字編輯工作。
本書的形成是教學(xué)過程逐漸累積的過程,感謝曾經(jīng)一起工作的同事賀貫中、胡明慶,他們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,以及針對學(xué)生特色對教材的定制和裁剪方法對本書產(chǎn)生了比較重要的影響。
感謝一同工作在同一課程及后繼課程的各位老師: 姚暢、應(yīng)新洋、江左文、周國兵、劉慰、高巍、聶琰、孫霞、胡旭昶、蔣偉鋼等,他們?yōu)楸緯暙I(xiàn)了大量有價值的反饋信息和修改建議,同時感謝袁一峰、徐麗寧和蔡麗雅等給予的熱情支持。感謝學(xué)院主管部門領(lǐng)導(dǎo)趙一鳴、楊相生和張戰(zhàn)等給予的支持和鼓勵。
感謝眾多的學(xué)生,他們使用了早期的書稿,并提供了大量的反饋信息,幫助作者更好地調(diào)整知識結(jié)構(gòu)和出題策略,感謝歷年來參與輔助答疑的學(xué)生助教們。感謝陳曉、林榆竣、胡啟淵、周亮等幫助編寫并調(diào)試程序。
此外,本教程受到2009年度寧波大學(xué)科學(xué)技術(shù)學(xué)院計(jì)算科學(xué)與技術(shù)省重點(diǎn)建設(shè)專業(yè)項(xiàng)目、2010年度寧波大學(xué)教材建設(shè)項(xiàng)目以及2010年度寧波大學(xué)科學(xué)技術(shù)學(xué)院軟件工程重點(diǎn)專業(yè)建設(shè)項(xiàng)目資助。
編者
2012年6月
實(shí)驗(yàn)1 簡單C程序
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)2 順序結(jié)構(gòu)
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)3 分支結(jié)構(gòu)
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)4-1 循環(huán)結(jié)構(gòu)
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)4-2 循環(huán)結(jié)構(gòu)
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)5-1 一維數(shù)組
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)5-2 二維數(shù)組
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)5-3 字符數(shù)組和字符串
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)6-1 函數(shù)
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)6-2 函數(shù)
【知識點(diǎn)回顧】
【典型例題】
【Q&A】
【實(shí)驗(yàn)內(nèi)容】
【課后練習(xí)】
實(shí)驗(yàn)6-3 函數(shù)
實(shí)驗(yàn)7-1 指針基本概念
實(shí)驗(yàn)7-2 指針與一維數(shù)組
實(shí)驗(yàn)7-3 指針與二維數(shù)組
實(shí)驗(yàn)7-4 指針與字符數(shù)組
實(shí)驗(yàn)7-5 其他指針
實(shí)驗(yàn)8-1 結(jié)構(gòu)體
實(shí)驗(yàn)8-2 結(jié)構(gòu)體
實(shí)驗(yàn)9-1 鏈表初步
實(shí)驗(yàn)9-2 單鏈表
實(shí)驗(yàn)9-3 單鏈表
實(shí)驗(yàn)9-4 其他鏈表
實(shí)驗(yàn)10 文件
實(shí)驗(yàn)11 預(yù)處理
實(shí)驗(yàn)12 項(xiàng)目演練
參考文獻(xiàn)