C語言程序設計及應用
黃勤陸 李安強 胡永泉
商品描述
本書主要介紹C語言程序設計的相關知識和應用。本書共14個單元,主要包括初識C語言、變量與表達式、字符型數據、順序結構程序設計、選擇結構程序設計、循環結構程序設計、數組、函數、編譯預處理、指針、結構體和共用體、位運算、文件管理與操作、綜合項目開發——俄羅斯方塊等內容。本書重點突出,內容由淺入深;註重應用性和實際操作性;案例豐富,且每個單元附有課後習題。
本書可以作為高職高專院校計算機相關專業的教材,也可供程序設計人員參考。
作者簡介
黃勤陸,成都紡織高等專科學校電氣信息工程學院院長,講授課程包括《C語言程序設計及應用》《PLC技術及應用》等
目錄大綱
單元1
初識C語言 1
任務1 認識C語言及搭建開發環境 2
任務目標 2
相關知識 2
知識點1:認識C語言 2
知識點2:C語言開發相關概念 2
知識點3:C語言開發工具 3
知識點4:其他相關工具 3
知識點5:銀河麒麟桌面操作系統 4
任務實現 4
任務2 第 一個應用程序的開發與調試 14
任務目標 14
相關知識 14
知識點1:C語言程序的編譯機制 14
知識點2:斷點和單步調試 14
任務實現 14
任務3 輸出唐詩《登鸛雀樓》 20
任務目標 20
相關知識 20
知識點1:函數 20
知識點2:代碼註釋和風格 20
知識點3:C語言程序結構 20
任務實現 21
拓展任務 俄羅斯方塊實現分析 23
課後習題 24
單元2
變量與表達式 25
任務1 計算圓面積 26
任務目標 26
相關知識 26
知識點1:變量定義與使用 26
知識點2:數據類型 27
知識點3:常量定義與使用 29
任務實現 30
任務2 計算電流 30
任務目標 30
相關知識 30
知識點1:運算符的分類 30
知識點2:運算符優先級 34
知識點3:表達式與語句 34
任務實現 35
拓展任務 俄羅斯方塊之定位 36
課後習題 37
單元3
字符型數據 38
任務1 輸出信息 39
任務目標 39
相關知識 39
知識點1:字符常量 39
知識點2:字符串常量 39
知識點3:轉義字符 40
知識點4:字符編碼 41
任務實現 42
任務2 凱撒密碼解密 42
任務目標 42
相關知識 43
知識點1:字符變量 43
知識點2:類型轉換 43
知識點3:混合運算 45
任務實現 46
拓展任務 俄羅斯方塊之常量設置 47
課後習題 47
單元4
順序結構程序設計 48
任務1 計算平均成績 48
任務目標 48
相關知識 49
知識點1:C語言程序中的語句 49
知識點2:C語言程序中的3種基本
結構 49
任務實現 50
任務2 計算直角三角形面積 51
任務目標 51
相關知識 51
知識點1:printf()函數的使用格式 51
知識點2:printf()函數的格式轉換
說明符 52
知識點3:printf()函數的格式控制
字符串的使用方法 52
知識點4:使用printf()函數的註意
事項 55
任務實現 56
任務3 計算圓的周長和面積 57
任務目標 57
相關知識 57
知識點1:scanf()函數的使用格式 57
知識點2:scanf()函數的格式轉換
說明符 57
知識點3:使用scanf()函數的註意
事項 58
任務實現 59
任務4 字母轉換 59
任務目標 59
相關知識 60
知識點1:字符輸出函數putchar() 60
知識點2:字符輸入函數getchar() 60
知識點3:使用getchar()函數的註意
事項 60
任務實現 60
拓展任務 俄羅斯方塊之開始遊戲 61
課後習題 61
單元5
選擇結構程序設計 63
任務1 根據月收入判斷是否需要納稅 64
任務目標 64
相關知識 64
知識點1:關系運算符及其優先級 64
知識點2:關系表達式 64
任務實現 64
任務2 閏年判斷 65
任務目標 65
相關知識 65
知識點1:邏輯運算符及其優先級 65
知識點2:邏輯表達式 65
任務實現 66
任務3 兩個整數比較大小 67
任務目標 67
相關知識 67
知識點:單分支if結構 67
任務實現 68
任務4 判斷成績是否合格 68
任務目標 68
相關知識 68
知識點1:雙分支if結構 68
知識點2:條件運算符和條件
表達式 69
任務實現 69
任務5 百分制成績對應等級 70
任務目標 70
相關知識 70
知識點1:多分支if結構 70
知識點2:使用if結構的註意事項 71
任務實現 71
任務6 輸出符號函數的結果 72
任務目標 72
相關知識 72
知識點1:在if子句中嵌套if結構 72
知識點2:在else子句中嵌套if
結構 72
任務實現 73
任務7 輸出某月的天數 74
任務目標 74
相關知識 74
知識點1:switch語句的一般格式 74
知識點2:使用switch語句的註意
事項 74
任務實現 75
拓展任務 俄羅斯方塊之選擇結構程序
設計 76
拓展任務1:俄羅斯方塊之遊戲方塊
顏色設置 76
拓展任務2:俄羅斯方塊之判斷得分
與遊戲結束 77
課後習題 80
單元6
循環結構程序設計 82
任務1 計算1~100中整數的累加和 83
任務目標 83
相關知識 83
知識點1:while循環結構的
一般格式 83
知識點2:使用while循環結構
的註意事項 83
任務實現 84
任務2 最大公約數問題 84
任務目標 84
相關知識 84
知識點1:do-while循環結構的
一般格式 84
知識點2:使用do-while循環結構的
註意事項 85
任務實現 85
任務3 計算10! 86
任務目標 86
相關知識 86
知識點1:for循環結構的一般
格式 86
知識點2:使用for循環結構的註意
事項 87
任務實現 88
任務4 生成多個隨機數 88
任務目標 88
相關知識 88
知識點:生成隨機數的函數 88
任務實現 89
任務5 輸出平面圖形 89
任務目標 89
相關知識 90
知識點:循環結構的嵌套 90
任務實現 90
任務6 素數問題 91
任務目標 91
相關知識 91
知識點1:break語句 91
知識點2:continue語句 91
任務實現 91
拓展任務 俄羅斯方塊之循環結構程序
設計 92
拓展任務1:俄羅斯方塊之啟動
遊戲 92
拓展任務2:俄羅斯方塊之畫遊戲
方塊 95
課後習題 96
單元7
數組 98
任務1 計算學生平均成績 99
任務目標 99
相關知識 99
知識點1:一維數組定義 99
知識點2:一維數組元素的引用 100
任務實現 100
任務2 數組元素排序 101
任務目標 101
相關知識 101
知識點:一維數組的初始化 101
任務實現 102
任務3 輸出楊輝三角形 104
任務目標 104
相關知識 104
知識點1:二維數組定義 104
知識點2:二維數組元素的引用 104
知識點3:二維數組的初始化 105
任務實現 105
任務4 統計不同類型字符的個數 106
任務目標 106
相關知識 106
知識點:字符數組 106
任務實現 108
任務5 水果名稱排序 108
任務目標 108
相關知識 109
知識點:字符串函數 109
任務實現 110
拓展任務 俄羅斯方塊之形態描述 111
課後習題 113
單元8
函數 115
任務1 計算身體質量指數 116
任務目標 116
相關知識 116
知識點1:函數定義 116
知識點2:函數調用 117
任務實現 118
任務2 計算年齡 119
任務目標 119
相關知識 119
知識點1:函數嵌套調用 119
知識點2:函數遞歸調用 121
知識點3:函數聲明 122
任務實現 124
任務3 烏鴉喝水遊戲 124
任務目標 124
相關知識 124
知識點1:變量作用域 124
知識點2:變量的存儲類型 126
任務實現 127
拓展任務 俄羅斯方塊之光標跳轉 129
課後習題 130
單元9
編譯預處理 131
任務1 用預處理命令求兩個數的最值 132
任務目標 132
相關知識 132
知識點1:預處理命令 132
知識點2:有參數宏定義 134
知識點3:條件編譯 135
任務實現 137
任務2 用帶參數的宏定義求3個數的
最小值 138
任務目標 138
相關知識 138
知識點1:有參數宏表達式的
應用 138
知識點2:宏定義使用過程中常見
錯誤分析 138
任務實現 139
拓展任務 俄羅斯方塊之main()函數格式
基於操作系統環境編譯預處理 139
課後習題 140
單元10
指針 141
任務1 兩個整數排序 142
任務目標 142
相關知識 142
知識點1:指針的基本概念 142
知識點2:指針變量的定義與
引用 143
任務實現 144
任務2 種子的自動篩選——基因工程 144
任務目標 144
相關知識 144
知識點1:一維數組與指針 144
知識點2:二維數組與指針 145
任務實現 147
任務3 回文識別 148
任務目標 148
相關知識 148
知識點1:字符指針 148
知識點2:字符指針與字符數組的
區別 149
任務實現 150
任務4 輸出年歷 150
任務目標 150
相關知識 151
知識點1:指向函數的指針 151
知識點2:指針函數返回值 151
任務實現 152
拓展任務 俄羅斯方塊之從紀錄文件中讀取
得分 153
課後習題 153
單元11
結構體和共用體 155
任務1 學生成績過關查詢 156
任務目標 156
相關知識 156
知識點1:結構體類型 156
知識點2:結構體變量 156
知識點3:結構體數組 159
任務實現 159
任務2 學生信息處理 160
任務目標 160
相關知識 160
知識點1:鏈表 160
知識點2:動態分配存儲空間 161
知識點3:鏈表的應用 161
任務實現 164
任務3 人員數據資源庫建設 165
任務目標 165
相關知識 165
知識點1:共用體類型 165
知識點2:枚舉類型 166
知識點3:自定義數據類型 167
任務實現 168
拓展任務 俄羅斯方塊之遊戲界面定義 169
課後習題 170
單元12
位運算 172
任務1 位運算判斷奇偶 172
任務目標 172
相關知識 173
知識點1:數值在計算機中的表示 173
知識點2:位運算基本概念 174
知識點3:常用位運算 174
任務實現 177
任務2 廣告牌循環展示 177
任務目標 177
相關知識 177
知識點1:復合賦值位運算 177
知識點2:位段的定義和引用 178
任務實現 179
拓展任務 俄羅斯方塊之碰撞檢測 181
課後習題 182
單元13
文件管理與操作 183
任務1 文件屬性獲取 183
任務目標 183
相關知識 184
知識點1:文件分類 184
知識點2:文件指針 185
知識點3:文件開/關操作 185
任務實現 186
任務2 員工檔案讀寫 187
任務目標 187
相關知識 187
知識點1:字符讀/寫 187
知識點2:字符串讀/寫 187
知識點3:文本文件讀/寫 188
任務實現 188
任務3 圖片復制 189
任務目標 189
相關知識 189
知識點1:二進制文件讀操作 189
知識點2:二進制文件寫操作 190
知識點3:文件定位 190
任務實現 191
拓展任務 俄羅斯方塊之寫最高分到紀錄
文件中 192
課後習題 192
單元14
綜合項目開發——俄羅斯
方塊 194
任務目標 195
相關知識 195
知識點1:軟件項目開發流程 195
知識點2:面向過程編程 196
知識點3:結構化程序設計 196
任務實現 197
課後習題 217
附錄
附錄Ⅰ 常用字符與ASCII值對照表 218
附錄Ⅱ C語言關鍵字 219
附錄Ⅲ 運算符的優先級和結合方向 219
附錄Ⅳ 常用C語言標準庫函數 220
附錄Ⅴ 本書用到的函數或符號的英文
組合說明 225