本書是為了配合《C語言程序設計》一書的學習而編寫的配套教材,共包含兩部分內(nèi)容:第1部分每一章由三部分內(nèi)容構(gòu)成,包括對《C語言程序設計》教材對應章節(jié)的知識點進行總結(jié)、歸納、講解,結(jié)合知識點設置相應的實驗內(nèi)容,結(jié)合實驗所涉及的知識點列出了常見錯誤及解決方法。結(jié)合實驗題目詳細介紹了Visual C++ 6.0 及DEV C++集成開發(fā)環(huán)境的使用方法,包括源程序的創(chuàng)建、編譯、連接和運行過程及程序調(diào)試方法。第2部分給出了《C語言程序設計》一書中所有習題的詳細解題思路及參考答案。書中所有程序均經(jīng)過調(diào)試并運行通過。本書內(nèi)容豐富、概念清晰、實用性強,是學習C語言的極j參考書。本書可以作為高等院校,特別是財經(jīng)類院校C語言程序設計課程的實驗教學用書,也可以供廣大C語言程序設計初學者自學參考。
以計算機為核心的信息技術(shù)的應用能力已成為衡量一個人文化素質(zhì)高低的重要標志之一。大學非計算機專業(yè)開設計算機課程的主要目的是掌握計算機應用的能力以及在應用計算機過程中自然形成的包括計算思維意識在內(nèi)的科學思維意識,以滿足社會就業(yè)需要、專業(yè)需要與創(chuàng)新創(chuàng)業(yè)人才培養(yǎng)的需要。根據(jù)《教育部關于全面提高高等教育質(zhì)量的若干意見》(教高\\[2012\\]4號)精神,著力提升大學生信息素養(yǎng)和應用能力,推動計算機在面向應用的過程中培養(yǎng)文科學生的計算思維能力的文科大學計算機課程改革、落實由教育部高等教育司組織制訂、教育部高等學校文科計算機基礎教學指導委員會編寫的高等學校文科類專業(yè)《大學計算機教學要求(第6版——2011年版)》(下面簡稱《教學要求》),在建立大學計算機知識體系結(jié)構(gòu)的基礎上,清華大學出版社依據(jù)教高司函\\[2012\\]188號文件中的部級項目1\\|3(基于計算思維培養(yǎng)的文科類大學計算機課程研究)、2\\|14(基于計算思維的人文類大學計算機系列課程及教材建設)、2\\|17(計算機藝術(shù)設計課程與教材創(chuàng)新研究)、2\\|18(音樂類院校計算機應用專業(yè)課程與專業(yè)基礎課程系列化教材建設)的要求,組織編寫、出版了本系列教材。信息技術(shù)與文科類專業(yè)的相互結(jié)合、交叉、滲透,是現(xiàn)代科學技術(shù)發(fā)展趨勢的重要方面,是新學科的一個不可忽視的生長點。加強文科類專業(yè)(包括文史法教類、經(jīng)濟管理類與藝術(shù)類)專業(yè)的計算機教育、開設具有專業(yè)特色的計算機課程是培養(yǎng)能夠滿足信息化社會對文科人才要求的重要舉措,是培養(yǎng)跨學科、復合型、應用型的文科通才的重要環(huán)節(jié)。《教學要求》把大文科的計算機教學,按專業(yè)門類分為文史法教類(人文類)、經(jīng)濟管理類與藝術(shù)類三個系列。大文科計算機教學知識體系由計算機軟硬件基礎、辦公信息處理、多媒體技術(shù)、計算機網(wǎng)絡、數(shù)據(jù)庫技術(shù)、程序設計、美術(shù)與設計類計算機應用以及音樂類計算機應用8個知識領域組成。知識領域分為若干知識單元,知識單元再分為若干知識點。大文科各專業(yè)對計算機知識點的需求是相對穩(wěn)定、相對有限的。由屬于一個或多個知識領域的知識點構(gòu)成的課程則是不穩(wěn)定、相對活躍、難以窮盡的。課程若按教學層次可分為計算機大公共課程(也就是大學計算機公共基礎課程)、計算機小公共課程和計算機背景專業(yè)課程三個層次。第一層次的教學內(nèi)容是文科各專業(yè)學生應知應會的。這些內(nèi)容可為文科學生在與專業(yè)緊密結(jié)合的信息技術(shù)應用方面進一步深入學習打下基礎。這一層次的教學內(nèi)容是對文科大學生信息素質(zhì)培養(yǎng)的基本保證,起著基礎性與先導性的作用。第二層次是在第一層次之上,為滿足同一系列某些專業(yè)共同需要(包括與專業(yè)相結(jié)合而不是某個專業(yè)所特有的)而開設的計算機課程。其教學內(nèi)容,或者在深度上超過第一層次的〖LM〗[BW(D(S7mm,,-13mm)][JY][HT10.K]序言[HT][CSX][CS][KG5mm][XCYM.tif,JZ][BW)][BW(S(S7mm,-13mm,)][XCYM.tif,JZ][KG5mm][HT10.K]C語言程序設計實驗及習題解答(第2版)[HT][BW)][BW(D(X-225.9mm,,-11.7mm)MR][JY][WT10.FZ][BM][WT][BW)][BW(S(X-225.9mm,-11.7mm,)MR][WT10.FZ][BM][WT][BW)]教學內(nèi)容中的某一相應模塊,或者拓展到第一層次中沒有涉及的領域。這是滿足大文科不同專業(yè)對計算機應用需要的課程。這部分教學內(nèi)容在更大程度上決定了學生在其專業(yè)中應用計算機解決問題的能力與水平。第三層次,也就是使用計算機工具,以計算機軟硬件為背景而開設的為某一專業(yè)所特有的課程。其教學內(nèi)容就是專業(yè)課。如果沒有計算機作為工具支撐,這門課就開不起來。這部分教學內(nèi)容顯示了學校開設特色專業(yè)課的能力與水平。這些課程,除了大學計算機應用基礎,還涉及數(shù)字媒體、數(shù)據(jù)庫、程序設計以及與文史哲法教類、經(jīng)濟管理類與藝術(shù)類相關的許多課程。通過這些課程的開設,是讓學生掌握更多的計算機應用能力,在計算機面向應用過程中培養(yǎng)學生的計算思維及更加寬泛的科學思維能力。清華大學出版社出版的這套教育部部級項目規(guī)劃教材,就是根據(jù)教高司函\\[2012\\]188號文件及《教學要求》的基本精神編寫而成的。它可以滿足當前大文科各類專業(yè)計算機各層次教學的基本需要。 對教材中的不足或錯誤,敬請同行和讀者批評指正。〖JY,2〗[HL(1]〖HT4”K〗盧湘鴻[HT]2014年10月于北京中關村科技園[HL)][HJ]〖FQ(4*2。38,X-W〗〖HT2.〗〖HT〗〖CD9*2〗〓〓〖HT6〗盧湘鴻〓北京語言大學信息科學學院計算機科學與技術(shù)系教授,原教育部高等學校文科計算機基礎教學指導分委員會副主任、秘書長, 現(xiàn)任教育部高等學校文科計算機基礎教學指導分委員會顧問、全國高等院校計算機基礎教育研會文科專業(yè)委員會常務副主任兼秘書長, 30多年來一直從事非計算機專業(yè)的計算機教育研究。 〖FQ)〗
“程序設計”是高等院校重要的計算機基礎課程。它以編程語言為依托,介紹程序設計的思想和方法,通過該課程的學習,學生不僅能掌握高級程序設計語言的知識,更重要的是在實踐中逐步掌握程序設計的思想和方法,培養(yǎng)問題求解和語言的應用能力。
“C語言程序設計”是一門實踐性很強的課程,該課程的學習有其自身的特點。學生必須通過大量的編程、上機調(diào)試,在實踐中理解和掌握程序設計所涉及的概念、內(nèi)涵、編程思想和程序調(diào)試方法與技巧。只有通過不斷的實踐,才能逐步積累編程經(jīng)驗,提高程序設計的能力。
本書作為《C語言程序設計(第2版)》的配套教材,包含兩部分內(nèi)容。第1部分每一章由三部分內(nèi)容構(gòu)成: 首先對《C語言程序設計(第2版)》教材對應章節(jié)的知識點進行總結(jié)、歸納、講解,并通過圖示闡明知識點間的關系;然后結(jié)合知識點設置相應的實驗,包括實驗目的,實驗參考及實驗內(nèi)容;最后,結(jié)合本次實驗所涉及的知識點及內(nèi)容列出了常見問題及解決方法。這些問題都是學生在編程過程中經(jīng)常出現(xiàn)的,這部分內(nèi)容有助于學生深入理解所學知識,從而避免在編程中反復出現(xiàn)類似的錯誤。
本書第1部分第1章結(jié)合實驗詳細介紹了Visual C++ 6.0 及DEV C++集成開發(fā)環(huán)境的使用方法,包括源程序的創(chuàng)建、編譯、連接和運行過程及程序調(diào)試方法。
第2部分給出了《C語言程序設計(第2版)》一書中所有習題的詳細解題思路及參考答案,書中所有程序均經(jīng)過調(diào)試并運行通過。
本書由張書云主編并統(tǒng)稿,朱雷、張悅今、湯健、張媛媛參加編寫。由于時間倉促,本書疏漏之處在所難免,懇請廣大專家和讀者批評指正。
編者2020年8月
第1部分知識點講解及實驗安排
第1章C語言概述3
1.1知識要點3
1.2上機實驗4
1.3實驗過程中的常見問題與解決方法11
第2章數(shù)據(jù)類型、常量與變量17
2.1知識要點17
2.2上機實驗17
2.3實驗過程中的常見問題與解決方法20
第3章數(shù)據(jù)的運算與輸入輸出22
3.1知識要點22
3.2上機實驗22
3.3實驗過程中的常見問題與解決方法26
第4章C語言三種基本結(jié)構(gòu)程序設計29
4.1選擇結(jié)構(gòu)29
4.1.1知識要點29
4.1.2上機實驗29
4.1.3實驗過程中的常見問題與解決方法33
4.2循環(huán)結(jié)構(gòu)基礎35
4.2.1知識要點35
4.2.2上機實驗36
4.2.3實驗過程中的常見問題與解決方法39
4.3循環(huán)嵌套40
4.3.1知識要點40
4.3.2上機實驗40
4.3.3實驗過程中的常見問題與解決方法44
第5章函數(shù)45
5.1函數(shù)定義與調(diào)用45
5.1.1知識要點45
5.1.2上機實驗45
5.1.3實驗過程中的常見問題與解決方法50
5.2函數(shù)的嵌套和遞歸51
5.2.1知識要點51
5.2.2上機實驗51
5.2.3實驗過程中的常見問題與解決方法54
5.3函數(shù)的高級應用54
5.3.1知識要點54
5.3.2上機實驗55
5.3.3實驗過程中的常見問題與解決方法58
目錄C語言程序設計實驗及習題解答(第2版)第6章數(shù)組60
6.1一維數(shù)組60
6.1.1知識要點60
6.1.2上機實驗60
6.1.3實驗過程中的常見問題與解決方法63
6.2二維數(shù)組65
6.2.1知識要點65
6.2.2上機實驗65
6.2.3實驗過程中的常見問題與解決方法69
6.3字符數(shù)組和字符串70
6.3.1知識要點70
6.3.2上機實驗70
6.3.3實驗過程中的常見問題與解決方法73
6.4函數(shù)和數(shù)組74
6.4.1知識要點74
6.4.2上機實驗74
6.4.3實驗過程中的常見問題與解決方法77
第7章指針79
7.1指針的概念及應用79
7.1.1知識要點79
7.1.2上機實驗79
7.1.3實驗過程中的常見問題與解決方法81
7.2指針與一維數(shù)組82
7.2.1知識要點82
7.2.2上機實驗82
7.2.3實驗過程中的常見問題與解決方法84
7.3指針與字符串85
7.3.1知識要點85
7.3.2上機實驗86
7.3.3實驗過程中的常見問題與解決方法88
7.4指針與二維數(shù)組88
7.4.1知識要點88
7.4.2上機實驗89
7.4.3實驗過程中的常見問題與解決方法90
7.5指針的其他應用91
7.5.1知識要點91
7.5.2上機實驗92
7.5.3實驗過程中的常見問題與解決方法97
第8章結(jié)構(gòu)體與共用體99
8.1結(jié)構(gòu)體基本應用99
8.1.1知識要點99
8.1.2上機實驗99
8.1.3實驗過程中的常見問題與解決方法104
8.2共用體基本應用105
8.2.1知識要點105
8.2.2上機實驗105
8.2.3實驗過程中的常見問題與解決方法109
第9章文件系統(tǒng)110
9.1知識要點110
9.2上機實驗111
9.3實驗過程中的常見問題與解決方法115
第2部分《C語言程序設計(第2版)》習題解答
第1章習題與解答121
1.1習題121
1.2習題參考答案與解析122
第2章習題與解答122
2.1習題122
2.2習題參考答案與解析124
第3章習題與解答126
3.1習題126
3.2習題參考答案與解析129
第4章習題與解答132
4.1習題132
4.2習題參考答案與解析138
第5章習題與解答146
5.1習題146
5.2習題參考答案與解析150
第6章習題與解答158
6.1習題158
6.2習題參考答案與解析163
第7章習題與解答174
7.1習題174
7.2習題參考答案與解析179
第8章習題與解答189
8.1習題189
8.2習題參考答案與解析192
第9章習題與解答202
9.1習題202
9.2習題參考答案與解析204