C語言程式設計(第4版)(2019年高等教育出版社出版的圖書)

C語言程式設計(第4版)(2019年高等教育出版社出版的圖書)

《C語言程式設計(第4版)》是由蘇小紅、趙玲玲、孫志崗、王宇穎等編著,高等教育出版社於2019年8月出版的“十二五”普通高等教育本科國家級規劃教材、國家級精品資源共享課和國家精品線上開放課程主講教材、“高等學校本科計算機專業套用型人才培養研究”項目規劃教材。該教材可作為高等學校各專業的C語言程式設計課程教材,也可作為從事計算機相關工作的科技人員、計算機愛好者及各類自學人員的參考書。

該教材共14章,內容包括為什麼要學習編程、基本數據類型、基本算術運算、鍵盤輸入和螢幕輸出、選擇控制結構、循環控制結構、函式與模組化程式設計、數組和算法基礎、指針、字元串、指針和數組、結構體和數據結構基礎、檔案操作及簡單的遊戲設計。

基本介紹

  • 書名:C語言程式設計(第4版)
  • 作者:蘇小紅、趙玲玲、孫志崗、王宇穎等
  • 類別:“十二五”普通高等教育本科國家級規劃教材
  • 出版社:高等教育出版社
  • 出版時間:2019年08月06日
  • 頁數:472 頁
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:978-7-04-051998-3
  • 字數:670千字
成書過程,修訂情況,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

修訂情況

《C語言程式設計(第4版)》是由蘇小紅主編,第1章由孫志崗執筆,第2章由王宇穎執筆,第3~13章由蘇小紅執筆,第14章由趙玲玲執筆。王甜甜、張彥航、車萬翔、孫承傑、張羽、鄭貴濱、趙巍、傅忠傳、張衛、郭萍、溫東新、侯俊英、李希然、單麗莉、劉秉權、袁永峰、葉麟、秦兵、李秀坤、孫大烈、劉旭東、張洪志、王慶北、郝惠馨、李漾、婁久、郭勇等參與了該書的書稿校對工作。北京工業大學的蔣宗禮教授和國防科技大學的徐錫山教授審閱了全部初稿,並提出了意見和建議。

出版工作

2019年8月6日,《C語言程式設計(第4版)》由高等教育出版社出版。
責任編輯封面設計責任校對責任印製插圖繪製版式設計
劉茜
張志
劉莉
尤靜
於博
張傑

內容簡介

全書由14章組成,第1章介紹為什麼要學習編程;第2章介紹基本數據類型,包括常量與變數、簡單的螢幕輸出、數據類型等內容;第3章介紹基本算術運算符,包括C運算符和表達式、宏常量與宏替換、常用的標準數學函式等內容;第4章介紹鍵盤輸入和螢幕輸出,包括單個字元的輸入/輸出、數據的格式化螢幕輸出、數據的格式化鍵盤輸入等內容;第5章介紹選擇控制結構,包括關係運算符與關係表達式、用於分支控制的條件語句、邏輯運算符和邏輯表達式等內容;第6章介紹循環控制結構,包括循環控制結構與循環語句、條件控制的循環、流程的轉移控制等內容;第7章介紹函式與模組化程式設計,包括向函式傳遞值和從函式返回值、函式的遞歸調用和遞歸函式、模組化程式設計等內容;第8章介紹數組和算法基礎,包括數組的定義和初始化、向函式傳遞數組、排序和查找等內容;第9章介紹指針,包括變數的記憶體地址、指針變數的定義和初始化、函式指針及其套用等內容;第10章介紹字元串,包括字元串字面量、字元指針、向函式傳遞字元串等內容;第11章介紹指針和數組,包括指針和數組間的關係、指針數組及其套用、動態數組等內容;第12章介紹結構體和數據結構基礎,包括結構體數組的定義和初始化、結構體指針的定義和初始化、向函式傳遞結構體等內容;第13章介紹檔案操作,包括按字元讀寫檔案、按格式讀寫檔案、按數據塊讀寫檔案等內容;第14章介紹簡單的遊戲設計,包括動畫的基本原理、迷宮遊戲、Flappy bird遊戲等內容。

教材目錄

前輔文
第1章 為什麼要學習編程
1.1 學習編程的熱潮
1.1.1 席捲全球的“編程一小時”
1.1.2 資本洶湧的少兒編程
1.1.3 “再不學編程就晚了”
1.2 為什麼要學編程
1.3 什麼是“編程”
1.4 怎么學編程
1.4.1 一切都是計算
1.4.2 學編程不是學語法
1.4.3 動手,動手,再動手
1.5 本章小結
習題1
第2章 基本數據類型
2.1 常量與變數
2.1.1 常量
2.1.2 變數
2.2 簡單的螢幕輸出
2.3 數據類型
2.4 如何計算變數或數據類型所占記憶體空間的大小
2.5 變數的賦值和賦值運算符
2.6 本章擴充內容
2.7 本章知識點小結
2.8 本章常見錯誤小結
習題2
第3章 基本算術運算
3.1 C運算符和表達式
3.1.1 算術運算符和表達式
3.1.2 複合的賦值達算符
3.1.3 增1和減1運算符
3.2 宏常量與宏替換
3.3 const常量
3.4 自動類型轉換與強制類型轉換運算符
3.5 常用的標準數學函式
3.6 本章知識點小結
3.7 本章常見錯誤小結
習題3
第4章 鍵盤輸入和螢幕輸出
4.1 單個字元的輸入/輸出
4.1.1 字元常量
4.1.2 字元的輸入/輸出
4.2 數據的格式化螢幕輸出
4.3 數據的格式化鍵盤輸入
4.4 本章擴充內容
4.4.1 用%c輸入字元時存在的問題
4.4.2 %c格式符存在問題的解決方法
4.5 本章知識點小結
4.6 本章常見錯誤小結
習題4
第5章 選擇控制結構
5.1 生活中與計算機中的問題求解方法
5.2 算法的概念及其描述方法
5.2.1 算法的概念
5.2.2 算法的描述方法
5.3 關係運算符與關係表達式
5.4 用於單分支控制的條件語句
5.5 用於雙分支控制的條件語句
5.6 條件運算符和條件表達式
5.7 用於多分支控制的條件語句
5.8 用於多路選擇的switch語句
5.9 邏輯運算符和邏輯表達式
5.10 本章擴充內容
5.10.1 程式測試
5.10.2 對輸入非法字元的檢查與處理
5.10.3 位運算符
5.11 本章知識點小結
5.12 本章常見錯誤小結
習題5
第6章 循環控制結構
6.1 循環控制結構與循環語句
6.2 計數控制的循環
6.3 嵌套循環
6.4 條件控制的循環
6.5 流程的轉移控制
6.5.1 goto語句
6.5.2 break語句
6.5.3 continue語句
6.5.4 窮舉法編程實例
6.6 本章擴充內容
6.6.1 結構化程式設計的核心思想
6.6.2 常用的程式調試與排錯方法
6.6.3 類型溢出
6.7 本章知識點小結
6.8 本章常見錯誤小結
習題6
第7章 函式與模組化程式設計
7.1 分而治之與信息隱藏
7.2 函式的定義
7.2.1 函式的分類
7.2.2 函式的定義
7.3 向函式傳遞值和從函式返回值
7.3.1 函式調用
7.3.2 函式原型
7.3.3 函式封裝與防禦性程式設計
7.3.4 函式設計的基本原則
7.4 函式的遞歸調用和遞歸函式
7.5 變數的作用域和生存期
7.5.1 變數的作用城
7.5.2 變數的生存期
7.6 模組化程式設計
7.6.1 模組分解的基本原則
7.6.2 自頂向下、逐步求精
7.6.3 模組化程式設計與多檔案編程實例
7.6.4 條件編譯
7.7 本章擴充內容——代碼風格
7.8 本章知識點小結
7.9 本章常見錯誤小結
習題7
第8章 數組和算法基礎
8.1 一維數組的定義和初始化
8.2 二維數組的定義和初始化
8.3 向函式傳遞一維數組
8.4 排序和查找
8.5 向函式傳遞二維數組
8.6 本章知識點小結
8.7 本章常見錯誤小結
習題8
第9章 指針
9.1 變數的記憶體地址
9.2 指針變數的定義和初始化
9.3 間接定址運算符
9.4 按值調用與模擬按引用調用
9.5 用指針變數作函式參數的程式實例
9.6 函式指針及其套用
9.7 本章知識點小結
9.8 本章常見錯誤小結
習題9
第10章 字元串
10.1 字元串字面量
10.2 字元串的存儲
10.3 字元指針
10.4 字元串的訪問和輸入/輸出
10.4.1 如何訪問字元串中的單個字元
10.4.2 字元串的輸入/輸出
10.5 字元串處理函式
10.6 向函式傳遞字元串
10.7 從函式返回字元串指針
10.8 本章擴充內容
10.8.1 const類型限定符
10.8.2 字元處理函式
10.8.3 數值字元串向數值的轉換
10.9 本章知識點小結
10.10 本章常見錯誤小結
習題10
第11章 指針和數組
11.1 指針和一維數組間的關係
11.2 指針和二維數組間的關係
11.3 指針數組及其套用
11.3.1 指針數組用於表示多個字元串
11.3.2 指針數組用於表示命令行參數
11.4 動態數組
11.4.1 C程式的記憶體映像
11.4.2 動態記憶體分配函式
11.4.3 長度可變的一維動態數組
11.4.4 長度可變的二維動態數組
11.5 本章擴充內容
11.5.1 常見的記憶體錯誤及其對策
11.5.2 緩衝區溢出攻擊
11.6 本章知識點小結
11.7 本章常見錯誤小結
習題11
第12章 結構體和數據結構基礎
12.1 從基本數據類型到抽象數據類型
12.2 結構體的定義
12.2.1 為什麼要定義結構體類型
12.2.2 結構體變數的定義
12.2.3 用typedef定義數據類型
12.2.4 結構體變數的初始化
12.2.5 嵌套的結構體
12.2.6 結構體變數的引用
12.2.7 結構體所占記憶體的位元組數
12.3 結構體數組的定義和初始化
12.3.1 結構體數組的定義
12.3.2 結構體數組的初始化
12.4 結構體指針的定義和初始化
12.4.1 指向結構體變數的指針
12.4.2 指向結構體數組的指針
12.5 向函式傳遞結構體
12.6 共用體
12.7 枚舉數據類型
12.8 動態數據結構——單向鍊表
12.8.1 問題的提出
12.8.2 鍊表的定義
12.8.3 單向鍊表的建立
12.8.4 單向鍊表的刪除操作
12.8.5 單向鍊表的插入操作
12.9 本章擴充內容
12.9.1 棧和佇列
12.9.2 樹和圖
12.9.3 數據的邏輯結構和存儲結構
12.10 本章知識點小結
12.11 本章常見錯誤小結
習題12
第13章 檔案操作
13.1 二進制檔案和文本檔案
13.2 檔案的打開和關閉
13.3 按字元讀寫檔案
13.4 按格式讀寫檔案
13.5 按數據塊讀寫檔案
13.6 本章擴充內容
13.6.1 檔案的隨機讀寫
13.6.2 標準輸入/輸出重定向
13.7 本章知識點小結
13.8 本章常見錯誤小結
習題13
第14章 簡單的遊戲設計
14.1 動畫的基本原理
14.2 迷宮遊戲
14.3 Flappy bird遊戲
14.4 本章知識點小結
14.5 本章常見錯誤小結
習題14
附錄A C關鍵字
附錄B GCC中基本數據類型的取值範圍
附錄C C運算符的優先權與結合性
附錄D 常用字元與ASCII碼值對照表
附錄E 常用的ANSIC標準庫函式
參考文獻
註:目錄排版順序為從左列至右列

教學資源

  • 課程資源
《C語言程式設計(第4版)》提供有配套教學課件和原始碼、與紙質教材內容配套的數字課程資源、《C語言程式設計精髓》和《程式設計基》Mooc課程。
  • 配套教材
《C語言程式設計(第4版)》的配套教材是《C語言程式設計學習指導(第4版)》。
書名ISBN出版社出版時間作者
《C語言程式設計學習指導(第4版)》
978-7-04-052489-5
高等教育出版社
2019年10月10日
蘇小紅、王甜甜、趙玲玲、范江波、車萬翔

教材特色

該教材在內容的指導思想上,以C語言為工具,介紹計算思維方法和程式設計的基本方法,不拘泥於C語言的基本語法知識,面向實際套用,把計算思維方法和程式設計中的思想和方法滲透到C語言的介紹中。
該教材兼具趣味性和實用性,以套用為背景,面向編程實踐和問題求解能力的訓練,從實際問題出發,在案例的不斷深化中逐步引出知識點,形成“程式設計方法由自底向上到自頂向下”和“數據結構由簡單到複雜”的兩條邏輯清晰的主線。案例內容結合實踐,側重錯誤案例的分析和講解,在任務驅動下,啟發引導讀者循序漸進地編寫規模逐漸加大的程式。

作者簡介

蘇小紅,博士,教授,博士生導師,哈爾濱工業大學計算機科學與技術學院智慧型軟體技術研究中心主任,中國計算機學會高級會員,全國高等學校計算機基礎教育研究會理事。
趙玲玲,哈爾濱工業大學計算機學院教師,哈爾濱工業大學計算機科學與技術學院第七屆教學基本功競賽一等獎獲得者。
王宇穎,哈爾濱工業大學計算機學院教師,哈爾濱工業大學計算機科學與技術學院”致敬教學法研討會20周年特別獎“傑出教育獎獲得者。

相關詞條

熱門詞條

聯絡我們