程序設(shè)計(jì)與問(wèn)題求解(C語(yǔ)言)
定 價(jià):59.8 元
- 作者:劉杰 鞠成東 郭江鴻
- 出版時(shí)間:2022/2/1
- ISBN:9787115586391
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):TP312.8
- 頁(yè)碼:0
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)為適應(yīng)新工科復(fù)合型人才對(duì)計(jì)算思維和問(wèn)題求解能力的要求而編寫(xiě)。全書(shū)共12章,主要內(nèi)容包括:計(jì)算思維與問(wèn)題求解,數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式,簡(jiǎn)單的C程序設(shè)計(jì),選擇結(jié)構(gòu)程序設(shè)計(jì),循環(huán)結(jié)構(gòu)程序設(shè)計(jì),函數(shù),數(shù)組,常用算法,指針,結(jié)構(gòu)體,文件系統(tǒng)和人工智能經(jīng)典算法。本教材兼顧計(jì)算思維與程序設(shè)計(jì)基礎(chǔ)知識(shí),注重問(wèn)題抽象,通過(guò)問(wèn)題案例分析,逐步給出問(wèn)題求解算法與程序?qū)崿F(xiàn),引導(dǎo)讀者的算法思維和程序設(shè)計(jì)思維。通過(guò)“常用算法”和“人工智能經(jīng)典算法”兩章,進(jìn)一步拓展讀者問(wèn)題求解思維,提高讀者解決復(fù)雜專(zhuān)業(yè)領(lǐng)域問(wèn)題的能力。
本書(shū)適合作為計(jì)算機(jī)專(zhuān)業(yè)和非計(jì)算機(jī)專(zhuān)業(yè)的計(jì)算思維課程、程序設(shè)計(jì)課程的教材,也適合作為高年級(jí)本科生、從事人工智能等相關(guān)行業(yè)的技術(shù)人員及廣大程序設(shè)計(jì)愛(ài)好者的參考書(shū)籍。
所有的程序均在計(jì)算機(jī)上調(diào)試通過(guò)。
文字嚴(yán)謹(jǐn)、流暢,例題豐富,文檔規(guī)范,注重程序設(shè)計(jì)技能訓(xùn)練。
本書(shū)適合作為計(jì)算機(jī)專(zhuān)業(yè)和非計(jì)算機(jī)專(zhuān)業(yè)的計(jì)算思維課程、程序設(shè)計(jì)課程的教材,也適合作為高年級(jí)本科生、從事人工智能等相關(guān)行業(yè)的技術(shù)人員及廣大程序設(shè)計(jì)愛(ài)好者的參考書(shū)籍。
劉杰,現(xiàn)任計(jì)算機(jī)與信息科學(xué)系主任、計(jì)算機(jī)軟件教學(xué)團(tuán)隊(duì)主任、黑龍江省計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)教育與培訓(xùn)專(zhuān)委會(huì)委員、中國(guó)計(jì)算機(jī)學(xué)會(huì)會(huì)員等。主持或參與各類(lèi)科研項(xiàng)目40余項(xiàng),獲省部級(jí)科技進(jìn)步獎(jiǎng)七項(xiàng),發(fā)表論文近四十篇,著作三部。在教學(xué)研究方面,獲省級(jí)教學(xué)成果一等獎(jiǎng)一項(xiàng)、二等獎(jiǎng)一項(xiàng)。作為項(xiàng)目負(fù)責(zé)人主持研發(fā)的“高校實(shí)驗(yàn)室綜合管理系統(tǒng)”,通過(guò)省教委主持的鑒定,在多所高校推廣應(yīng)用,并申報(bào)國(guó)家級(jí)教學(xué)成果獎(jiǎng)。
目 錄
第 1章 計(jì)算思維與問(wèn)題求解 1
1.1 計(jì)算思維與程序設(shè)計(jì) 1
1.2 計(jì)算機(jī)問(wèn)題求解的靈魂——算法 2
1.2.1 算法及其特性 2
1.2.2 算法表示方法 3
1.3 程序設(shè)計(jì)中的數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu) 6
1.4 計(jì)算機(jī)問(wèn)題求解的步驟 7
1.4.1 求解問(wèn)題的一般步驟 7
1.4.2 C語(yǔ)言程序開(kāi)發(fā)步驟 9
1.5 C語(yǔ)言程序結(jié)構(gòu)及實(shí)例 11
1.5.1 C程序構(gòu)成 11
1.5.2 C編程風(fēng)格 12
第 2章 數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 13
2.1 程序舉例 13
2.2 常量與變量 14
2.2.1 常量 14
2.2.2 變量 15
2.3 數(shù)據(jù)類(lèi)型的一般概念 15
2.4 整型數(shù)據(jù) 16
2.4.1 整型變量 16
2.4.2 整型常量 19
2.5 實(shí)型數(shù)據(jù) 19
2.5.1 實(shí)型變量 20
2.5.2 實(shí)型常量 20
2.6 字符型數(shù)據(jù) 21
2.6.1 字符型常量 21
2.6.2 字符型變量 22
2.6.3 字符串常量 23
2.7 變量賦初值 24
2.8 不同數(shù)據(jù)類(lèi)型數(shù)據(jù)間的混合運(yùn)算 24
2.8.1 自動(dòng)轉(zhuǎn)換 24
2.8.2 強(qiáng)制轉(zhuǎn)換 25
2.9 運(yùn)算符和表達(dá)式 26
2.9.1 概述 26
2.9.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 26
2.9.3 自增、自減運(yùn)算符 27
2.9.4 賦值運(yùn)算符和賦值表達(dá)式 28
2.9.5 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 29
2.10 習(xí)題 30
第3章 簡(jiǎn)單的C程序設(shè)計(jì) 32
3.1 賦值語(yǔ)句 32
3.2 數(shù)據(jù)的輸入輸出 33
3.2.1 字符數(shù)據(jù)的輸入輸出 34
3.2.2 格式輸入與格式輸出 36
3.3 綜合應(yīng)用實(shí)例 46
3.4 智能算法能力拓展 48
3.5 習(xí)題 51
第4章 選擇結(jié)構(gòu)程序設(shè)計(jì) 52
4.1 if語(yǔ)句的基本形式 52
4.1.1 if單分支結(jié)構(gòu) 52
4.1.2 if雙分支結(jié)構(gòu) 53
4.2 if語(yǔ)句的表達(dá)式 55
4.2.1 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 55
4.2.2 邏輯運(yùn)算符和邏輯表達(dá)式 56
4.2.3 關(guān)于if語(yǔ)句條件判斷 60
4.3 多分支選擇結(jié)構(gòu) 61
4.3.1 if多分支結(jié)構(gòu) 61
4.3.2 switch語(yǔ)句 64
4.4 if語(yǔ)句的嵌套結(jié)構(gòu)及條件表達(dá)式概念 68
4.4.1 if嵌套結(jié)構(gòu) 68
4.4.2 條件表達(dá)式 71
4.5 綜合應(yīng)用實(shí)例 73
4.6 智能算法能力拓展 77
4.7 習(xí)題 78
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 79
5.1 while循環(huán) 79
5.1.1 while循環(huán)結(jié)構(gòu) 79
5.1.2 while循環(huán)實(shí)例解析 79
5.2 for循環(huán) 80
5.2.1 for循環(huán)結(jié)構(gòu) 80
5.2.2 for循環(huán)實(shí)例解析 81
5.3 do-while循環(huán) 82
5.3.1 do-while循環(huán)結(jié)構(gòu) 82
5.3.2 do-while循環(huán)實(shí)例解析 82
5.4 循環(huán)的嵌套 83
5.5 循環(huán)結(jié)構(gòu)的討論 84
5.5.1 while循環(huán)、for循環(huán)和do-while循環(huán)的比較 84
5.5.2 提前終止循環(huán)break語(yǔ)句 85
5.5.3 提前結(jié)束本次循環(huán)continue語(yǔ)句 85
5.6 綜合應(yīng)用實(shí)例 86
5.7 習(xí)題 89
第6章 數(shù)組 92
6.1 成組數(shù)據(jù)處理問(wèn)題實(shí)例及解決方法 92
6.2 一維數(shù)組的定義與引用 93
6.2.1 一維數(shù)組的定義 93
6.2.2 一維數(shù)組元素的引用 93
6.2.3 一維數(shù)組的初始化 93
6.3 二維數(shù)組的定義與引用 94
6.3.1 二維數(shù)組的定義 94
6.3.2 二維數(shù)組元素的引用 95
6.3.3 二維數(shù)組的初始化 95
6.4 字符數(shù)組的定義與引用 97
6.4.1 字符數(shù)組的初始化 97
6.4.2 字符串和字符串結(jié)束標(biāo)志 97
6.4.3 字符數(shù)組的輸入輸出 98
6.4.4 字符串處理函數(shù) 98
6.5 綜合應(yīng)用實(shí)例 100
6.6 智能算法能力拓展 106
6.7 習(xí)題 109
第7章 函數(shù) 113
7.1 模塊化程序設(shè)計(jì)與C函數(shù) 113
7.2 函數(shù)定義和函數(shù)說(shuō)明 114
7.2.1 函數(shù)的定義 114
7.2.2 函數(shù)的說(shuō)明 116
7.3 函數(shù)的參數(shù)和返回值 117
7.3.1 形式參數(shù)和實(shí)際參數(shù) 117
7.3.2 函數(shù)的返回值 119
7.4 函數(shù)調(diào)用 120
7.4.1 函數(shù)調(diào)用的一般形式 120
7.4.2 函數(shù)的嵌套調(diào)用 122
7.4.3 函數(shù)的遞歸調(diào)用 122
7.5 數(shù)組作為函數(shù)參數(shù) 125
7.5.1 數(shù)組元素做函數(shù)實(shí)參 125
7.5.2 數(shù)組名作為函數(shù)參數(shù) 126
7.6 變量的作用域 128
7.6.1 局部變量 128
7.6.2 全局變量 129
7.7 變量的存儲(chǔ)類(lèi)別 130
7.7.1 自動(dòng)變量 131
7.7.2 寄存器變量 132
7.7.3 外部變量 132
7.7.4 靜態(tài)變量 133
7.8 內(nèi)部函數(shù)和外部函數(shù) 134
7.8.1 內(nèi)部函數(shù) 134
7.8.2 外部函數(shù) 134
7.9 綜合應(yīng)用實(shí)例 134
7.10 智能算法能力拓展 138
7.11 習(xí)題 140
第8章 常用算法 142
8.1 窮舉法 142
8.2 分治法 144
8.3 遞推法 145
8.4 遞歸法 147
8.5 迭代法 148
8.6 貪心算法 149
8.7 回溯法 151
8.8 動(dòng)態(tài)規(guī)劃算法 153
8.9 智能算法能力拓展 154
第9章 指針 156
9.1 指針的引入 156
9.2 內(nèi)存數(shù)據(jù)的訪(fǎng)問(wèn)方式 158
9.3 指針變量的定義及其基本使用 160
9.3.1 指針變量的定義 160
9.3.2 指針變量的基本使用方法 161
9.4 指針作函數(shù)的參數(shù) 163
9.5 指針變量的各種應(yīng)用 166
9.5.1 指針與數(shù)組 166
9.5.2 指針與字符串 169
9.6 使用指針的算法分析和設(shè)計(jì) 173
9.6.1 使用指針處理數(shù)組 173
9.6.2 使用指針處理字符串 177
9.6.3 使用指針作參數(shù)傳遞一組數(shù)據(jù) 180
9.7 綜合應(yīng)用實(shí)例 185
9.8 習(xí)題 191
第 10章 結(jié)構(gòu)體 193
10.1 定義結(jié)構(gòu)體類(lèi)型 193
10.2 定義結(jié)構(gòu)體類(lèi)型變量 194
10.3 結(jié)構(gòu)體變量的引用 195
10.4 結(jié)構(gòu)體變量的初始化 196
10.5 結(jié)構(gòu)體數(shù)組 197
10.5.1 結(jié)構(gòu)體數(shù)組的定義 197
10.5.2 結(jié)構(gòu)體數(shù)組的引用 198
10.6 結(jié)構(gòu)體類(lèi)型的變量作為函數(shù)參數(shù) 199
10.6.1 結(jié)構(gòu)體成員做函數(shù)參數(shù) 199
10.6.2 結(jié)構(gòu)體變量做函數(shù)參數(shù) 200
10.7 結(jié)構(gòu)體指針變量 201
10.8 用指針處理鏈表 202
10.9 綜合應(yīng)用實(shí)例 205
10.10 智能算法能力拓展 208
10.11 習(xí)題 210
第 11章 文件系統(tǒng) 211
11.1 文件概述 211
11.2 文件的打開(kāi)與關(guān)閉 213
11.2.1 文件的打開(kāi) 213
11.2.2 文件的關(guān)閉 214
11.3 文件的讀寫(xiě) 214
11.3.1 文件尾測(cè)試函數(shù) 214
11.3.2 文件的字符讀/寫(xiě)函數(shù) 214
11.3.3 文件的字符串讀/寫(xiě)函數(shù) 216
11.3.4 文件的數(shù)據(jù)塊讀寫(xiě)函數(shù) 216
11.3.5 文件的格式讀寫(xiě)函數(shù) 217
11.4 文件定位 217
11.4.1 文件頭定位函數(shù)rewind( ) 217
11.4.2 改變文件位置指針函數(shù)fseek( ) 218
11.5 綜合應(yīng)用實(shí)例 218
11.6 智能算法能力拓展 220
11.7 習(xí)題 221
第 12章 人工智能經(jīng)典算法 223
12.1 概述 223
12.2 K-Means聚類(lèi)算法 224
12.2.1 問(wèn)題背景與知識(shí)簡(jiǎn)介 224
12.2.2 數(shù)學(xué)原理與算法 225
12.2.3 應(yīng)用領(lǐng)域與拓展學(xué)習(xí) 229
12.3 K最近鄰算法 230
12.3.1 問(wèn)題背景與知識(shí)簡(jiǎn)介 230
12.3.2 數(shù)學(xué)原理與算法 230
12.3.3 應(yīng)用領(lǐng)域與拓展學(xué)習(xí) 234
12.4 樸素貝葉斯分類(lèi)算法 235
12.4.1 問(wèn)題背景與知識(shí)簡(jiǎn)介 235
12.4.2 數(shù)學(xué)原理與算法 236
12.4.3 應(yīng)用領(lǐng)域與拓展學(xué)習(xí) 239
參考文獻(xiàn) 243