TOP
0
0
即日起~7/10,三民書局週年慶暖身活動,簽到拿好禮!
程序設計基礎(簡體書)
滿額折

程序設計基礎(簡體書)

商品資訊

人民幣定價:36 元
定價
:NT$ 216 元
優惠價
87188
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:5 點
相關商品
商品簡介
目次

商品簡介

《程序設計基礎》主要介紹C語言環 境下進行程序設計的基本思想、方法和技巧。本書共 12章,內容包 括程序設計概論、C語言概述、算術運算程序設計、邏 輯運算與流程控制、常用基礎算法與程序 設計、模塊化程序設計技術、批量數據處理程序設計 、文本信息處理程序設計、結構數據類型、 在磁盤上存取數據、位運算、編寫大型程序等。
《程序設計基礎》內容豐富、取材新穎、敘述通 俗易懂,可作為計算機及其他理工科各專業的程序設 計課 稗教材,也可作為編程愛好者的參考書。


“程序設計基礎”是一門理論與實踐相結合的普通理工科大學生計算機入門課程,在計算機學科的教學中具有十分重要的作用。本課程能夠培養學生運用程序設計語言求解問題的基本能力,讓學生了解高級程序設計語言的結構,掌握計算機問題求解的基本思想以及基本的程序設計過程和技巧,熟悉并適應計算機問題求解模式,即從描述問題、建立模型、設計算法到編寫程序、測試程序、分析結果的一系列過程,培養學生將問題抽象化,設計與選擇解決方案,以及用程序設計語言實現方案并進行測試和評價的能力。
目前,國內關于程序設計基礎的教材較多,按照教材內容的組織方式概括為兩種,或以語言知識為主線,或以程序設計為主線。以語言知識為主線的教材內容組織大多是以某個具體的程序設計語言(如C語言)知識及其自身體系為脈絡展開的,對語言語法知識的介紹較為細致,對程序設計思想方法的介紹較少,而且教材中所配程序是為了驗證和解釋語言的語法,學生使用這類教材后普遍反映掌握語法規則容易,編程應用困難。以程序設計為主線的教材,以算法為導向,重點介紹程序設計的思想與方法,對程序設計語言知識的介紹比較粗略,這類教材起點高,初學者使用起來比較困難。
本書在展示C語言強大程序設計功能的同時講授了程序設計的基本思想、方法和技巧。本書的特點如下:
1. C語言知識介紹方面的特點
(1) 從易到難,循序漸進。 C語言的各個主題順序是根據初學者的學習需求來安排的,用了比較多的篇幅從應用的角度講解C語言的基礎知識。第2~4章重點介紹C語言程序的基本結構、變量、指針、表達式、程序的基本流程控制結構,通過這3章內容的介紹,讀者能夠很快上手,并有能力編寫一些處理簡單數據結構問題的程序;第6章介紹函數的概念,以便讀者掌握模塊化程序設計的工具;第7~10章介紹復雜數據結構、用文件進行數據的存取等知識,以便讀者掌握處理復雜數據的方法;第11章介紹位運算的相關知識。
(2) 突出重點,詳略得當。C語言的語法比較龐雜,有些語句可以相互代替,有的語法應用較少。本書重點介紹基本的、常用的、不可或缺的C語言知識,而對一些非重點的C語言要素進行淡化處理。如本書帶“*”號的章節可作為自學內容。
(3) 分散難點,化難為易。指針既是C語言的重點,又是一個應用難點,它與變量、函數參數、數組、數組下標和字符串等概念密切相關,增加了C語言學習的難度。本書沒有設置專門的章節介紹指針,而是伴隨著變量、函數、數組等概念從不同角度來分散介紹指針,分解指針知識的教學難度,以便讀者能夠逐步掌握關于指針的知識,增加應用指針的機會。
2. 程序設計方面的特點
本書在程序設計思想、方法和技巧等方面采用直接介紹與隱含融入相結合的方式。
(1) 第1章直接介紹了程序設計方法的一些基礎知識,討論了問題求解與軟件開發之間的聯系,為讀者進行程序設計做了必要的鋪墊;第5章以常用算法為紐帶,實現邏輯思維與程序設計方法的有效融合,針對迭代策略、窮舉策略,以不同的有趣實例對算法進行綜合應用,讓讀者體驗程序設計的實現過程,既反映問題難度及求解規模上的變化,又彰顯知識和求解方法的多樣性。
(2) 將程序設計方法的講解融入到例題與案例中。書中的例題不是對事先編寫好的程序進行解釋,而是對例題采用啟發式的解決方式啟發讀者根據問題的描述對問題進行分析,從中找出解決問題的方法,進而設計算法,編寫程序代碼。
(3) 融入了過程抽象與數據抽象的概念。本書在第6~9章中融入了過程抽象與數據抽象的概念及方法,第12章對過程抽象與數據抽象進行了總結。
3. 其他方面的特點
(1) 幾乎每章都有一個案例,均可用該章所學的C語言知識及軟件開發方法來解決。案例采用逐步擴展、加入條件的方式,從描述問題、建立模型、設計算法、編寫程序等方面進行介紹,貼近實際,不斷地激發讀者對知識的探索欲望。
(2) 幾乎每章都有一節自學內容。自學內容主要討論常見的編程錯誤與查找錯誤的方法,介紹程序測試和調試的簡單方法與技巧。
(3) 例題盡可能地采用完整的程序或函數,很少使用不完整的程序片段。
(4) 程序編寫規范,風格良好。幾乎所有的程序都有緊扣主題、意義明確的注釋,用來說明程序或者程序段的功能和變量在程序中的含義與作用,以便引導讀者閱讀程序,使讀者養成良好的編程習慣。
本書第1章、第4~9章、第11章由李軍編寫,第2章由曹記東編寫,第3章由林勇編寫,第10章由魏佳編寫,第12章由郭天印編寫。全書由李軍策劃并最終統稿。李建忠教授審閱了本書,并提出了許多寶貴意見,在此表示衷心的感謝。
編者力圖在書中充分反映程序設計思想方法與C語言知識,使得二者并重,為初學者提供具有一定特色的教材,但由于編者水平有限,書中難免存在不妥之處,歡迎廣大讀者多提寶貴意見。


編 者
2013年10月

目次

第1章 程序設計概論 1
 1.1 問題求解的思維過程 1
 1.2 算法基礎 3
1.2.1 算法的概念及其特征 3
1.2.2 算法的基本結構 4
1.2.3 算法的描述方法 4
 1.3 數據結構基礎 6
 1.4 程序設計語言概述 8
1.4.1 程序設計語言的發展歷史 8
1.4.2 程序設計范型 11
1.4.3 過程型程序設計語言的語法元素 12
1.4.4 過程型程序設計語言的基本功能 13
 1.5 程序設計的一般過程 17
 1.6 程序的構建與運行 19
 習題1 21

第2章 C語言概述 22
 2.1 C語言程序的基本結構 22
2.1.1 結構單一的C程序 22
2.1.2 結構相對完整的C程序 24
2.1.3 對C程序的一般認識 26
 2.2 C語言的語法元素 26
2.2.1 字符集 26
2.2.2 標識符 27
2.2.3 定界符與間隔符 28
 2.3 數據類型與數據結構 28
2.3.1 數據類型 28
2.3.2 變量與常量 30
 2.4 運算與表達式 33
 2.5 可執行語句 34
 2.6 函數 35
 2.7 輸入/輸出操作與函數 36
2.7.1 格式化輸入/輸出函數 36
2.7.2 字符輸入/輸出函數 40
 *2.8 在Visual C++ 6.0下調試C程序 40
 習題2 44

第3章 算術運算程序設計 46
 3.1 變量的深度解析 46
3.1.1 變量賦初值 46
3.1.2 變量的訪問 47
 3.2 算術表達式求值 48
3.2.1 算術運算符 48
3.2.2 表達式的書寫 50
3.2.3 表達式的數據類型 52
3.2.4 表達式求值規則 55
 3.3 案例研究——求解一元二次方程 55
 3.4 變量地址與指針變量 57
3.4.1 變量的地址 57
3.4.2 簡單指針變量 58
3.4.3 指針變量的賦值 59
3.4.4 指針變量的引用 60
3.4.5 指針變量的初步應用 62
 *3.5 常見錯誤及其排除方法 64
3.5.1 語法錯誤 64
3.5.2 運行錯誤 66
3.5.3 邏輯錯誤 67
 習題3 67

第4章 邏輯運算與流程控制 70
 4.1 邏輯運算及其表達式 70
4.1.1 關系運算及其表達式 70
4.1.2 邏輯運算 71
4.1.3 各類運算符的優先級 72
 4.2 流程控制概述 73
 4.3 選擇控制結構 73
4.3.1 只有一路選擇方案的if語句 73
4.3.2 具有兩路選擇方案的if語句 75
4.3.3 多路選擇方案與if語句嵌套 76
 4.4 循環控制結構 81
4.4.1 計數循環與for語句 82
4.4.2 條件循環與while語句 84
4.4.3 條件循環與do-while語句 86
4.4.4 標志循環與交互式循環 87
4.4.5 流程控制結構的嵌套 89
 4.5 案例研究 90
4.5.1 選舉計票問題程序設計 90
4.5.2 快遞運費計價問題程序設計 92
 4.6 三個流程控制語句的使用 94
4.6.1 break語句 94
4.6.2 continue語句 95
4.6.3 switch語句 96
 *4.7 流程控制中的常見錯誤 97
4.7.1 等式運算符與賦值運算符的誤用 97
4.7.2 循環語句中的花括號問題 98
4.7.3 if語句與while語句的混淆問題 98
4.7.4 死循環與差1循環錯誤 99
4.7.5 其他常見錯誤 99
 習題4 100

第5章 常用基礎算法與程序設計 103
 5.1 基于迭代策略的問題求解 103
5.1.1 用遞推法求解問題 104
5.1.2 用倒推法求解問題 109
5.1.3 用迭代法求解高次方程 110
 5.2 基于窮舉策略的問題求解 112
5.2.1 窮舉法解方程組 113
5.2.2 求解數字與數值問題 115
5.2.3 求解邏輯問題 120
 *5.3 程序調試 122
5.3.1 常用的調試命令 123
5.3.2 動態調試的主要方法 123
 習題5 125

第6章 模塊化程序設計技術 126
 6.1 函數的定義及其原型聲明 126
6.1.1 函數的定義 126
6.1.2 函數原型聲明 128
 6.2 數據在函數中的傳遞方式 130
6.2.1 函數的調用方式 130
6.2.2 函數參數的傳遞方式 131
6.2.3 函數值的返回方式 132
6.2.4 函數中的自動局部變量 133
 6.3 函數與指針 134
6.3.1 用指針作為函數的形式參數 134
6.3.2 返回指針值的函數 136
6.3.3 指向函數的指針 137
 6.4 遞歸問題程序設計 139
 6.5 模塊化程序設計技術 142
6.5.1 使用函數的好處 142
6.5.2 模塊化程序設計方法 143
 6.6 案例研究——分數運算的解決方案 146
 *6.7 函數編程的常見錯誤與程序測試 151
6.7.1 函數編程的常見錯誤 151
6.7.2 程序測試 152
 習題6 153

第7章 批量數據處理程序設計 156
 7.1 一維數組 156
7.1.1 一維數組的定義和引用 156
7.1.2 一維數組的初始化與賦值 157
7.1.3 指向數組元素的指針 159
7.1.4 將一維數組傳遞給函數 163
 7.2 一維數組的應用 164
7.2.1 集合搜索 164
7.2.2 集合中元素的排序 168
 7.3 二維數組 170
7.3.1 二維數組的定義及引用 170
7.3.2 二維數組的初始化 171
7.3.3 二維數組與指向行元素的指針 172
7.3.4 二維數組作為函數參數 176
 7.4 二維數組的應用 178
7.4.1 矩陣的簡單運算 179
7.4.2 柵格數據處理 182
 7.5 案例研究——快遞費用核算解決方案 185
 7.6 動態創建數組 189
7.6.1 動態創建一維數組 189
7.6.2 動態創建二維數組 191
 *7.7 數組下標越界問題 192
 習題7 193

第8章 文本信息處理程序設計 199
 8.1 字符數組與字符串 199
8.1.1 字符數組 199
8.1.2 字符串 200
 8.2 字符串的輸入/輸出 201
8.2.1 字符串的格式化輸入/輸出 201
8.2.2 字符串的整行輸入/輸出 202
 8.3 對字符串的操作 202
8.3.1 兩個字符串的相互賦值 203
8.3.2 字符串長度的測定 204
8.3.3 字符串的比較 204
8.3.4 字符串的連接 205
8.3.5 字符串的搜索與定位 206
 8.4 案例研究——文本信息處理 208
 *8.5 字符分析與常見字符串編程錯誤 213
8.5.1 字符分析與轉換 213
8.5.2 常見字符串編程錯誤 213
 習題8 215

第9章 結構數據類型 218
 9.1 結構類型及結構體 218
9.1.1 結構類型的定義 218
9.1.2 結構體的定義及引用 220
9.1.3 結構體作為函數的參數及返回值 222
9.1.4 結構數組 224
9.1.5 指向結構類型的指針 226
 9.2 對結構類型的操作 229
9.2.1 用結構類型表示復數 230
9.2.2 對結構體進行輸入/輸出 232
9.2.3 對結構體進行比較運算 233
 9.3 鏈表 234
9.3.1 鏈表概述 234
9.3.2 動態創建鏈表 236
9.3.3 遍歷與查找鏈表 238
9.3.4 向鏈表中插入結點 239
9.3.5 從鏈表中刪除結點 241
9.3.6 鏈表的綜合操作 242
 9.4 案例研究——用結構類型改進快遞
費用結算方案 244
 *9.5 常見編程錯誤與共用類型 250
9.5.1 結構類型常見編程錯誤 250
9.5.2 共用類型 251
9.5.3 枚舉類型 254
 習題9 256

第10章 在磁盤上存取數據 259
 10.1 磁盤文件概述 259
10.1.1 文件的分類 259
10.1.2 文件名 259
10.1.3 文件控制塊與指針 260
10.1.4 文件緩沖區 261
 10.2 文件的打開與關閉 261
 10.3 對文本文件的操作 263
10.3.1 文本文件的存儲格式 263
10.3.2 對文本文件的讀寫操作 263
 10.4 對二進制文件的操作 267
 10.5 文件的隨機讀寫 271
 10.6 案例研究——快遞業務簡單數據庫
? 的建立 273
 *10.7 文件的常見編程錯誤 280
 習題10 281

第11章 位運算 283
 11.1 按位進行邏輯運算 283
11.1.1 位邏輯運算的概念 283
11.1.2 位運算的應用 285
 11.2 移位運算 289
11.2.1 移位運算的概念 289
11.2.2 移位運算的應用 290
 11. 3 位運算在加密/解密中的應用 290
 習題11 293

第12章 編寫大型程序 295
 12.1 復雜問題的抽象與分解 295
12.1.1 過程抽象 295
12.1.2 數據抽象 296
 12.2 個人函數庫的創建 296
12.2.1 頭文件 297
12.2.2 實現文件 298
 12.3 變量的存儲類別 299
12.3.1 extern聲明全局變量 300
12.3.2 auto變量 302
12.3.3 static變量 302
12.3.4 register變量 304
 12.4 條件編譯 305
 習題12 307

附錄A ASCII字符表 310

附錄B C語言庫函數 312

參考文獻 319

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 188
海外經銷商無庫存,到貨日平均30天至45天