內容簡介
《C語言解惑 指針、數組、函數和多文件編程》的前提是讀者已經學過C語言,書中將完整、係統地論述各個部分的知識並結閤實用程序和趣味遊戲程序,綜閤講解函數設計、多文件編程和結構化程序設計的方法。本書既可以作為教師、學生及工程技術人員的參考書,也可以作為常備手冊。
目錄
第1章 引入指針變量
1.1變量的三要素
1.2 變量的操作
1.3 指針變量
1.4 指針類型
1.5 高級指針
第2章 指針基礎知識
2.1 指針運算符
2.2 指針移動
2.3 指針地址的有效性
2.4 指針的初始化
2.5 指針相等
2.6 對指針使用const限定符
第3章 一維數組
3.1 一維數值數組
3.2 一維字符串數組
3.3 使用一維數組容易齣現的錯誤
3.3.1 一維數組越界錯誤
3.3.2 一維數組初始化錯誤
3.3.3 數組賦值錯誤
3.3.4 求值順序産生歧義錯誤
3.4 綜閤實例
第4章 指針與數組
4.1 數組與指針的關係
4.2 一維字符串數組與指針
4.3 字符串常量
4.4 指針數組
4.5 配閤使用一維數組與指針
4.5.1 使用一維數組名簡化操作
4.5.2 使用指針操作一維數值數組
4.5.3 使用一維字符數組
4.5.4 指針初始化實例
4.6 二維數組與指針
4.6.1 二維數組
4.6.2 二維數組操作實例
4.6.3 二維數組與指針
4.6.4 二維數組與指嚮一維數組的指針
4.6.5 字符串二維數組
4.7 多維數組與指針
4.7.1 多維數組
4.7.2 多維數組與指針
4.7.3 多維數組實例
4.8 綜閤設計實例
第5章 函數基礎知識
5.1 函數
5.1.1 函數和函數原型
5.1.2 函數值和return語句
5.1.3 函數調用形式
5.1.4 函數參數的基礎知識
5.1.5 被調用函數的返迴位置
5.2 C程序的典型結構
5.2.1 單文件結構
5.2.2 一個源文件和一個頭文件
5.2.3 多文件結構
5.3 變量的作用域
5.3.1 單文件裏的塊結構及函數
5.3.2 單文件多函數的變量
5.3.3 多文件變量作用域
5.4 變量的存儲地址分配
5.4.1 單文件變量的存儲地址分配
5.4.2 多文件變量的存儲地址分配
5.5 main函數原型及命令行參數
第6章 函數設計
6.1 函數設計的一般原則
6.1.1 函數設計基礎
6.1.2 函數設計的注意事項
6.1.3 函數的一般結構
6.2 函數的返迴值
6.2.1 無返迴值的void類型函數
6.2.2非void類型的函數必須返迴一個值
6.2.3 函數使用臨時變量作為返迴值
6.2.4 不能使用臨時數組名作為返迴值
6.2.5 返迴臨時指針必須是首地址
6.2.6 返迴結構的函數
6.2.7 返迴結構指針的函數
6.2.8 返迴枚舉的函數
6.3 函數參數的傳遞方式
6.3.1 傳數值
6.3.2 傳地址值
6.4 函數指針
6.5 理解函數聲明
6.5.1 詞法分析中的“貪心法”
6.5.2 剋服語法“陷井”讀懂函數
6.6 函數設計舉例
6.6.1 完璧歸趙
6.6.2 多餘的參數
6.6.3 傳遞的參數與函數參數匹配問題
6.6.4 等效替換參數
第7章 函數設計實例
7.1 函數設計注意事項
7.1.1 再談函數的類型和返迴值
7.1.2 注意區分使用結構的場閤
7.1.3 注意正確地為結構分配內存
7.1.4 不同結構變量的賦值問題
7.1.5 其他注意事項
7.2 正確區分並設計指針函數和函數指針
7.3 多文件中的交互函數設計方法
7.4 一個簡單遊戲設計實例
第8章 C 程序結構化設計實例
8.1 實用結構化程序設計基礎
8.2 程序設計實例
8.2.1 功能設計要求
8.2.2 總體設計
8.2.3 函數設計
8.3 參考程序
8.4 運行示例
第9章 庫函數與算法基礎
9.1 算法基本概念
9.2 算法典型實例
9.3 基本庫函數
9.4 C語言預處理器
9.5 高級庫函數
9.5.1 典型實用的高級庫函數
9.5.2 使用它們簡化程序設計
9.5.3 應用實例
9.6 算法設計實例
9.6.1 鏈錶
9.6.2 決策樹
9.6.3 狀態機
第10章設計遊戲程序實例 365
10.1剪刀、石頭、布 365
10.1.1設計思想 365
10.1.2參考程序 367
10.1.3運行示範 369
10.2迷宮 370
10.2.1設計思想 370
10.2.2參考程序 371
10.2.3運行示範 373
10.3空戰 375
10.3.1設計思想 375
10.3.2參考程序 376
10.4貪吃蛇 381
10.4.1供改造的源程序 381
10.4.2運行示範 387
10.5停車場 388
10.5.1參考程序 388
10.5.2運行示範 393
10.6畫矩形 393
10.6.1用C語言編寫Windows程序 394
10.6.2Windows的程序結構 398
10.6.3用C語言編寫畫矩形程序 400
10.7俄羅斯方塊 405
10.7.1基本遊戲規則 405
10.7.2基本操作方法 406
10.7.3編寫遊戲交互界麵問題 406
10.7.4用C語言編寫控製颱俄羅斯方塊遊戲 407
10.7.5編寫Windows俄羅斯方塊遊戲 419
10.8用C語言編寫Windows下的貪吃蛇遊戲 430
10.8.1程序清單 430
10.8.2運行示範 442
附錄 7位ASCII碼錶 444
參考文獻 445
前言/序言
Preface前 言 C語言編程仍然是編程工作者必備的技能。本書的基礎版本《C語言解惑》通過比較編程中存在的典型錯誤,從而實現像雨珠打在久旱的沙灘上一樣滴滴入骨的效果,使學習者更容易記住編程的要訣,並通過演示如何將一個能運行的程序優化為更好、更可靠的程序,使讀者提高識彆壞程序和好程序的能力。盡管如此,那本書仍然要照顧初學者並兼顧知識的完整性,所以討論的深度有所限製。為此,我們決定推齣它的提高版,並將討論聚焦於函數設計。 本書將集中討論C語言的核心部分——函數設計。函數設計涉及函數類型、函數參數及返迴值,這就要求讀者熟練掌握指針和數組的知識,此外,還要掌握多文件編程以及多文件之間的參數傳遞等知識。 因為本書要求讀者已經學過C語言,所以我們可以完整、係統地論述各個部分的內容,無須贅述基礎知識。本書的另一個特點是每一章之間都有知識交叉,進而達到講透的目的。如果遇到不清楚的知識點,讀者可以自行學習相應參考資料,也可以與《C語言解惑》配閤學習。 本書的落腳點是實現C語言的結構化程序設計。為實現這一目標,本書專門選擇瞭完整的設計實例。尤其是第10章,結閤趣味遊戲程序,綜閤講解函數設計和多文件編程。 本書各個部分論述詳細,涉及的知識麵廣,有些知識是傳統教材中所沒有的,所以它既可以作為從事教學的老師及工程技術人員的參考書,也可以作為常備手冊。其實,它不僅對工程技術人員極有參考價值,也能幫助在校生進行編程訓練或作為畢業論文的參考資料。此外,本書對於初學者也大有幫助,他們可以將它作為課外讀物,對目前看不懂的地方,可以等具備相關知識之後再來研究,彼時將收獲更大。總之,本書能幫助各類人群找到自己需要的知識並有所收獲,而這也將拓寬本書的應用範圍。 本書共分10章。第1章通過例子說明引入指針變量的必要性並簡單介紹指針變量的基本性質。第2章通過實例解釋指針的基本性質。第3章介紹數組及數組的邊界不對稱性。第4章介紹C語言中兩個非常重要的概念——數組和指針。第5章介紹如何掌握函數設計和調用的正確方法。第6章介紹如何設計閤理的函數類型及參數傳遞方式。第7章先討論函數設計的一般原則,然後結閤典型算法,用實例說明設計的具體方法,以便使讀者進一步開闊眼界。第8章結閤具體實例詳細介紹頭文件的編製、多個C 語言文件及工程文件的編製等方法,以提高讀者的多文件編程能力。第9章給齣兩個典型的多文件編程實例,一個使用鏈錶,另一個使用數組。第10章中的遊戲程序實例將加深讀者對一個完整工程項目的理解。為瞭學習方便,本書提供全部程序代碼。 本書的兩位作者分彆撰寫各章的不同小節,然後逐章討論並獨立成章。劉燕君負責第1~6章,劉振安負責第7~10章,最後由劉振安統稿。參與本書工作的還有周淞梅實驗師、蘇仕華副教授、鮑運律教授、劉大路博士、唐軍高級工程師等。 在編寫過程中,我們得到瞭中國科學院院士、中國科學技術大學陳國良教授的大力支持,特此錶示感謝!對書中所引用資料的作者及網絡作品的作者錶示衷心感謝! 作 者 2016年6月
C語言解惑 指針、數組、函數和多文件編程 下載 mobi epub pdf txt 電子書 格式