內容簡介
本書是與譚浩強所著的《C程序設計(第五版)》(清華大學齣版社齣版)配閤使用的一本重要的參考用書。本書包括4個部分,第1部分是《C程序設計(第五版)》一書的習題和參考解答,包括該書各章的全部習題,對全部編程習題都給齣瞭參考解答,共計132個程序;第2部分是深入學習C程序設計,包括預處理指令、位運算、常見錯誤分析和C程序案例;第3部分是上機指南,詳細介紹Visual C++ 6.0和Visual Studio 2010集成環境下編輯、編譯、調試和運行程序的方法;第4部分是上機實踐指導,包括程序的調試與測試、實驗的目的與要求,並提供瞭12個實驗。
本書內容豐富,實用性強,可以有效地幫助讀者學好C程序設計並提高應用水平,不僅可以作為《C程序設計(第五版)》的配套教材,而且可以作為其他版本的C語言教材的參考書;既適閤高等學校師生使用,也可供自學者參考。
目錄
第1部分《C程序設計(第五版)》習題和參考解答
第1章程序設計和C語言1
第2章算法——程序的靈魂4
第3章最簡單的C程序設計——順序程序設計14
第4章選擇結構程序設計24
第5章循環結構程序設計37
第6章利用數組處理批量數據54
第7章用函數實現模塊化程序設計74
第8章善於利用指針99
第9章用戶自己建立數據類型128
第10章對文件的輸入輸齣159
第2部分深入學習C程序設計
第11章預處理指令177
11.1宏定義178
11.1.1不帶參數的宏定義178
11.1.2帶參數的宏定義181
11.2“文件包含”處理186
11.3條件編譯189
第12章位運算193
12.1位運算和位運算符193
12.1.1“按位與”運算193
12.1.2“按位或”運算194
12.1.3“異或”運算195
12.1.4“取反”運算196
12.1.5左移運算197
12.1.6右移運算197
12.1.7位運算賦值運算符198
12.1.8不同長度的數據進行位運算198
12.2位運算舉例198
12.3位段200
第13章常見錯誤分析204
第14章C程序案例219
14.1案例1個人所得稅計算219
14.2案例2學生試捲分數統計223
14.3案例3電話訂餐信息處理229
第3部分C語言程序上機指南
第15章怎樣使用Visual C++ 6.0運行程序239
15.1Visual C++ 6.0的安裝和啓動240
15.2輸入和編輯源程序240
15.2.1新建一個C源程序的方法241
15.2.2打開一個已有的程序243
15.2.3通過已有的程序建立一個新程序的方法243
15.3編譯、連接和運行243
15.3.1程序的編譯243
15.3.2程序的調試244
15.3.3程序的連接247
15.3.4程序的執行248
15.4建立和運行包含多個文件的程序的方法249
15.4.1由用戶建立項目工作區和項目文件249
15.4.2用戶隻建立項目文件253
第16章用Visual Studio 2010運行C程序256
16.1關於Visual Studio 2010256
16.2怎樣建立新項目257
16.3怎樣建立文件260
16.4怎樣進行編譯262
16.5怎樣運行程序263
16.6怎樣打開項目中已有的文件264
16.7怎樣編輯和運行一個包含多文件的程序265
16.8關於用Visual Studio 2010編寫和運行C程序的說明268
第4部分上機實踐指導
第17章程序的調試與測試269
17.1程序的調試269
17.2程序錯誤的類型271
17.3程序的測試273
第18章上機實驗的目的和要求278
18.1上機實驗的目的 278
18.2上機實驗前的準備工作279
18.3上機實驗的步驟279
18.4實驗報告279
18.5實驗內容安排的原則280
第19章實驗安排281
19.1實驗1C程序的運行環境和運行C程序的方法281
19.2實驗2數據類型、運算符和簡單的輸入輸齣283
19.3實驗3最簡單的C程序設計——順序程序設計286
19.4實驗4選擇結構程序設計287
19.5實驗5循環結構程序設計288
19.6實驗6數組289
19.7實驗7函數(一)290
19.8實驗8函數(二)291
19.9實驗9指針(一)292
19.10實驗10指針(二)293
19.11實驗11用戶自己建立數據類型294
19.12實驗12文件操作295
參考文獻296
精彩書摘
《C程序設計(第五版)學習輔導/中國高等院校計算機基礎教育課程體係規劃教材》:
第5章循環結構程序設計1.請畫齣例5.6中給齣的3個程序段的流程圖。解:下麵分彆是教材第5章例5.6給齣的程序,據此畫齣流程圖。(1)程序1:#includeintmain(){inti,j,n=0;for(i=1;i<=4;i)for(j=1;j<=5;j,n)//n用來纍計輸齣數據的個數{if(n%5==0)printf(″\n″);//控製在輸齣5個數據後換行printf(″%d\t″,i�砵);}printf(″\n″);return0;}其對應的流程圖見圖5.1。運行結果:
(2)程序2:#includeintmain(){inti,j,n=0;for(i=1;i<=4;i)for(j=1;j<=5;j,n){if(n%5==0)printf(″\n″);//控製在輸齣5個數據後換行if(i==3&&j;==1)break;//遇到第3行第1列,結束內循環printf(″%d\t″,i�砵);}printf(″\n″);return0;}其對應的流程圖見圖5.2。圖5.1圖5.2運行結果:
遇到第3行第1列時,執行break,結束內循環,進行第4次外循環。(3)程序3:#includeintmain(){inti,j,n=0;for(i=1;i<=4;i)for(j=1;j<=5;j,n){if(n%5==0)printf(″\n″);//控製在輸齣5個數據後換行if(i==3&&j;==1)continue;//遇到第3行第1列,終止本次內循環printf(″%d\t″,i�砵);}printf(″\n″);return0;}其對應的流程圖見圖5.3。圖5.3運行結果:
遇到第3行第1列時,執行continue,隻是提前結束本次內循環,不輸齣原來的第3行第1列的數3,而進行下一次內循環,接著在該位置上輸齣原來的第3行第2列的數6。請仔細區分break語句和continue語句。2.請補充教材例5.7程序,分彆統計當“fabs(t)>=1e-6”和“fabs(t)>=1e-8”時,執行循環體的次數。解:例5.7程序是用π4≈1-1315-17…公式求π的近似值,直到發現某一項的絕對值小於10-6為止。根據本題要求,分彆統計當fabs(t)>=1e-6和fabs(t)>=1e-8時,執行循環體的次數。(1)采用fabs(t)>=1e-6作為循環終止條件的程序補充修改如下:#include#include//程序中用到數學函數fabs,應包含頭文件math.nintmain(){intsign=1,count=0;//sign用來錶示數值的符號,count用來纍計循環次數doublepi=0.0,n=1.0,term=1.0;//pi開始代錶多項式的值,最後代錶π的值,n代錶分母,//term代錶當前項的值while(fabs(term)>=1e-6)//檢查當前項term的絕對值是否大於或等於10的(-6)次方{pi=piterm;//把當前項term纍加到pi中n=n2;//n2是下一項的分母sign=-sign;//sign代錶符號,下一項的符號與上一項符號相反term=sign/n;//求齣下一項的值termcount;//count纍加1}pi=pi��4;//多項式的和pi乘以4,纔是π的近似值printf(″pi=%10.8f\n″,pi);//輸齣π的近似值printf(″count=%d\n″,count);//輸齣count的值return0;}運行結果:
執行50萬次循環。(2)采用fabs(t)>=1e-8作為循環終止條件的程序,隻須把上麵程序的第8行如下修改即可:while(fabs(term)>=1e-8)運行結果:
執行5000萬次循環。3.輸入兩個正整數m和n,求其最大公約數和最小公倍數。解:#includeintmain(){intp,r,n,m,temp;printf(″請輸入兩個正整數n,m:″);scanf(″%d,%d,″,&n;,&m;);if(n
4.輸入一行字符,分彆統計齣其中英文字母、空格、數字和其他字符的個數。解:#includeintmain(){charc;intletters=0,space=0,digit=0,other=0;printf(″請輸入一行字符:\n″);while((c=getchar())!=′\n′){if(c>=′a′&&c;<=′z′||c>=′A′&&c;<=′Z′)letters;elseif(c==′′)space;elseif(c>=′0′&&c;<=′9′)digit;elseother;}printf(″字母數:%d\n空格數:%d\n數字數:%d\n其他字符數:%d\n″,letters,space,digit,other);return0;
……
前言/序言
序
從20世紀70年代末、80年代初開始,我國的高等院校開始麵嚮各個專業的全體大學生開展計算機教育。麵嚮非計算機專業學生的計算機基礎教育牽涉的專業麵廣、人數眾多,影響深遠,它將直接影響我國各行各業、各個領域中計算機應用的發展水平。這是一項意義重大而且大有可為的工作,應該引起各方麵的充分重視。
三十多年來,全國高等院校計算機基礎教育研究會和全國高校從事計算機基礎教育的老師始終不渝地在這片未被開墾的土地上辛勤工作,深入探索,努力開拓,積纍瞭豐富的經驗,初步形成瞭一套行之有效的課程體係和教學理念。高等院校計算機基礎教育的發展經曆瞭3個階段:20世紀80年代是初創階段,帶有掃盲的性質,多數學校隻開設一門入門課程;20世紀90年代是規範階段,在全國範圍內形成瞭按3個層次進行教學的課程體係,教學的廣度和深度都有所發展;進入21世紀,開始瞭深化提高的第3階段,需要在原有基礎上再上一個新颱階。
在計算機基礎教育的新階段,要充分認識到計算機基礎教育麵臨的挑戰。
(1) 在世界範圍內信息技術以空前的速度迅猛發展,新的技術和新的方法層齣不窮,要求高等院校計算機基礎教育必須跟上信息技術發展的潮流,大力更新教學內容,用信息技術的新成就武裝當今的大學生。
(2) 我國國民經濟現在處於持續快速穩定發展階段,需要大力發展信息産業,加快經濟與社會信息化的進程,這就迫切需要大批既熟悉本領域業務,又能熟練使用計算機,並能將信息技術應用於本領域的新型專門人纔。因此需要大力提高高校計算機基礎教育的水平,培養齣數以百萬計的計算機應用人纔。
(3) 21世紀,信息技術教育在我國中小學中全麵開展,計算機教育的起點從大學下移到中小學。水漲船高,這樣也為提高大學的計算機教育水平創造瞭十分有利的條件。
迎接21世紀的挑戰,大力提高我國高等學校計算機基礎教育的水平,培養齣符閤信息時代要求的人纔,已成為廣大計算機教育工作者的神聖使命和光榮職責。全國高等院校計算機基礎教育研究會和清華大學齣版社於2002年聯閤成立瞭“中國高等院校計算機基礎教育改革課題研究組”,集中瞭一批長期在高校計算機基礎教育領域從事教學和研究的專傢、教授,經過深入調查研究,廣泛徵求意見,反復討論修改,提齣瞭高校計算機基礎教育改革思路和課程方案,並於2004年7月發布瞭《中國高等院校計算機基礎教育課程體係2004》(簡稱CFC 2004)。國內知名專傢和從事計算機基礎教育工作的廣大教師一緻認為CFC 2004提齣瞭一個既體現先進性又切閤實際的思路和解決方案,該研究成果具有開創性、針對性、前瞻性和可操作性,對發展我國高等院校的計算機基礎教育具有重要的指導作用。根據近年來計算機基礎教育的發展,課題研究組先後於2006、2008和2014年發布瞭《中國高等院校計算機基礎教育課程體係》的新版本,由清華大學齣版社齣版。
為瞭實現CFC提齣的要求,必須有一批與之配套的教材。教材是實現教育思想和教學要求的重要保證,是教學改革中的一項重要的基本建設。如果沒有好的教材,提高教學質量隻是一句空話。要寫好一本教材是不容易的,不僅需要掌握有關的科學技術知識,而且要熟悉自己工作的對象,研究讀者的認識規律,善於組織教材內容,具有較好的文字功底,還需要學習一點教育學和心理學的知識等。一本好的計算機基礎教材應當具備以下5個要素:
(1) 定位準確。要明確讀者對象,要有的放矢,不要不問對象,提筆就寫。
(2) 內容先進。要能反映計算機科學技術的新成果、新趨勢。
(3) 取捨閤理。要做到“該有的有,不該有的沒有”,不要包羅萬象、貪多求全,不應把教材寫成手冊。
(4) 體係得當。要針對非計算機專業學生的特點,精心設計教材體係,不僅使教材體現科學性和先進性,還要注意循序漸進,降低颱階,分散難點,使學生易於理解。
(5) 風格鮮明。要用通俗易懂的方法和語言敘述復雜的概念。善於運用形象思維,深入淺齣,引人入勝。
為瞭推動各高校的教學,我們願意與全國各地區、各學校的專傢和老師共同奮鬥,編寫和齣版一批具有中國特色的、符閤非計算機專業學生特點的、受廣大讀者歡迎的優秀教材。為此,我們成立瞭“中國高等院校計算機基礎教育課程體係規劃教材”編審委員會,全麵指導本套教材的編寫工作。
本套教材具有以下幾個特點:
(1) 全麵體現CFC的思路和課程要求。可以說,本套教材是CFC的具體化。
(2) 教材內容體現瞭信息技術發展的趨勢。由於信息技術發展迅速,教材需要不斷更新內容,推陳齣新。本套教材力求反映信息技術領域中新的發展、新的應用。
(3) 按照非計算機專業學生的特點構建課程內容和教材體係,強調麵嚮應用,注重培養應用能力,針對多數學生的認知規律,盡量采用通俗易懂的方法說明復雜的概念,使學生易於學習。
(4) 考慮到教學對象不同,本套教材包括瞭各方麵所需要的教材(重點課程和一般課程,必修課和選修課,理論課和實踐課) ,供不同學校、不同專業的學生選用。
(5) 本套教材的作者都有較高的學術造詣,有豐富的計算機基礎教育的經驗,在教材中體現瞭研究會所倡導的思路和風格,因而符閤教學實踐,便於采用。
本套教材統一規劃,分批組織,陸續齣版。希望能得到各位專傢、老師和讀者的指正,我們將根據計算機技術的發展和廣大師生的寶貴意見及時修訂,使之不斷完善。
全國高等院校計算機基礎教育研究會榮譽會長
“中國高等院校計算機基礎教育課程體係規劃教材”編審委員會主任
前言
C語言是國內外廣泛使用的計算機語言。許多高校都開設瞭“C語言程序設計”課程。作者於1991年編寫瞭《C程序設計》,由清華大學齣版社齣版,並於1999年、2005年和2010年進行瞭三次修訂,受到瞭廣大讀者的歡迎,認為概念清晰,敘述詳盡,例題豐富,深入淺齣,通俗易懂,被大多數高校選為教材。至2017年5月該書已纍計發行1400萬冊,成為國內C語言教學的主流用書。
根據發展的需要,作者於2017年齣版《C程序設計(第五版)》,為瞭配閤該教材的教學,同時編寫瞭這本《C程序設計(第五版)學習輔導》。
本書包括4個部分。
第1部分是《C程序設計(第五版)》習題和參考解答。在這一部分中包括瞭清華大學齣版社齣版的《C程序設計(第五版)》一書的全部習題。其中有些題的難度高於書中的例題,目的是使學生不滿足於已學過的內容,而要舉一反三,善於拓展已有知識,提倡創新精神,培養解決問題的能力。希望教師能指定學生完成各章中有一定難度的習題。希望學生能盡量多做習題,以提高自己的水平。
為瞭方便讀者,本書提供瞭參考解答。除瞭其中少數概念問答題,由於能在教材中直接找到答案,為節省篇幅本書不另給齣答案外,對所有編程題一律給齣參考解答,包括程序代碼和運行結果。對於比較難的習題,除瞭給齣程序(程序中加瞭注釋)外,還給齣N�睸流程圖,並作瞭比較詳細的說明,以便於讀者理解。對於相對簡單的問題,隻給齣程序代碼和運行結果,不作詳細說明,以便給讀者留下思考的空間。對有些題目,我們給齣瞭兩種參考答案,供讀者參考和比較,以啓發思路。
在這部分中提供瞭132個不同類型、不同難度的程序,全部程序都在Visual C++ 6.0環境下調試通過。由於篇幅和課時的限製,在教材和講授中不可能介紹很多例子,隻能介紹一些典型的例題。本書中給齣的程序實際上是對《C程序設計(第五版)》一書例題的補充,希望讀者能充分利用它。即使沒有時間自己做齣全部習題,如果能把全部習題的參考解答都看一遍,而且都能看懂,理解不同程序的思路,也會大有裨益,能擴大眼界,豐富知識。
應該說明,本書給齣的程序並非是唯一正確的解答,甚至不一定是最佳的一種。對同一個題目可以編齣多種程序,我們給齣的隻是其中的一種。讀者在使用本書時,韆萬不要照抄照搬,我們隻是提供瞭一種參考方案,讀者完全可以編寫齣更好的程序。
第2部分是深入學習C程序設計。包括預處理指令、位運算、常見錯誤分析和C程序案例,這是對教材內容的補充。
“預處理指令”一章詳細地介紹預處理指令,使讀者對這些指令有係統的瞭解並善於利用它們,以提高編程效率。
位運算是C語言區彆於其他高級語言的一個重要特點。C語言能對位進行操作,使得C具有比較接近機器的特點。在編寫係統軟件和數據采集、檢測與控製中往往需要用到位運算。信息類專業的學生需要學習這方麵的知識,因此,本書專門列齣一章,介紹位運算的基本知識,供需要者選學,信息類專業可以把它列入教學內容。
“常見錯誤分析”是作者總結歸納的初學者常犯的35種錯誤,供讀者編寫程序時參考。“C程序案例”一章介紹瞭3個實用程序,可以幫助讀者把學習到的C程序設計的知識用於解決實際問題,能根據需要編寫應用程序。在教材中,為瞭便於課堂教學,例題程序的規模一般都不大。在學完各章內容之後,需要綜閤應用已學過的知識,編寫一些應用程序,同時提高編程能力。因此在本書中專門組織“C程序案例”一章,供讀者閱讀參考。這些案例很有實用價值。建議讀者在學完教材後,仔細閱讀這幾個案例,對於提高編程能力會有很大的幫助。
第3部分是C語言程序上機指南。介紹瞭Visual C++ 6.0和Visual Studio 2010集成環境下的上機方法,使讀者上機練習有所遵循。
第4部分是上機實踐指導,介紹瞭程序調試和測試的初步知識,提齣瞭上機實驗的目的與要求,並且安排瞭12個實驗,供各校安排實驗時參考。
可以看到,本書內容很豐富,是學習《C程序設計(第五版)》的重要參考書。考慮到大多數學校的學時安排和多數初學者的基礎,在主教材《C程序設計(第五版)》中隻介紹程序設計的基本知識和C語言的最基本最常用的內容,為以後進一步學習和應用打下一定的基礎。許多學生對C語言産生很大的興趣,希望瞭解更多一些,掌握更深入些,尤其有些大學生在參加科研和畢業後工作中要求具有編程的實際能力,希望有更多的指導。因此,作者精心編寫瞭本書,作為主教材的重要補充,幫助讀者有效地提高應用能力。許多老師說,如果能把本書的習題全部獨立地做齣來,C語言就基本過關瞭。希望廣大教師和讀者能充分利用本書提供的資源,共同提高C程序設計的教學質量。
本書不僅可以作為《C程序設計(第五版) 》的配套教材,而且可以作為其他版本的C語言教材的參考書;既適用於高等學校教學,也可供自學者參考。
本書的第14章由林小茶副教授編寫。薛淑斌、譚亦峰高級工程師參加瞭本書的編寫和修訂工作。
本書難免會有錯誤和不足之處,作者願得到廣大讀者的指正。
譚浩
C程序設計(第五版)學習輔導/中國高等院校計算機基礎教育課程體係規劃教材 epub pdf mobi txt 電子書 下載 2024
C程序設計(第五版)學習輔導/中國高等院校計算機基礎教育課程體係規劃教材 下載 epub mobi pdf txt 電子書