C語言程序設計基礎教程

C語言程序設計基礎教程

作者: 雷莉霞 劉媛媛
出版社: 電子工業
出版在: 2019-03-01
ISBN-13: 9787121360831
ISBN-10: 7121360837
裝訂格式: 其他
總頁數: 296 頁





內容描述


本書對C語言作了全面、詳細、系統的介紹,並選擇Visual C++6.0作為編譯平臺。全書由11章組成,第1章介紹了C語言的發展、特點及編譯環境等;第2章介紹了常見的數據結構和算法;第3章介紹了C語言基本的數據類型、標識符和關鍵字的概念以及運算符和表達式等概念;第4、5、6章介紹了C語言中的三種基本結構;第7章介紹了數組的概念;第8章介紹了函數的知識;第9章介紹了指針的概念及使用方法;第10章介紹了構造型數據;第11章介紹了文件的概念及使用等內容。


目錄大綱


目錄

第1章C語言程序設計概述1 

1.1程序設計語言概述1 
1.1.1程序設計語言的發展與分類1 
1.1.2程序設計的過程3 
1.2程序設計方法4 
1.2.1結構化程序設計4 
1.2. 2面向對象程序設計6 
1.3 C語言的發展及特點8 
1.3.1 C語言的發展8 
1.3.2 C語言的特點和優點9 
1.4簡單的C語言程序11 
1.4.1 C語言程序示例11 
1.4.2 C語言程序構成簡介13 
1.5執行C程序14 
1.5.1步驟14 
1.5.2 C程序的集成開發工具15 
1.6小結16 
習題17 

第2章數據結構與算法18 

2.1引言18 
2.2數據結構概述19 
2.3常見的數據結構19 
2.3.1線性表19 
2.3.2棧20 
2.3.3隊列21 
2.3.4樹23 
2.3.5圖24 
2.4算法概述25 
2.4.1什麼是算法25 
2.4.2算法的性質26 
2.4.3算法的描述26 
2.5常用算法介紹31
2.5.1遞歸算法與分治算法31 
2.5.2動態規劃31 
2.5.3貪心算法31 
2.5.4回溯法32 
2.5.5分支限界法32 
2.6算法評價32 
2.7小結33 
習題34 

第3章基本數據類型、運算符和表達式36 

3.1 C語言的基本數據類型36 
3.1.1數據類型的產生36 
3.1.2 C語言的數據類型36 
3.2常量和變量40 
3.2.1標識符與關鍵字40 
3.2.2常量與符號常量41 
3.2.3變量及其定義42 
3.3運算符和表達式44 
3.3.1算術運算符及其表達式44 
3.3.2關係運算符及其表達式45 
3.3.3邏輯運算符及其表達式46 
3.3.4位運算符及其表達式47 
3.3.5賦值運算符及其表達式50 
3.3.6條件運算符及其表達式50 
3.3.7逗號運算符及其表達式51 
3.3.8求字節數運算符51 
3.4運算符的結合性及優先級52 
3.4.1運算符的結合性52 
3.4.2運算符的優先級52 
3.4.3表達式的書寫規則53 
3.5各種數據類型的轉換54
3.5.1自動轉換54 
3.5.2賦值轉換55 
3.5.3強制類型轉換56 
3.6程序示例57 
3.7小結59 
習題59 

第4章順序結構62 

4.1 C語言程序的語句62 
4.2數據輸入/輸出64 
4.2.1格式化輸出函數printf 64 
4.2.2格式化輸入函數scanf 66 
4.2.3字符輸出函數putchar 67 
4.2.4字符輸入函數getchar 67 
4.3較複雜的輸入/輸出格式控制68 
4.3.1輸出數據格式控制69 
4.3 .2輸入數據格式控制72 
4.4程序示例75 
4.5小結77 
習題78 

第5章選擇結構84 

5.1用條件表達式實現選擇結構84 
5.2 if語句87 
5.2.1 if語句的3種格式87 
5.2.2嵌套的if語句94 
5.3 switch語句95 
5.4程序示例98 
5.5小結102 
習題102 

第6章循環結構108 

6.1 while語句108 
6.2 do-while語句111
6.2.1語句格式111 
6.2.2執行過程111 
6.3 for語句112 
6.3.1語句格式112 
6.3.2執行過程112 
6.4 break和continue語句115 
6.4.1 break語句115 
6.4.2 continue語句117 
6.5 3種循環的比較118 
6.6循環的嵌套119 
6.7程序示例120 
6.8小結124 
習題125 

第7章數組130 

7.1數組的基本概念130 
7.2一維數組131 
7.2.1一維數組的定義和存儲結構131 
7.2.2引用一維數組元素132 
7.2.3初始化一維數組134 
7.3二維數組136 
7.3.1二維數組的定義136 
7.3.2引用二維數組元素137 
7.3.3初始化二維數組139 
7.3.4定義多維數組141 
7.4字符數組141 
7.4.1定義及初始化字符數組141 
7.4.2輸入/輸出字符串143 
7.4.3字符串處理函數144 
7.5數組應用示例148 
7.6小結154 
習題154

第8章函數與編譯預處理162 

8.1函數的基本概念162 
8.2定義與聲明函數164 
8.2.1定義函數164 
8.2.2聲明函數165 
8.3調用函數166 
8.3.1調用函數語句的一般格式166 
8.3.2函數的返回值166 
8.4函數的傳值方式168 
8.5函數的嵌套和遞歸調用170 
8.5.1嵌套調用170 
8.5.2函數的遞歸調用172 
8.6數組作為函數的參數176 
8.6.1數組元素作為函數實參176 
8.6.2數組名作為函數實參176 
8.7變量的作用域179 
8.7.1局部變量179 
8.7.2全局變量180 
8.8變量的存儲類型182 
8.8.1動態與靜態存儲方式182 
8.8.2 auto變量182 
8.8.3 static變量183 
8.8.4 register變量184 
8.8.5用extern聲明外部變量185 
8.9內部和外部函數185 
8.9.1內部函數185 
8.9.2外部函數186 
8.10編譯預處理187 
8.10.1宏定義命令187
8.10.2文件包含命令192 
8.10.3條件編譯命令192 
8.11小結194 
習題195 

第9章指針198 

9.1指針的基本概念198 
9.1.1定義及初始化指針變量199 
9.1.2指針變量與普通變量的區別201 
9.2指針運算202 
9.2.1指針的賦值運算202 
9.2.2指針的算術運算202 
9.2.3指針的關係運算204 
9.3指針與數組204 
9.3.1指向一維數組的指針205 
9.3.2指向二維數組的指針206 
9.3.3指向字符串指針209 
9.3.4指針數組和指向指針的指針211 
9.4指針作為函數的參數214 
9.5指針應用示例216 
9.6小結219 
習題220 

第10章構造型數據類型225 

10.1結構體類型225 
10.1.1定義結構體225 
10.1.2定義結構體變量226 
10.1.3初始化結構體變量227 
10.1.4引用結構體變量成員228 
10.2結構體數組229 
10.2.1聲明結構體數組229
10.2.2初始化和引用結構體數組成員230 
10.3結構體指針231 
10.4鍊錶234 
10.4.1鍊錶的基本概念234 
10.4.2內存動態管理函數235 
10.4.3鍊錶的基本操作236 
10.5共用體242 
10.5.1定義共用體及共用體變量242 
10.5.2初始化共用體變量和引用其成員243 
10.5.3應用共用體245 
10.6枚舉型246 
10.7定義類型248 
10.8程序示例249 
10.9小結253 
習題254 

第11章文件261 

11.1文件的相關概念261 
11.2打開與關閉文件262 
11.2.1使用fopen函數打開文件262 
11.2.2使用fclose函數關閉文件264 
11.3順序讀寫文件264 
11.3.1讀寫文件的一個字符264 
11.3.2讀寫文件的一個字符串268 
11.3.3讀寫文件的一組數據269 
11.3.4格式化讀寫文件271 
11.4隨機讀寫文件272 
11.5文件定位272 
11.6隨機讀寫文件函數273 
11.7文件檢測函數274
11.8小結274 
習題275 
附錄C語言常用的庫函數277


作者介紹


雷莉霞:2000年-至今在華東交通大學任教,專業為計算機科學與技術,主講C語言程序設計、VB語言程序設計,數據庫技術(VFP),計算機基礎等課程。積累了豐富的教學和科研經驗,教育思想觀念先進,教學內容理論聯繫實際,教學方法靈活創新,教學效果優秀,受到學生歡迎。科研成果豐碩。




相關書籍

Mathematical Foundations of Computer Networking (Paperback)

作者 Srinivasan Keshav

2019-03-01

How Linux Works: What Every Superuser Should Know, 2/e (Paperback)

作者 Brian Ward

2019-03-01

Software Defined Networking (SDN): Anatomy of OpenFlow Volume I (Paperback)

作者 Doug Marschke

2019-03-01