C語言程序設計(第3版)
孫改平、王德誌、盛建瓴、王曉菊、喬良
商品描述
"本書是按照普通高等院校大學計算機程序設計課程的培養目標和基本要求,結合當前社會對程序設計的需求,由具有多年計算機基礎教學經驗的教師編寫。全書共分10章,包括程序設計概述、C數據類型、順序結構程序設計、選擇結構程序設計、循環結構程序設計、數組、函數、指針、結構體和共用體、文件等。 本書內容豐富,語言通俗易懂且簡明扼要,遵循由淺入深的原則編排。書中通過引入一些有趣的、實用的生活示例激發讀者的學習興趣,並借助一些實用示例講解知識點,把一些繁雜的知識點分散到不同的示例中進行講解和應用,同時以幾個典型示例串聯起整個知識體系。 本書可作為高等學校“C語言程序設計”課程的教材,也可作為各類計算機培訓班的教材,還可作為計算機相關領域的科技人員、計算機愛好者及各類自學人員的參考用書。 "
目錄大綱
目錄
第1章程序設計概述 1
1.1計算機與程序設計語言1
1.2C語言的發展和特點4
1.2.1C語言的發展4
1.2.2C語言的特點5
1.3C語言的應用6
1.3.1簡單的C程序示例6
1.3.2C程序的結構9
1.4C程序的工作原理與操作環境11
1.4.1工作原理11
1.4.2VC 2010編輯環境介紹12
1.4.3DevC++編輯環境介紹17
習題121第2章C數據類型22
2.1C語言的數據類型22
2.2常量和變量23
2.2.1標識符23
2.2.2常量和符號常量23
2.2.3變量24
2.3整型數據25
2.3.1整型常量25
2.3.2整型數據在內存中的存儲形式26
2.3.3整型變量26
2.3.4整型常量的類型29
2.3.5整型類型的大小29
2.4實型數據30
2.4.1實型常量30
2.4.2實型數據在內存中的存儲形式30
2.4.3實型變量31
2.4.4實型類型的大小32
2.5字符型數據33
2.5.1字符常量33
2.5.2字符變量34
2.5.3字符型數據在內存中的存儲形式及使用方法34
2.5.4字符串常量36
習題237第3章順序結構程序設計39
3.1賦值運算符與賦值表達式39
3.1.1賦值運算符39
3.1.2賦值表達式40
3.1.3賦值語句40
3.1.4左值和右值40
3.1.5不同數據類型間的賦值規則41
3.2算術運算符與算術表達式43
3.2.1算術運算符43
3.2.2算術表達式43
3.2.3運算符的優先級和結合性44
3.2.4自增自減運算符44
3.2.5算術運算中數據類型轉換規則46
3.2.6sizeof運算符、復合賦值運算符47
3.3數據的格式化輸出48
3.3.1整數的輸出50
3.3.2實數的輸出53
3.3.3字符和字符串的輸出54
3.3.4格式化輸出總結55
3.4數據的格式化輸入57
3.5單個字符的輸入和輸出62
3.5.1單個字符輸出函數putchar()62
3.5.2單個字符輸入函數getchar()63
3.6宏定義與宏替換64
3.6.1無參宏定義64
3.6.2帶參宏定義66
3.7程序舉例67
習題368第4章選擇結構程序設計70
4.1算法及其描述方法70
4.1.1算法的概念 70
4.1.2算法的表示72
4.2關系運算符與關系表達式78
4.2.1關系運算符78
4.2.2關系表達式79
4.3邏輯運算符與邏輯表達式80
4.3.1邏輯運算符80
4.3.2邏輯表達式81
4.4單分支與雙分支結構82
4.4.1單分支結構82
4.4.2雙分支結構84
4.4.3if語句的嵌套87
4.5條件運算符與條件表達式90
4.6多分支結構91
4.6.1多分支結構的條件語句91
4.6.2多分支結構的開關語句93
4.7程序舉例96
習題4103第5章循環結構程序設計106
5.1循環結構程序的概念106
5.2while循環107
5.3dowhile循環109
5.4逗號表達式113
5.5for循環113
5.6循環嵌套119
5.7流程的轉移控制121
5.7.1goto語句121
5.7.2break語句122
5.7.3continue語句123
5.8幾種循環的比較125
5.9程序舉例126
習題5133第6章數組135
6.1數組的概念135
6.2一維數組 137
6.2.1一維數組的定義137
6.2.2一維數組的引用138
6.2.3一維數組的初始化139
6.3二維數組 146
6.3.1二維數組的定義146
6.3.2二維數組的引用147
6.3.3二維數組的初始化148
6.4字符數組 150
6.4.1字符數組與字符串150
6.4.2字符數組的定義與初始化151
6.4.3字符數組的輸入與輸出152
6.4.4字符串處理函數155
6.5程序舉例159
習題6166第7章函數169
7.1函數的概念169
7.2函數定義與返回值171
7.2.1函數類型171
7.2.2函數定義172
7.3函數調用174
7.3.1函數調用的形式174
7.3.2函數調用時的參數傳遞 174
7.4函數聲明175
7.5函數的嵌套與遞歸調用181
7.5.1函數的嵌套調用181
7.5.2函數的遞歸調用184
7.6數組作為函數參數185
7.6.1數組元素作為函數參數185
7.6.2一維數組作為函數參數187
7.6.3二維數組作為函數參數189
7.7變量的作用域和存儲類型192
7.7.1變量的作用域192
7.7.2變量的存儲類型195
7.8編譯預處理198
7.9程序舉例201
習題7212第8章指針216
8.1指針的概念216
8.2指針變量的定義218
8.2.1定義指針變量218
8.2.2引用指針變量219
8.2.3指針變量作為函數參數222
8.3指針與數組226
8.3.1數組元素的指針226
8.3.2一維數組的地址和指針227
8.3.3二維數組的地址和指針232
8.4字符串和指針236
8.4.1使用字符指針變量訪問字符串常量236
8.4.2使用字符指針變量訪問字符串變量238
8.4.3字符指針變量與字符數組的區別239
8.5指針與函數241
8.5.1指向函數的指針241
8.5.2返回指針的函數243
8.6指針的高級應用244
8.6.1指針數組244
8.6.2main()函數的命令行參數245
8.6.3動態內存分配246
習題8253第9章結構體和共用體257
9.1結構體類型和結構體變量257
9.1.1結構體類型的定義258
9.1.2結構體變量的定義259
9.1.3結構體變量的引用 260
9.1.4結構體變量的初始化263
9.1.5結構體變量應用舉例264
9.2結構體數組265
9.2.1結構體數組的定義265
9.2.2結構體數組的引用266
9.2.3結構體數組的初始化267
9.2.4結構體數組應用舉例268
9.3結構體指針269
9.3.1指向結構體變量的指針269
9.3.2指向結構體數組的指針270
9.4鏈表272
9.4.1鏈表概念273
9.4.2鏈表相關操作274
9.5共用體284
9.5.1共用體類型和共用體變量的定義284
9.5.2共用體變量的引用和初始化286
9.5.3共用體變量的舉例287
9.6枚舉類型289
9.7用typedef定義新類型名291
習題9292第10章文件294
10.1文件概述294
10.1.1文件的概念294
10.1.2文件的分類295
10.1.3文件指針296
10.2文件的打開與關閉296
10.2.1文件的打開296
10.2.2文件的關閉298
10.2.3文件的檢測298
10.3文件的讀寫操作299
10.3.1字符讀寫函數299
10.3.2字符串讀寫函數302
10.3.3格式化讀寫函數304
10.3.4數據塊讀寫函數308
10.4文件的隨機讀寫312
習題10318參考文獻323附錄AC運算符的優先級與結合性324附錄B常用字符與ASCII值對照表325附錄C常用的ANSI C標準庫函數326







