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