本書重點介紹在C語言環(huán)境下編寫程序的思路與方法,主要講述C語言的數據類型、運算規(guī)則,順序、選擇、循環(huán)結構的程序設計,以及數組、函數、指針與結構體、文件等內容。本書在介紹基本概念、基本語法及常規(guī)算法的基礎上,強調模塊化、規(guī)范化的程序設計。本書內容少而精,結構清晰、層次分明,文字通俗易懂,講解循序漸進,并且通過大量與C語言知識點緊密結合的例題,讓讀者更好地掌握用計算機解決問題的思維方式和程序設計方法。本書每章后均配有綜合練習題,并且免費提供配套電子課件。本書可作為高等學校計算機及相關專業(yè)教材,也可供從事計算機相關領域的科研人員自學參考。
鄒啟明,上海大學計算中心技術支持室主任,研究領域:計算機軟件及計算機應用。主講課程C語言、高級辦公自動化等。"C語言程序設計課程管理系統(tǒng)"為2011年上海大學校級課程建設項目。曾發(fā)表面向大學生信息素養(yǎng)培養(yǎng)的計算機基礎課程教學研究等論文。在電子工業(yè)出版社出版教材《程序設計基礎(C/C++語言)》
第1章 程序設計基礎 1
1.1 簡單的C程序 1
1.1.1 輸出“Hello,World!” 1
1.1.2 求解并輸出階乘值 2
1.1.3 使用函數實現求解并輸出階乘值 2
1.2 算法 3
1.2.1 算法的概念與表示方法 3
1.2.2 算法設計的基本方法 7
1.3 程序與程序設計 14
1.3.1 程序與程序設計語言 15
1.3.2 程序設計語言處理過程 16
1.3.3 程序設計步驟 18
1.3.4 程序設計方法 20
1.3.5 程序設計規(guī)范 22
1.4 小結 23
綜合練習題 23
第2章 C語言基礎知識 24
2.1 標識符 24
2.2 基本數據類型 24
2.2.1 整型常量與變量 25
2.2.2 浮點型常量與變量 26
2.2.3 字符型常量與變量 27
2.2.4 字符串常量 27
2.2.5 符號常量 28
2.3 標準輸入/輸出函數 28
2.3.1 格式化輸出函數 28
2.3.2 格式化輸入函數 31
2.3.3 字符輸出函數 33
2.3.4 字符輸入函數 34
2.4 運算符與表達式 34
2.4.1 算術運算符與表達式 34
2.4.2 賦值運算符與表達式 35
2.4.3 關系運算符與表達式 36
2.4.4 邏輯運算符與表達式 36
2.4.5 條件運算符與表達式 38
2.4.6 位運算符與表達式 38
2.4.7 逗號運算符與表達式 40
2.4.8 sizeof運算符 40
2.4.9 數據類型轉換 40
2.5 小結 41
綜合練習題 41
第3章 程序控制結構 44
3.1 順序結構 44
3.2 選擇結構 45
3.2.1 if語句 45
3.2.2 switch語句 50
3.3 循環(huán)結構 54
3.3.1 while語句 54
3.3.2 do-while語句 55
3.3.3 for語句 56
3.3.4 break語句與continue語句 58
3.3.5 循環(huán)結構的嵌套 59
3.3.6 典型例題 62
3.4 其他常用解題方法 68
3.4.1 順推法 68
3.4.2 逆推法 69
3.4.3 迭代法 70
3.4.4 窮舉法 74
3.5 小結 76
綜合練習題 76
第4章 數組 81
4.1 一維數組 81
4.1.1 定義 81
4.1.2 存儲 82
4.1.3 引用 82
4.1.4 初始化 83
4.1.5 典型例題 84
4.2 二維數組 91
4.2.1 定義 91
4.2.2 存儲 92
4.2.3 引用 92
4.2.4 初始化 93
4.2.5 典型例題 94
4.3 字符數組 97
4.3.1 字符串的表示 98
4.3.2 字符串處理函數 99
4.3.3 字符串的檢索、插入和刪除 100
4.4 小結 105
綜合練習題 106
第5章 函數 112
5.1 程序與函數 112
5.2 函數的定義 115
5.3 函數的調用 116
5.4 數組名作為函數參數 121
5.5 函數的應用 122
5.6 函數的嵌套與遞歸 125
5.6.1 函數的嵌套調用 125
5.6.2 函數的遞歸調用 126
5.7 局部變量與全局變量 129
5.7.1 局部變量 129
5.7.2 全局變量 130
5.8 變量的存儲方式 133
5.8.1 變量存儲的內存空間分布 133
5.8.2 變量的存儲類別 134
5.9 小結 135
綜合練習題 136
第6章 指針與結構體 140
6.1 指針 140
6.1.1 變量的內存地址 140
6.1.2 指針變量 141
6.1.3 指針與數組 145
6.1.4 指針與函數 148
6.1.5 指針與字符串 154
6.2 結構體 158
6.2.1 結構體類型與結構體變量 159
6.2.2 結構體數組 162
6.2.3 結構體指針 164
6.2.4 結構體與函數 166
6.3 用指針和結構體處理鏈表 168
6.3.1 鏈表的概念 168
6.3.2 建立鏈表 169
6.3.3 輸出鏈表 171
6.3.4 插入結點的操作 171
6.3.5 刪除結點的操作 172
6.4 小結 173
綜合練習題 173
第7章 文件 177
7.1 文件概述 177
7.2 文件的打開與關閉 179
7.2.1 打開文件 179
7.2.2 關閉文件 181
7.3 文件的讀/寫 182
7.3.1 讀/寫文本文件 182
7.3.2 讀/寫二進制文件 188
7.4 文件其他相關函數 190
7.4.1 文件定位函數 190
7.4.2 錯誤檢測函數 195
7.4.3 文件管理函數 196
7.5 小結 197
綜合練習題 197
附錄A 常用ASCII字符表 199
附錄B 常用的ANSI C標準庫函數 201
附錄C C語言運算符優(yōu)先級與結合性 209
參考文獻 211