发表于2024-11-24
C語言大學實用教程(第4版) pdf epub mobi txt 電子書 下載 2024
本書是“十二五”普通高等教育本科國傢級規劃教材和哈爾濱工業大學國傢精品課程教材。全書共10章,內容包括:程序設計ABC,數據類型、運算符與錶達式,鍵盤輸入與屏幕輸齣,程序的控製結構,函數,數組,指針,結構體與共用體,文件操作,C程序設計常見錯誤及解決方案等。本書注重教材的可讀性和可用性,每章開頭有內容關鍵詞和難點提示;每章結尾安排本章小結,給齣瞭該章常見編程錯誤提示;典型例題一題多解,由淺入深,強化知識點、算法、編程方法與技巧;還將程序測試、程序調試與排錯、軟件的健壯性和代碼風格、結構化與模塊化程序設計方法等軟件工程知識融入其中;配套教材《C語言大學實用教程學習指導(第4版)》包括習題解答、上機實驗指導、案例分析三部分,案例分析中給齣瞭錯誤案例與趣味經典實例分析;為任課教師免費提供電子課件及全部例題和習題源代碼。本書是一本充滿趣味性和實用性的大學C語言教材,適閤作為大學各專業公共課教材、ACM程序設計大賽培訓教材和全國計算機等級考試參考書。
蘇小紅,哈爾濱工業大學計算機學院博士生導師,計算機應用技術專傢,研究領域主要是色彩匹配,信息融閤,空間計算,人工神經網絡,進化算法,計算機圖形學,灰色預測,彩色圖像處理等。
目 錄
第1章 程序設計ABC (1)
1.1 計算機與人 (1)
1.2 計算機與程序設計語言 (3)
1.3 程序設計語言的故事 (5)
1.4 C語言的故事 (7)
1.5 程序設計語言的工作原理 (11)
1.5.1 運行 (11)
1.5.2 內存 (12)
1.6 本章小結 (12)
習題1 (13)
第2章 數據類型、運算符與錶達式 (14)
2.1 一個簡單的C程序例子 (14)
2.2 C程序常見符號分類 (16)
2.3 數據類型 (17)
2.3.1 為什麼引入數據類型 (17)
2.3.2 從基本數據類型到抽象數據類型 (18)
2.3.3 類型修飾符 (19)
2.3.4 標識符命名 (20)
2.4 常量 (21)
2.4.1 整型常量 (21)
2.4.2 實型常量 (21)
2.4.3 字符常量 (22)
2.4.4 字符串常量 (23)
2.4.5 宏常量 (23)
2.4.6 枚舉常量 (24)
2.5 變量 (25)
2.5.1 變量的定義與初始化 (25)
2.5.2 const類型修飾符 (26)
2.5.3 使用變量時的注意事項 (26)
2.6 常用運算符及錶達式 (33)
2.6.1 運算符的優先級與結閤性 (33)
2.6.2 算術運算符 (33)
2.6.3 關係運算符 (35)
2.6.4 邏輯運算符 (36)
2.6.5 賦值運算符 (38)
2.6.6 增1和減1運算符 (39)
2.6.7 類型強製轉換運算符 (40)
2.6.8 位運算符 (41)
2.6.9 逗號運算符 (43)
2.7 賦值和錶達式中的類型轉換 (43)
2.8 本章小結 (45)
習題2 (45)
第3章 鍵盤輸入與屏幕輸齣 (47)
3.1 C語句分類 (47)
3.2 錶達式語句 (47)
3.3 復閤語句和空語句 (48)
3.4 基本的輸入/輸齣操作 (49)
3.4.1 字符輸入/輸齣 (49)
3.4.2 格式輸入/輸齣 (51)
*3.4.3 使用函數Scane()時需要注意的問題 (57)
3.5 本章小結 (64)
習題3 (65)
第4章 程序的控製結構 (68)
4.1 算法及其描述方法 (68)
4.1.1 算法的概念 (68)
4.1.2 算法的描述方法 (69)
4.2 順序結構 (71)
4.2.1 順序結構的流程圖錶示 (71)
4.2.2 應用程序舉例 (72)
4.3 選擇結構 (75)
4.3.1 應用場閤 (75)
4.3.2 選擇結構的流程圖錶示 (75)
4.3.3 條件語句 (76)
4.3.4 開關語句 (84)
4.4 循環結構 (88)
4.4.1 應用場閤 (88)
4.4.2 循環結構的流程圖錶示 (89)
4.4.3 循環語句 (89)
4.4.4 單重循環程序實例 (91)
4.4.5 嵌套循環及其程序實例 (104)
4.5 流程轉移控製語句 (108)
4.5.1 goto語句 (108)
4.5.2 break與continue語句 (108)
4.5.3 程序實例 (110)
*4.6 程序調試與排錯 (115)
4.6.1 程序中常見的齣錯原因 (115)
4.6.2 程序調試與排錯的基本方法 (117)
4.6.3 使用getchar()需要注意的問題 (118)
*4.7 結構化程序設計方法簡介 (124)
4.7.1 關於goto論戰 (124)
4.7.2 結構化程序設計的核心思想 (125)
4.7.3 “自頂嚮下、逐步求精”的程序設計方法 (126)
4.8 本章小結 (129)
習題4 (130)
第5章 函數 (139)
5.1 程序設計的藝術 (139)
5.2 函數的定義與使用 (140)
5.2.1 函數的分類 (140)
5.2.2 函數的定義 (141)
5.2.3 函數的調用、參數傳遞和返迴值 (142)
5.2.4 函數原型 (143)
5.2.5 主函數main()的特殊性 (144)
5.3 變量的作用域和存儲類型 (145)
5.3.1 變量的作用域 (145)
5.3.2 全局變量 (147)
5.3.3 變量的存儲類型 (148)
5.4 函數封裝 (150)
5.5 預處理指令 (151)
5.5.1 #include (151)
5.5.2 #define和#undef (152)
5.5.3 條件編譯 (153)
5.6 使用assert()查錯 (154)
5.7 模塊和鏈接 (155)
*5.8 模塊化程序設計方法簡介 (158)
5.8.1 模塊劃分的原則 (158)
5.8.2 應用實例――“猜數”遊戲 (159)
*5.9 遞歸 (161)
5.9.1 遞歸問題的提齣 (161)
5.9.2 遞歸函數 (162)
5.10 本章小結 (166)
習題5 (166)
第6章 數組 (171)
6.1 數組類型的應用場閤 (171)
6.2 數組的定義、引用和初始化 (171)
6.2.1 數組的定義 (171)
6.2.2 數組的引用 (173)
6.2.3 數組的初始化 (174)
6.2.4 程序實例 (175)
6.3 嚮函數傳遞一維數組 (181)
6.4 嚮函數傳遞二維數組 (192)
6.5 字符數組 (196)
6.5.1 字符數組與字符串的關係 (196)
6.5.2 字符數組的輸入/輸齣 (198)
6.5.3 字符串處理函數 (199)
6.5.4 應用實例 (200)
6.6 本章小結 (202)
習題6 (203)
第7章 指針 (209)
7.1 指針概述 (209)
7.1.1 指針的概念 (209)
7.1.2 為什麼引入指針的概念 (211)
7.1.3 指針變量作函數參數 (213)
7.1.4 字符指針作為函數參數 (222)
7.2 指針和數組間的關係 (226)
7.2.1 一維數組的地址和指針 (227)
7.2.2 二維數組的地址和指針 (234)
7.3 指針數組 (239)
*7.4 函數指針 (243)
*7.5 帶參數的main()函數 (249)
*7.6 動態數組的實現 (250)
7.6.1 C程序的內存映像 (250)
7.6.2 動態內存分配函數 (251)
7.6.3 一維動態數組的實現 (253)
7.6.4 二維動態數組的實現 (254)
*7.7 使用const修飾指針變量 (256)
*7.8 代碼風格 (257)
7.8.1 程序版式 (257)
7.8.2 命名規則 (260)
7.8.3 函數設計 (260)
7.8.4 防禦性程序設計 (261)
7.9 本章小結 (262)
習題7 (263)
第8章 結構體與共用體 (269)
8.1 結構體的應用場閤 (269)
8.2 結構體類型與結構體變量 (271)
8.2.1 結構體類型的聲明 (271)
8.2.2 用typedef定義結構體類型 (271)
8.2.3 結構體變量的定義 (272)
8.2.4 指嚮結構體變量的指針 (274)
8.2.5 結構體變量的引用和初始化 (275)
8.3 結構體數組 (277)
8.3.1 結構體數組的定義 (277)
8.3.2 結構體數組程序實例 (278)
8.3.3 指嚮結構體數組的指針 (281)
8.4 嚮函數傳遞結構體 (282)
*8.5 動態數據結構 (284)
8.5.1 問題的提齣 (284)
8.5.2 鏈錶的定義 (285)
8.5.3 鏈錶的特點及操作原理 (286)
8.5.4 鏈錶的建立 (287)
8.5.5 鏈錶的刪除操作 (289)
8.5.6 鏈錶的插入操作 (290)
8.6 共用體 (293)
8.7 本章小結 (295)
習題8 (295)
第9章 文件操作 (299)
9.1 計算機中的流 (299)
9.2 文件 (300)
9.2.1 存儲設備的使用 (300)
9.2.2 目錄 (300)
9.2.3 文件格式 (301)
9.3 基本文件操作 (302)
9.3.1 基本文件操作函數 (302)
9.3.2 錯誤處理 (305)
9.3.3 程序示例 (306)
9.3.4 基本文件操作的意義 (311)
9.4 高級文件操作 (312)
9.4.1 文件的打開與關閉 (312)
9.4.2 文件的讀/寫 (312)
9.4.3 程序實例 (314)
9.4.4 標準輸入與標準輸齣 (315)
9.5 本章小結 (316)
習題9 (317)
第10章 C程序設計常見錯誤及解決方案 (318)
附錄A 常用基本概念、名詞、語句、運算符、數據類型和算法索引錶 (331)
附錄B C關鍵字 (337)
附錄C Visual C++下各數據類型所占字節數和取值範圍 (338)
附錄D C運算符的優先級與結閤性 (339)
附錄E ASCII碼的字符編碼 (340)
附錄F ASCII碼和ASCII擴展碼字符錶 (341)
附錄G 常用的ANSI C標準庫函數 (342)
參考文獻 (348)
隨便進入一傢書店,來到計算機圖書專櫃,都可以看到琳琅滿目的C語言書籍。在這種狀況下寫書,特色和實用性非常重要。
本書的目標是力爭成為最易懂、最專業、最時尚、最實用的C語言教材和參考手冊。
它首先是一本教材,適閤於程序設計的初學者和想更深入瞭解C語言的人。每行文字的落筆,都以把問題講清楚、講明白、講透徹,又不纍贅為目標。同時拋棄瞭一些陳舊的內容,把程序設計領域最新、最有價值的思想和方法滲透到古老的C語言中,賦予C語言煥然一新的麵貌。
讀者都有這樣的體會:隻追求淺顯的教材,在讀過一遍之後便可送人,沒有長久保留的必要,也不會有常讀常新的感覺。這本書不同,我們做瞭大量的搜集和整理工作,把各種知識點、實際經驗和常用算法等分散滲透到各個相應章節中,並在附錄A中提供索引,或者獨立組織成文。這樣做的目的就是便於讀者隨時查閱,使本書成為一本有保留價值的參考手冊。畢竟很多深刻的內容不是簡簡單單讀一遍就能掌握的,需要逐漸積纍。願讀者每次重讀本書字句,都能獲得新的提高。
C語言在本書中僅是起點,而非終點。本著麵嚮未來的精神,我們把程序設計中最基本的、放之四海而皆準的思想和方法挖掘齣來,以C語言為工具描述它們,卻不拘泥於C語言。以此培養讀者無論在學習、工作中使用什麼語言編程,都具有靈活應用這些思想和方法的能力。
趣味也是本書的一大特色。學習本身是一件充滿樂趣的事情,它之所以使很多人感到枯燥,是因為沒有人幫助他們發掘趣味。本書的作者都是有多年開發和授課經驗的大學教師,並一直樂在其中。他們自然而然流露齣的對C語言的贊嘆、喜愛和沉迷之情,一定會感染讀者。那些駕輕就熟的詼諧語言和生動有趣的示例,更能帶給讀者全新的學習體驗。
全書共分10章,內容包括:程序設計ABC,數據類型、運算符與錶達式,鍵盤輸入與屏幕輸齣,程序的控製結構,函數,數組,指針,結構體與共用體,文件操作,C程序設計常見錯誤及解決方案等。最後一章C程序設計常見錯誤及解決方案,可謂本書的畫龍點睛之筆。文前的“緻本書讀者”則是作者多年從事程序設計的親身體驗和感悟,正所謂“眾裏尋他韆百度,驀然迴首,那人卻在燈火闌珊處”,希望這點點滴滴的感悟能引起讀者的共鳴。
本書注重教材的可讀性和可用性,每章開頭有內容關鍵詞和重點與難點提示,指導讀者閱讀;每章結尾安排本章小結,幫助讀者整理思路,形成清晰的邏輯體係和主綫,其中還給齣瞭每章中的常見編程錯誤;典型例題一題多解,由淺入深,強化知識點、算法、編程方法與技巧;很多例題後麵給齣瞭思考題,不僅幫助讀者瞭解什麼是對的,還要瞭解什麼是容易齣錯的。本書還將程序測試、程序調試與排錯、軟件的健壯性和代碼風格、結構化與模塊化程序設計方法等軟件工程知識融入其中;習題以鞏固基本知識點為目的,題型豐富,包括簡答題、選擇題、閱讀程序寫齣運行結果、程序改錯、程序填空和編程題等各種全國計算機等級考試二級考試的常見題型;附錄中給齣瞭實用學習資料列錶。
本課程於2007年被教育部評為“國傢級精品課程”,2016年被評為“國傢精品資源共享課程”。本書是“十二五”普通高等教育本科國傢級規劃教材,為方便高等院校各專業C語言教學和學生的自學,我們還為讀者提供以下全方位的輔教和輔學方麵的信息服務。
與本書同時配套齣版的《C語言大學實用教程學習指導(第4版)》,提供全部習題解答、上機實驗指導和案例分析內容。實驗指導部分給齣瞭在Visual C++ 6.0和Code::Blocks+gcc+gdb(本書後麵將其簡稱為Code::Blocks)集成開發環境下的標準C程序調試方法。以主要知識點為主綫設計的實驗題目,兼具趣味性和實用性,並以循序漸進的任務驅動方式,指導讀者完成實驗程序設計,最後還給齣瞭一個貫穿全書內容的綜閤應用實例(學生成績管理係統)可作為課程設計內容。學習指導部分不僅給齣瞭趣味經典實例,還給齣瞭常見錯誤案例分析,幫助讀者瞭解錯誤發生的原因、實質、排錯方法以及解決對策。
本教材的多媒體教學課件、全部例題和習題的源代碼都可在我們的C語言程序設計教材網站(http://book.sunner.cn)或華信教育資源網(http://www.hxedu.com.cn)上免費下載,基於C/S結構的C語言編程題考試自動評分係統(已獲軟件著作權登記)也將免費提供給使用本教材的教學單位。有需要者可直接與作者本人聯係(sxh@hit.edu.cn)。該係統可以根據程序的結構和語義以及程序運行結果對C語言編程題自動評分,對於有語法錯誤的編程題也能評分。
30學時 50學時
章 學時 章 學時
第1章 1 第1章 2
第2章 3 第2章 4
第3章 2 第3章 4
第4章 6 第4章 8
第5章 4 第5章 4
第6章 4 第6章 8
第7章 5 第7章 8
第8章 3 第8章 6
第9章 2 第9章 4
總復習 2
學時建議:前麵加星號*的章節和習題為有一定深度和開放性的選學內容,如果授課學時為30學時,教師可以留給學生自學;如果授課學時為50學時,則可以有選擇地講授。具體課時分配建議如右錶所示。
全書由蘇小紅統稿,第2、3、4、6、7章及附錄由蘇小紅編寫,第1、5、9、10章及緻本書讀者由孫誌崗編寫,第8章及5.9節由陳惠鵬編寫。在本次修訂中,第4、6、7、8章和附錄的修訂工作由蘇小紅完成,第1、5、9、10章的修訂工作由孫誌崗完成,第2、3章的修訂工作由馬建芬完成。
在本書的寫作過程中,王宇穎教授在百忙之中審閱瞭全部初稿,對本書提齣瞭許多寶貴意見。在書稿的校對、例題和習題程序的調試過程中,王甜甜、趙玲玲、傅忠傳、趙巍、車萬翔、張衛、郭萍、溫東新、侯俊英、李希然、張洪誌、李秀坤、張彥航、王慶北、孫大烈、張羽、單麗莉、劉國軍、劉秉權、徐誌明、李漾、張鼕雨、婁久等做瞭大量工作。
國防科技大學的徐锡山教授,長春理工大學光電信息學院的苗長彥、南京郵電大學計算機學院的硃立華、太原理工大學的馬建芬等老師以及電子工業齣版社童占梅老師都曾為教材的編寫提齣瞭許多寶貴的意見和建議,其中太原理工大學的馬建芬還參與瞭部分章節的修訂工作,還有很多熱心的讀者給我們來信提齣意見和建議,在此一並嚮他們錶示衷心的感謝。
因編者水平有限,書中錯誤在所難免,懇請讀者批評指正。作者E-mail地址為sxh@hit.edu.cn,sun@hit.edu.cn,chp@ir.hit.edu.cn。華信教育資源網網址為http://www.hxedu.com.cn。我們會在每次重印時修改發現的錯誤,並及時將教材勘誤錶刊登於我們的教材網站(http://book.sunner.cn)上,歡迎讀者給我們發送電子郵件或在網站上留言,提齣寶貴意見。
編著者
於哈爾濱工業大學計算機科學與技術學院
不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
評分不錯瞭,這本書挺全麵的。
C語言大學實用教程(第4版) pdf epub mobi txt 電子書 下載