如何讓學生在短時間內掌握C語言程序設計的方法,是本書的編寫目的。本書共分10章:第1~3章介紹了C語言的基本知識及程序設計結構;第4、5章著重講解了數組和函數的概念;第6章簡要介紹C語言的預編譯處理;第7章介紹了結構體和共用體;第8章講解了文件的相關內容;第9章概要介紹了C++;第10章綜合所學知識,進行一個實用的項目設計。本書體系合理,內容實用,通俗易讀,可作為高等院校應用型本科、高職高專C語言課程的教材,也適合培訓和自學之用。
蘇傳芳,安徽電子信息職業(yè)技術學院副教授,安徽省教學名師。主要著作:《C語言程序設計》獲教育部教指委“2011年度高職高專IT類專業(yè)優(yōu)秀教材獎”。獲“安徽省‘十一五’規(guī)劃教材”稱號;安徽省“優(yōu)秀教學成果三等獎”;安徽省“電子信息職業(yè)技術學院優(yōu)秀教學成果一等獎”稱號。
第1章 C語言概述 1
1.1 C語言產生的背景 1
1.2 C語言的特點 2
1.3 C語言的程序結構 3
1.3.1 C程序的基本結構 3
1.3.2 C函數的格式 3
1.3.3 關鍵字 5
1.3.4 小結 5
1.4 C程序上機步驟 6
1.4.1 運行一個C語言程序的一般
過程 6
1.4.2 常用的操作命令 7
實訓1 認識C語言程序 13
本章小結 14
習題1 14
第2章 數據類型、運算符與表達式 16
2.1 C語言的數據類型 16
2.2 常量與變量 17
2.2.1 直接常量和符號常量 17
2.2.2 變量 19
2.3 整型數據 20
2.3.1 整型常量 20
2.3.2 整型變量 20
實訓2 使用整型數據 23
2.4 實型數據 25
2.4.1 實型常量的表示方法 25
2.4.2 實型變量 25
實訓3 使用實型數據 27
2.5 字符型數據 27
2.5.1 字符常量 27
2.5.2 字符變量 29
2.5.3 字符串常量 31
實訓4 使用字符型數據 31
2.6 算術運算符和算術表達式 32
2.7 賦值運算符和賦值表達式 35
2.8 關系運算符和關系表達式 39
2.9 邏輯運算符和邏輯表達式 40
2.10 逗號運算符和逗號表達式 42
2.11 位運算 43
2.11.1 位邏輯運算符 44
2.11.2 移位運算符 45
2.11.3 位賦值運算符 46
2.11.4 不同長度的數據進行位運算 47
實訓5 使用運算符和表達式 47
2.12 變量的地址和指向變量的指針 49
2.12.1 變量的地址 49
2.12.2 變量的指針和指向變量的
指針變量 50
2.12.3 指針運算符和取地址運算符 50
實訓6 指針的初步應用 52
本章小結 53
習題2 53
第3章 基本程序結構 57
3.1 程序的3種基本結構 57
3.1.1 結構化程序設計 57
3.1.2 C語言的語句 59
3.2 賦值語句 60
3.3 數據的輸入和輸出 60
3.3.1 字符數據的輸入/輸出函數
――putchar()函數
和getchar()函數 61
3.3.2 格式輸入/輸出函數:
printf函數和 scanf函數 62
實訓7 使用輸入/輸出函數 69
3.4 順序結構程序設計 72
3.5 選擇結構程序設計 73
3.5.1 if語句 73
3.5.2 switch語句 78
實訓8 if語句和switch語句的
使用 80
3.6 循環(huán)結構程序設計 85
3.6.1 goto語句及goto語句構成的
循環(huán) 85
3.6.2 while語句 / do-while語句
/ for 語句 86
實訓9 while語句、do-while語句
和for語句的使用 93
課程設計1 模擬ATM取款機
界面 101
本章小結 104
習題3 105
第4章 數組 110
4.1 一維數組 110
4.1.1 一維數組的定義、引用和
初始化 111
4.1.2 數組與指針 114
實訓10 一維數組的應用 117
4.2 二維數組 120
4.2.1 二維數組的定義 121
4.2.2 二維數組元素的引用 121
4.2.3 二維數組的初始化 123
4.2.4 二維數組與指針 123
實訓11 二維數組的應用 125
4.3 字符數組 127
4.3.1 字符數組的定義、引用和
初始化 128
4.3.2 字符串的使用 129
4.3.3 字符串處理函數 130
實訓12 英文打字練習程序 133
4.4 指針數組和指向指針的指針 136
4.4.1 指針數組的概念 137
4.4.2 指向指針的指針 138
4.4.3 指針數組作為main函數的
形參 139
實訓13 指針的應用 140
課程設計2 用高斯消去法解線性
方程組 141
本章小結 144
習題4 144
第5章 函數 146
5.1 函數定義 146
實訓14 建立和使用函數 149
5.2 函數參數與返回值 150
5.2.1 形式參數與實際參數 150
5.2.2 參數的值傳遞方式和指針
(地址)傳遞方式 151
實訓15 參數的值傳遞方式和
地址傳遞方式 153
5.2.3 參數類型 155
實訓16 函數參數傳遞的形式 157
5.2.4 函數的返回值 158
實訓17 函數的返回值 159
5.3 函數調用 160
5.3.1 函數調用的基本問題 160
5.3.2 函數嵌套調用 163
5.3.3 函數遞歸調用 164
實訓18 嵌套與遞歸調用的實現 166
5.4 函數與指針 168
5.4.1 返回指針值的函數 168
5.4.2 指向函數的指針 169
5.5 變量作用域和存儲類別 171
5.5.1 局部變量 171
5.5.2 全局變量 173
5.5.3 變量存儲類別 174
實訓19 局部變量和全局變量的
使用 177
5.6 外部函數和內部函數 178
本章小結 180
習題5 181
第6章 編譯預處理 184
6.1 預處理命令概述 184
6.2 宏定義 185
6.2.1 不帶參數的宏定義 185
6.2.2 帶參數的宏定義 187
6.3 文件包含處理 190
6.4 條件編譯 192
實訓20 定義宏和使用宏 194
本章小結 197
習題6 197
第7章 結構體和鏈表 201
7.1 結構體 201
7.1.1 結構體定義、引用和
初始化 202
7.1.2 結構體數組和結構體指針 207
7.1.3 結構體與函數 210
實訓21 結構體的應用 213
7.2 鏈表 214
7.2.1 鏈表的概念 214
7.2.2 鏈表的實現 215
7.2.3 鏈表的操作 219
7.3 共用體和枚舉類型 222
7.3.1 共用體定義、使用和
初始化 222
7.3.2 枚舉類型定義、使用和
初始化 224
7.4 類型定義 226
課程設計3 簡單學生管理程序 227
本章小結 232
習題7 232
第8章 文件 236
8.1 文件類型指針 238
8.2 文件的打開與關閉 239
8.3 文件的讀/寫操作 241
實訓22 文件加密程序的實現及
文件的讀/寫操作 244
8.4 文件定位與出錯檢測 249
8.4.1 文件定位函數――fseek()
函數 249
8.4.2 出錯檢測函數――ferror()
函數 249
實訓23 加/解密數據庫程序及
文件定位操作 250
8.5 其他文件函數 253
課程設計4 給程序加上行號 254
本章小結 256
習題8 257
第9章 C++概述 258
9.1 C++的特點及輸入/輸出 258
9.1.1 C++的特點 258
9.1.2 C++的輸入/輸出 260
實訓24 熟練使用cin和cout 264
9.2 面向對象概述 268
9.2.1 面向對象的基本概念 268
9.2.2 面向對象的三大特征 269
9.3 類和對象的定義及使用 270
9.3.1 類的定義 270
9.3.2 對象的創(chuàng)建及使用 272
9.3.3 構造函數與析構函數 273
實訓25 類和對象的使用 275
本章小結 276
習題9 277
第10章 項目實踐――學生信息管理系統(tǒng) 279
10.1 系統(tǒng)基本需求 279
10.2 結構設計 282
10.3 功能函數的實現 284
10.4 項目總結 288
附錄A 常用字符與標準ASCII對照表 290
附錄B 運算符和結合性 292