關(guān)于我們
書單推薦
新書推薦
|
C語言程序設(shè)計(慕課版 第2版)
本書系統(tǒng)全面的介紹了有關(guān)C語言程序設(shè)計開發(fā)所涉及的各類知識。全書共分18章,內(nèi)容包括C語言概述、算法、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式、常用的數(shù)據(jù)輸入/輸出函數(shù)、選擇結(jié)構(gòu)程序設(shè)計、循環(huán)控制、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體和共用體、位運(yùn)算、預(yù)處理、文件、存儲管理、網(wǎng)絡(luò)套接字編程、綜合開發(fā)實(shí)例——趣味俄羅斯方塊、課程設(shè)計——學(xué)生信息管理系統(tǒng)。
《C語言程序設(shè)計(慕課版 第2版)》是一本C語言程序設(shè)計互聯(lián)網(wǎng)教材,買書送名師,明日科技資深講師面對面授課。本課程依托人民郵電出版社自主開發(fā)的在線教育慕課平臺——人郵學(xué)院(www.rymooc.com),該平臺具有完備的在線“教、學(xué)、測”功能。人郵學(xué)院提供體系完整的100學(xué)時慕課教學(xué)視頻同步講解,即學(xué)即練的在線測試。書中附有188個微課視頻,掃一掃書中二維碼,便可隨時隨地學(xué)習(xí)。附贈300余道習(xí)題和自測題, PPT 課件、案例源代碼、自測試卷、拓展案例等豐富的配套資源。
作者多年在高校從事c語言的教學(xué)工作,具有豐富的教學(xué)經(jīng)驗(yàn),同時承擔(dān)了多項(xiàng)課題,參與了很多企業(yè)的程序開發(fā)工作,具有很強(qiáng)的程序開發(fā)能力,是雙師型教師。在我社出版的第一版教材獲得了較高的社會認(rèn)可。
第1章 C語言概述 1
1.1 C語言的發(fā)展史 2
1.1.1 程序語言簡述 2
1.1.2 C語言的歷史2
1.2 C語言的特點(diǎn) 3 1.3 一個簡單的C程序 3 1.4 一個完整的C程序 5 1.5 C語言程序的格式 8 1.6 開發(fā)環(huán)境 9 1.6.1 Dev C++ 9 1.6.2 Visual C++ 6.0 12 1.6.3 Visual Studio 2019 14 小結(jié) 16 上機(jī)指導(dǎo) 16 習(xí)題 17 第2章 算法 18 2.1 算法的基本概念 19 2.1.1 算法的特性 19 2.1.2 算法的優(yōu)劣 19 2.2 算法的描述 20 2.2.1 自然語言 20 2.2.2 流程圖 21 2.2.3 N-S流程圖 24 小結(jié) 25 上機(jī)指導(dǎo) 26 習(xí)題 26 第3章 數(shù)據(jù)類型 27 3.1 編程規(guī)范 28 3.2 關(guān)鍵字 28 3.3 標(biāo)識符 29 3.4 數(shù)據(jù)類型 30 3.5 常量 31 3.5.1 整型常量 31 3.5.2 實(shí)型常量 32 3.5.3 字符型常量 33 3.5.4 轉(zhuǎn)義字符 36 3.5.5 符號常量 36 3.6 變量 37 3.6.1 整型變量 37 3.6.2 實(shí)型變量 39 3.6.3 字符型變量 41 3.7 變量的存儲類別 42 3.7.1 auto變量 42 3.7.2 static變量 43 3.7.3 register變量 44 3.7.4 extern變量 44 3.8 混合運(yùn)算 45 小結(jié) 46 上機(jī)指導(dǎo) 47 習(xí)題 47 第4章 運(yùn)算符與表達(dá)式 48 4.1 表達(dá)式 49 4.2 賦值運(yùn)算符與賦值表達(dá)式 50 4.2.1 變量賦初值 50 4.2.2 自動類型轉(zhuǎn)換 52 4.2.3 強(qiáng)制類型轉(zhuǎn)換 52 4.3 算術(shù)運(yùn)算符與算術(shù)表達(dá)式 53 4.3.1 算術(shù)運(yùn)算符 54 3.3.2 算術(shù)表達(dá)式 54 4.3.3 優(yōu)先級與結(jié)合性 55 4.3.4 自增、自減運(yùn)算符 56 4.4 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 57 4.4.1 關(guān)系運(yùn)算符 58 4.4.2 關(guān)系表達(dá)式 58 4.4.3 優(yōu)先級與結(jié)合性 59 4.5 邏輯運(yùn)算符與邏輯表達(dá)式 60 4.5.1 邏輯運(yùn)算符 60 4.5.2 邏輯表達(dá)式 60 4.5.3 優(yōu)先級與結(jié)合性 60 4.6 位邏輯運(yùn)算符與位邏輯表達(dá)式 61 4.6.1 位邏輯運(yùn)算符 61 4.6.2 位邏輯表達(dá)式 62 4.7 逗號運(yùn)算符與逗號表達(dá)式 62 4.8 復(fù)合賦值運(yùn)算符 63 小結(jié) 64 上機(jī)指導(dǎo) 65 習(xí)題 66 第5章 常用的數(shù)據(jù)輸入/輸出函數(shù) 67 5.1 語句 68 5.2 字符數(shù)據(jù)輸入/輸出 68 5.2.1 字符數(shù)據(jù)輸出 68 5.2.2 字符數(shù)據(jù)輸入 69 5.3 字符串輸入/輸出 71 5.3.1 字符串輸出函數(shù) 71 5.3.2 字符串輸入函數(shù) 72 5.4 格式輸出函數(shù) 73 5.5 格式輸入函數(shù) 76 5.6 順序程序設(shè)計應(yīng)用 79 小結(jié) 81 上機(jī)指導(dǎo) 81 習(xí)題 81 第6章 選擇結(jié)構(gòu)程序設(shè)計 82 6.1 if語句 83 6.2 if語句的基本形式 83 6.2.1 if語句形式 83 6.2.2 if...else語句形式 85 6.2.3 else if語句形式 88 6.3 if的嵌套形式 91 6.4 條件運(yùn)算符 93 6.5 switch語句 95 6.5.1 switch語句的基本形式 95 6.5.2 多路開關(guān)模式的switch語句 98 6.6 if...else語句和switch語句的區(qū)別 100 6.7 選擇結(jié)構(gòu)程序應(yīng)用 101 小結(jié) 103 上機(jī)指導(dǎo) 103 習(xí)題 104 第7章 循環(huán)控制 105 7.1 循環(huán)語句 106 7.2 while語句 106 7.3 do...while語句 107 7.4 for語句 109 7.4.1 for語句使用 109 7.4.2 for循環(huán)的變體 111 7.4.3 for語句中的逗號應(yīng)用 112 7.5 3種循環(huán)語句的比較 113 7.6 循環(huán)嵌套 114 7.6.1 循環(huán)嵌套的結(jié)構(gòu) 114 7.6.2 循環(huán)嵌套實(shí)例 115 7.7 轉(zhuǎn)移語句 116 7.7.1 goto語句 116 7.7.2 break語句 118 7.7.3 continue語句 119 小結(jié) 120 上機(jī)指導(dǎo) 120 習(xí)題 120 第8章 數(shù)組 121 8.1 一維數(shù)組 122 8.1.1 一維數(shù)組的定義和引用 122 8.1.2 一維數(shù)組初始化 123 8.1.3 一維數(shù)組應(yīng)用 125 8.2 二維數(shù)組 126 8.2.1 二維數(shù)組的定義和引用 126 8.2.2 二維數(shù)組初始化 127 8.2.3 二維數(shù)組應(yīng)用 130 8.3 字符數(shù)組 131 8.3.1 字符數(shù)組的定義和引用 131 8.3.2 字符數(shù)組初始化 132 8.3.3 字符數(shù)組的結(jié)束標(biāo)志 133 8.3.4 字符數(shù)組的輸入和輸出 134 8.3.5 字符數(shù)組應(yīng)用 135 8.4 多維數(shù)組 136 8.5 數(shù)組的排序算法 136 8.5.1 選擇法排序 136 8.5.2 冒泡法排序 138 8.5.3 交換法排序 139 8.5.4 插入法排序 141 8.5.5 折半法排序 143 8.5.6 排序算法的比較 145 8.6 字符串處理函數(shù) 145 8.6.1 字符串復(fù)制 145 8.6.2 字符串連接 146 8.6.3 字符串比較 147 8.6.4 字符串大小寫轉(zhuǎn)換 148 8.6.5 獲得字符串長度 149 8.7 數(shù)組應(yīng)用 150 8.7.1 反轉(zhuǎn)輸出字符串 150 8.7.2 輸出系統(tǒng)日期和時間 151 8.7.3 字符串的加密和解密 153 小結(jié) 155 上機(jī)指導(dǎo) 155 習(xí)題 155 第9章 函數(shù) 156 9.1 函數(shù)概述 157 9.2 函數(shù)的定義 158 9.2.1 函數(shù)定義的形式 159 9.2.2 聲明與定義 160 9.3 返回語句 163 9.3.1 從函數(shù)返回 163 9.3.2 返回值 163 9.4 函數(shù)參數(shù) 165 9.4.1 形式參數(shù)與實(shí)際參數(shù) 165 9.4.2 數(shù)組作函數(shù)參數(shù) 166 9.4.3 main函數(shù)的參數(shù) 171 9.5 函數(shù)的調(diào)用 172 9.5.1 函數(shù)的調(diào)用方式 172 9.5.2 嵌套調(diào)用 175 9.5.3 遞歸調(diào)用 178 9.6 內(nèi)部函數(shù)和外部函數(shù) 179 9.6.1 內(nèi)部函數(shù) 180 9.6.2 外部函數(shù) 181 9.7 局部變量和全局變量 182 9.7.1 局部變量 182 9.7.2 全局變量 184 9.8 函數(shù)應(yīng)用 186 小結(jié) 190 上機(jī)指導(dǎo) 191 習(xí)題 191 第10章 指針 192 10.1 指針相關(guān)概念 193 10.1.1 地址與指針 193 10.1.2 變量與指針 193 10.1.3 指針變量 194 10.1.4 指針自加自減運(yùn)算 197 10.2 數(shù)組與指針 198 10.2.1 一維數(shù)組與指針 198 10.2.2 二維數(shù)組與指針 201 10.2.3 字符串與指針 204 10.2.4 字符串?dāng)?shù)組 205 10.3 指向指針的指針 207 10.4 指針變量作函數(shù)參數(shù) 209 10.5 返回指針值的函數(shù) 216 10.6 指針數(shù)組作main函數(shù)的參數(shù) 217 小結(jié) 219 上機(jī)指導(dǎo) 219 習(xí)題 219 第11章 結(jié)構(gòu)體和共用體 220 11.1 結(jié)構(gòu)體 221 11.1.1 結(jié)構(gòu)體類型的概念 221 11.1.2 結(jié)構(gòu)體變量的定義 222 11.1.3 結(jié)構(gòu)體變量的引用 223 11.1.4 結(jié)構(gòu)體類型變量的初始化 225 11.2 結(jié)構(gòu)體數(shù)組 226 11.2.1 定義結(jié)構(gòu)體數(shù)組 226 11.2.2 結(jié)構(gòu)體數(shù)組的初始化 227 11.3 結(jié)構(gòu)體指針 229 11.3.1 指向結(jié)構(gòu)體變量的指針 229 11.3.2 指向結(jié)構(gòu)體數(shù)組的指針 231 11.3.3 結(jié)構(gòu)體作為函數(shù)參數(shù) 233 11.4 包含結(jié)構(gòu)的結(jié)構(gòu) 235 11.5 鏈表 236 11.5.1 鏈表概述 236 11.5.2 創(chuàng)建動態(tài)鏈表 237 11.5.3 輸出鏈表 239 11.6 鏈表相關(guān)操作 242 11.6.1 鏈表的插入操作 242 11.6.2 鏈表的刪除操作 243 11.7 共用體 246 11.7.1 共用體的概念 246 11.7.2 共用體變量的引用 246 11.7.3 共用體變量的初始化 247 11.7.4 共用體類型的數(shù)據(jù)特點(diǎn) 248 11.8 枚舉類型 248 小結(jié) 249 上機(jī)指導(dǎo) 250 習(xí)題 250 第12章 位運(yùn)算 251 12.1 位與字節(jié) 252 12.2 位運(yùn)算操作符 252 12.2.1 “與”運(yùn)算符 252 12.2.2 “或”運(yùn)算符 253 12.2.3 “取反”運(yùn)算符 254 12.2.4 “異或”運(yùn)算符 255 12.2.5 “左移”運(yùn)算符 257 12.2.6 “右移”運(yùn)算符 258 12.3 循環(huán)移位 260 12.4 位段 261 12.4.1 位段的概念與定義 261 12.4.2 位段相關(guān)說明 262 小結(jié) 264 上機(jī)指導(dǎo) 264 習(xí)題 264 第13章 預(yù)處理 265 13.1 宏定義 266 13.1.1 不帶參數(shù)的宏定義 266 13.1.2 帶參數(shù)的宏定義 267 13.2 #include命令 268 13.3 條件編譯 269 13.3.1 #if命令 269 13.3.2 #ifdef及#ifndef命令 271 13.3.3 #undef命令 273 13.3.4 #line命令 273 13.3.5 #pragma命令 273 小結(jié) 274 上機(jī)指導(dǎo) 274 習(xí)題 275 第14章 文件 276 14.1 文件概述 277 14.2 文件基本操作 277 14.2.1 文件類型指針 277 14.2.2 文件的打開 278 14.2.3 文件的關(guān)閉 278 14.3 文件的讀寫 279 14.3.1 fputc函數(shù) 279 14.3.2 fgetc函數(shù) 279 14.3.3 fputs函數(shù) 280 14.3.4 fgets函數(shù) 281 14.3.5 fprintf函數(shù) 282 14.3.6 fscanf函數(shù) 283 14.3.7 fread和fwrite函數(shù) 284 14.4 文件的定位 286 14.4.1 fseek函數(shù) 286 14.4.2 rewind函數(shù) 287 14.4.3 ftell函數(shù) 288 小結(jié) 289 上機(jī)指導(dǎo) 289 習(xí)題 290 第15章 存儲管理 291 15.1 內(nèi)存組織方式 292 15.1.1 內(nèi)存的組織方式 292 15.1.2 堆與!292 15.2 動態(tài)管理 294 15.2.1 malloc函數(shù) 294 15.2.2 calloc函數(shù) 295 15.2.3 realloc函數(shù) 296 15.2.4 free函數(shù) 296 15.3 內(nèi)存丟失 297 小結(jié) 298 上機(jī)指導(dǎo) 298 習(xí)題 298 第16章 網(wǎng)絡(luò)套接字編程 299 16.1 內(nèi)存組織方式 300 16.1.1 IP地址 300 16.1.2 OSI七層參考模型 300 16.1.3 地址解析 301 16.1.4 域名系統(tǒng) 301 16.1.5 TCP/IP 302 16.1.6 端口 303 16.1.7 套接字的引入 303 16.1.8 網(wǎng)絡(luò)字節(jié)順序 304 16.2 套接字概述 304 16.2.1 套接字概述 304 16.2.2 TCP的套接字的socket編程 304 16.2.3 UDP的套接字的socket編程 305 16.3 套接字函數(shù) 30516.3.1 套接字函數(shù)介紹 306 16.3.2 基于TCP的網(wǎng)絡(luò)聊天程序 310 小結(jié) 315 上機(jī)指導(dǎo) 315 習(xí)題 315 第17章 綜合開發(fā)實(shí)例 ——趣味俄羅斯方塊 316 17.1 開發(fā)背景 317 17.2 系統(tǒng)功能設(shè)計 317 17.2.1 系統(tǒng)功能結(jié)構(gòu) 317 17.2.2 業(yè)務(wù)流程圖 317 17.3 使用Dev C++項(xiàng)目創(chuàng)建 318 17.3.1 開發(fā)環(huán)境需求 318 17.3.2 創(chuàng)建項(xiàng)目 318 17.4 預(yù)處理模塊設(shè)計 321 17.4.1 文件引用 321 17.4.2 宏定義 321 17.4.3 定義全局變量 321 17.4.4 函數(shù)聲明 322 17.5 游戲歡迎界面設(shè)計 322 17.5.1 游戲歡迎界面概述 322 17.5.2 設(shè)置文字顏色 323 17.5.3 設(shè)置文字顯示位置 324 17.5.4 設(shè)計標(biāo)題部分 324 17.5.5 設(shè)計字符花裝飾界面 326 17.5.6 設(shè)計菜單選項(xiàng)的邊框 327 17.5.7 設(shè)計菜單選項(xiàng)的文字 328 17.6 游戲主窗體設(shè)計 329 17.6.1 游戲主窗體設(shè)計概述 329 17.6.2 打印輸出游戲界面 329 17.6.3 繪制俄羅斯方塊 331 17.6.4 打印俄羅斯方塊 335 17.7 游戲邏輯設(shè)計 336 17.7.1 游戲邏輯概述 336 17.7.2 判斷俄羅斯方塊是否 可移動 336 17.7.3 清除俄羅斯方塊下落的 痕跡 337 17.7.4 判斷方塊是否滿行 338 17.7.5 隨機(jī)產(chǎn)生俄羅斯方塊 類型的序號 339 17.8 開始游戲 340 17.8.1 開始游戲模塊概述 340 17.8.2 顯示俄羅斯方塊 341 17.8.3 實(shí)現(xiàn)各種按鍵操作 342 17.8.4 游戲結(jié)束界面 346 17.8.5 重新開始游戲 347 17.9 游戲按鍵說明模塊 348 17.9.1 游戲按鍵說明簡介 348 17.9.2 按鍵說明界面的實(shí)現(xiàn) 348 17.10 游戲規(guī)則介紹模塊 349 17.10.1 游戲規(guī)則介紹 349 17.10.2 游戲規(guī)則介紹的實(shí)現(xiàn) 350 17.11 退出游戲 351 小結(jié) 352 第18章 綜合實(shí)例 —學(xué)生信息管理系統(tǒng) 353 18.1 開發(fā)背景 354 18.2 開發(fā)環(huán)境需求 354 18.3 系統(tǒng)功能設(shè)計 354 18.4 預(yù)處理模塊設(shè)計 354 18.5 主函數(shù)設(shè)計 355 18.5.1 功能概述 355 18.5.2 實(shí)現(xiàn)主函數(shù) 356 18.5.3 顯示主菜單 357 18.6 錄入學(xué)生信息 358 18.6.1 模塊概述 358 18.6.2 實(shí)現(xiàn)文件的打開和 關(guān)閉功能 358 18.6.3 實(shí)現(xiàn)錄入學(xué)生信息 359 18.7 查詢學(xué)生信息 361 18.7.1 模塊概述 361 18.7.2 查詢沒有記錄的文件 362 18.7.3 查找并打印學(xué)生信息 362 18.8 刪除學(xué)生信息 363 18.8.1 模塊概述 363 18.8.2 實(shí)現(xiàn)刪除學(xué)生信息 363 18.9 修改學(xué)生信息 364 18.9.1 模塊概述 364 18.9.2 實(shí)現(xiàn)修改學(xué)生信息 365 18.10 插入學(xué)生信息 366 18.10.1 模塊概述 36618.10.2 實(shí)現(xiàn)插入學(xué)生信息 367 18.11 學(xué)生成績排名 368 18.11.1 模塊概述 368 18.11.2 使用交換排序法實(shí)現(xiàn) 排序功能 369 18.11.3 實(shí)現(xiàn)學(xué)生成績排名 369 18.12 統(tǒng)計學(xué)生總數(shù) 370 18.12.1 模塊概述 370 18.12.2 實(shí)現(xiàn)統(tǒng)計學(xué)生總數(shù) 371 18.13 顯示所有學(xué)生信息 371 18.13.1 模塊概述 371 18.13.2 讀取并顯示所有學(xué)生 信息 372 小結(jié) 372 附錄 上機(jī)實(shí)驗(yàn) 373 實(shí)驗(yàn)1:Visual C++6.0的下載和安裝 373 實(shí)驗(yàn)2:計算某日是該年的第幾天 376 實(shí)驗(yàn)3:老師分糖果問題 377 實(shí)驗(yàn)4:求一元二次方程的根 378 實(shí)驗(yàn)5:求學(xué)生總成績和平均成績 379 實(shí)驗(yàn)6:模擬ATM機(jī)界面程序 379 實(shí)驗(yàn)7:猜數(shù)字游戲 382 實(shí)驗(yàn)8:使用數(shù)組統(tǒng)計學(xué)生成績 385 實(shí)驗(yàn)9:設(shè)計函數(shù)計算學(xué)生平均身高 386 實(shí)驗(yàn)10:使用指針交換兩個數(shù)組中的 最大值 386 實(shí)驗(yàn)11:設(shè)計通信錄 388 實(shí)驗(yàn)12:取出給定16位二進(jìn)制數(shù)的 奇數(shù)位 389 實(shí)驗(yàn)13:編寫頭文件包含圓面積的 計算公式 390 實(shí)驗(yàn)14:復(fù)制文件內(nèi)容到另一文件 391 實(shí)驗(yàn)15:商品信息的動態(tài)存放 392 實(shí)驗(yàn)16:利用UDP實(shí)現(xiàn)廣播通信 393
你還可能感興趣
我要評論
|