注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)從問(wèn)題到程序:程序設(shè)計(jì)與C語(yǔ)言引論

從問(wèn)題到程序:程序設(shè)計(jì)與C語(yǔ)言引論

從問(wèn)題到程序:程序設(shè)計(jì)與C語(yǔ)言引論

定 價(jià):¥36.00

作 者: 裘宗燕編著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 重點(diǎn)大學(xué)計(jì)算機(jī)教材
標(biāo) 簽: C

ISBN: 9787111167563 出版時(shí)間: 2005-09-01 包裝: 膠版紙
開本: 24cm 頁(yè)數(shù): 415 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書以程序設(shè)計(jì)為基本線索,同時(shí)深入介紹了C語(yǔ)言各方面的情況。書中強(qiáng)調(diào)的是如何認(rèn)識(shí)程序、寫程序和用C寫出好的程序。并通過(guò)實(shí)例討論了問(wèn)題的分析和分解,找出主要步驟,確定函數(shù)抽象,找出循環(huán),選擇語(yǔ)言結(jié)構(gòu),最后寫出程序的過(guò)程。書中不少實(shí)例給出了在不同考慮下可能形成的多種解法,以幫助讀者理解程序設(shè)計(jì)的“真諦”。本書以C作為討論程序設(shè)計(jì)的語(yǔ)言,討論了基本程序設(shè)計(jì)的各方面問(wèn)題。書中給出程序?qū)嵗龝r(shí)沒(méi)有采用常見的“提出問(wèn)題,給出解答,再加些解釋”的簡(jiǎn)單三步形式,而是增加了許多對(duì)問(wèn)題的分析和討論,以幫助讀者認(rèn)識(shí)程序設(shè)計(jì)過(guò)程的實(shí)質(zhì),理解從問(wèn)題到程序的思考過(guò)程。書中還盡可能詳盡地解釋了許多與C語(yǔ)言和程序設(shè)計(jì)有關(guān)的問(wèn)題。本書適合作為高等院校計(jì)算機(jī)及相關(guān)專業(yè)的教材,也可供其他學(xué)習(xí)C程序設(shè)計(jì)語(yǔ)言的讀者閱讀。

作者簡(jiǎn)介

  裘宗燕,北京大學(xué)數(shù)學(xué)學(xué)院信息科學(xué)系教授。長(zhǎng)期從事計(jì)算機(jī)軟件與理論、程序設(shè)計(jì)語(yǔ)言和符號(hào)計(jì)算方面的研究和教學(xué)工作。已出版多部著作和譯著,包括《程序設(shè)計(jì)語(yǔ)言基礎(chǔ)》(譯著,北京大學(xué)出版社,1990),《Mathematica數(shù)學(xué)軟件系統(tǒng)的應(yīng)用與程序設(shè)計(jì)》(編著,北京大學(xué)出版社,1994),《計(jì)算概論(上)》(合著,高等教育出版社,1997),《從問(wèn)題到程序—程序設(shè)計(jì)與C語(yǔ)言引論》(編著,北京大學(xué)出版社,1999)等;自2000年以來(lái),他先后為機(jī)械工業(yè)出版社華章分社翻譯了《程序設(shè)計(jì)實(shí)踐》(2000),《C++程序設(shè)計(jì)語(yǔ)言(特別版)》(2001),《C++語(yǔ)言的設(shè)計(jì)和演化》(2002),《程序設(shè)計(jì)語(yǔ)言——概念和結(jié)構(gòu)》(2002),《從規(guī)范出發(fā)的程序設(shè)計(jì)》(2003),《計(jì)算機(jī)程序的構(gòu)造和解釋》(2004)等一系列經(jīng)典著作,他認(rèn)真的工作作風(fēng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,以及所做出的巨大貢獻(xiàn),贏得廣大讀者的好評(píng)。在北京大學(xué)教授的主要課程:計(jì)算概論(一年級(jí)本科生,主要內(nèi)容為C語(yǔ)言程序設(shè)計(jì)),程序設(shè)計(jì)技術(shù)與方法(本科生),程序設(shè)計(jì)語(yǔ)言原理(研究生),算法和數(shù)據(jù)結(jié)構(gòu)(本科生),算法設(shè)計(jì)與分析(本科生和研究生),數(shù)理邏輯(本科生)等。

圖書目錄

第1章  程序設(shè)計(jì)和C語(yǔ)言        1
1.1  程序和程序語(yǔ)言        1
1.2  C語(yǔ)言簡(jiǎn)介        8
1.3  一個(gè)簡(jiǎn)單的C程序        10
1.4  程序開發(fā)過(guò)程        13
1.5  問(wèn)題與程序設(shè)計(jì)        17
本章討論的重要概念        18
練習(xí)        18
第2章  數(shù)據(jù)對(duì)象與計(jì)算        21
2.1  基本字符、名字表示、標(biāo)識(shí)符和關(guān)鍵字        21
2.2  數(shù)據(jù)與類型        23
2.3  基本類型與數(shù)據(jù)表示        23
2.3.1  整數(shù)類型和整數(shù)的表示        23
2.3.2  實(shí)數(shù)類型和實(shí)數(shù)的表示        25
2.3.3  字符類型和字符的表示        26
2.3.4  數(shù)據(jù)的外部表示、內(nèi)部表示與轉(zhuǎn)換        27
2.4  運(yùn)算符、表達(dá)式與計(jì)算        30
2.4.1  算術(shù)運(yùn)算符        30
2.4.2  算術(shù)表達(dá)式        31
2.4.3  表達(dá)式的求值        32
2.4.4  計(jì)算和類型        34
2.5  數(shù)學(xué)函數(shù)庫(kù)及其使用        37
2.5.1  函數(shù)、函數(shù)調(diào)用        37
2.5.2  數(shù)學(xué)函數(shù)及其使用        38
2.5.3  函數(shù)調(diào)用中的類型轉(zhuǎn)換        39
問(wèn)題解釋        40
幾個(gè)常用程序模式        40
本章討論的重要概念        41
練習(xí)        41
第3章  變量、函數(shù)和控制結(jié)構(gòu)        43
3.1  語(yǔ)句、復(fù)合結(jié)構(gòu)        43
3.2  變量—概念、定義和使用        44
3.2.1  變量的定義        45
3.2.2  變量的賦值與取值        46
3.2.3  幾個(gè)問(wèn)題        48
3.3  定義函數(shù)(初步)        50
3.3.1  函數(shù)定義        52
3.3.2  函數(shù)和程序        55
3.3.3  函數(shù)與類型        56
3.3.4  自定義輸出函數(shù)        57
3.4  關(guān)系表達(dá)式、邏輯表達(dá)式、條件表達(dá)式        58
3.4.1  關(guān)系表達(dá)式和條件表達(dá)式        58
3.4.2  邏輯表達(dá)式        60
3.5  語(yǔ)句與控制結(jié)構(gòu)        61
3.5.1  條件語(yǔ)句(if語(yǔ)句)        62
3.5.2  循環(huán)語(yǔ)句(1):while語(yǔ)句        65
3.5.3  循環(huán)語(yǔ)句(2):for語(yǔ)句        68
3.6  若干常用結(jié)構(gòu)和問(wèn)題        70
3.6.1  增量和減量運(yùn)算符(++、--)        70
3.6.2  逗號(hào)運(yùn)算符        71
3.6.3  實(shí)現(xiàn)二元運(yùn)算符操作的賦值運(yùn)算符        71
3.6.4  空語(yǔ)句        72
3.6.5  表達(dá)式和求值        73
問(wèn)題解釋        74
幾個(gè)常用程序模式        74
本章討論的重要概念        75
練習(xí)        75
第4章  基本程序設(shè)計(jì)技術(shù)        79
4.1  循環(huán)程序設(shè)計(jì)        79
4.1.1  基本循環(huán)方式        80
4.1.2  求一系列完全平方數(shù)        81
4.1.3  判斷素?cái)?shù)(謂詞函數(shù))        82
4.1.4  艱難的旅程(浮點(diǎn)誤差)        83
4.1.5  求立方根(迭代和逼進(jìn))        85
4.1.6  求sin函數(shù)值(通項(xiàng)計(jì)算)        86
4.2  循環(huán)程序的問(wèn)題        87
4.2.1  從循環(huán)中退出        87
4.2.2  循環(huán)中的幾種變量        89
4.3  循環(huán)與遞歸        90
4.3.1  階乘和乘冪(循環(huán),遞歸)        90
4.3.2  Fibonacci序列(計(jì)算與時(shí)間)        93
4.3.3  為計(jì)算過(guò)程計(jì)時(shí)        94
4.3.4  Fibonacci序列的迭代計(jì)算(程序正確性與循環(huán)不變式)        95
4.3.5  最大公約數(shù)        97
4.3.6  河內(nèi)塔(梵塔)問(wèn)題        100
4.4  基本輸入輸出        102
4.4.1  格式輸入函數(shù)scanf        102
4.4.2  字符輸入輸出函數(shù)        109
4.4.3  輸入函數(shù)的返回值及其作用        112
4.5  控制結(jié)構(gòu)和控制語(yǔ)句        114
4.5.1  do-while循環(huán)結(jié)構(gòu)        114
4.5.2  流程控制語(yǔ)句        115
4.5.3  開關(guān)語(yǔ)句        117
4.6  程序設(shè)計(jì)實(shí)例        119
4.6.1  一個(gè)簡(jiǎn)單計(jì)算器        119
4.6.2  定義枚舉常量        119
4.6.3  單詞計(jì)數(shù)問(wèn)題        120
4.7  程序測(cè)試和排錯(cuò)        123
4.7.1  測(cè)試        123
4.7.2  白箱測(cè)試        124
4.7.3  黑箱測(cè)試        125
4.7.4  排除程序里的錯(cuò)誤        126
問(wèn)題解釋        127
幾個(gè)常用程序模式        128
本章討論的重要概念        128
練習(xí)        128
第5章  C程序結(jié)構(gòu)        133
5.1  數(shù)值類型        133
5.1.1  實(shí)數(shù)類型和整數(shù)類型        133
5.1.2  字符類型        133
5.1.3  整數(shù)類型        134
5.1.4  基本數(shù)據(jù)類型的選擇        135
5.2  函數(shù)和標(biāo)準(zhǔn)庫(kù)函數(shù)        136
5.2.1  C語(yǔ)言的庫(kù)函數(shù)        137
5.2.2  字符分類函數(shù)        137
5.2.3  隨機(jī)數(shù)生成函數(shù)        138
5.3  函數(shù)定義和程序的函數(shù)分解        139
5.3.1  主函數(shù)        140
5.3.2  程序的函數(shù)分解        141
5.3.3  對(duì)函數(shù)的兩種觀點(diǎn)        142
5.3.4  函數(shù)原型        146
5.4  C程序結(jié)構(gòu)與變量        149
5.4.1  外部定義的變量        150
5.4.2  作用域與生存期        151
5.4.3  外部變量和自動(dòng)變量        151
5.4.4  變量定義的嵌套        153
5.4.5  靜態(tài)局部變量        154
5.4.6  變量的其他問(wèn)題        155
5.4.7  一個(gè)實(shí)例        157
5.5  預(yù)處理        159
5.5.1  文件包含命令        159
5.5.2  宏定義與宏替換        160
5.5.3  條件編譯命令        163
5.6  定義常量        164
5.7  字位運(yùn)算符        165
5.8  編程實(shí)例        168
5.8.1  一個(gè)簡(jiǎn)單的猜數(shù)游戲        168
5.8.2  加密與解密        170
本章討論的重要概念        172
練習(xí)        172
第6章  數(shù)組        175
6.1  數(shù)組的概念、定義和使用        175
6.1.1  定義數(shù)組變量        176
6.1.2  數(shù)組的使用        177
6.1.3  數(shù)組的初始化        179
6.1.4  數(shù)組的存儲(chǔ)實(shí)現(xiàn)        180
6.2  數(shù)組程序?qū)嵗?nbsp;       181
6.2.1  從字符到下標(biāo)        181
6.2.2  篩法求素?cái)?shù)        182
6.2.3  成績(jī)分類        183
6.2.4  多項(xiàng)式求值        184
6.2.5  定義數(shù)組的問(wèn)題        185
6.3  數(shù)組作為函數(shù)參數(shù)        186
6.3.1  一個(gè)例子        186
6.3.2  修改實(shí)參數(shù)組的元素        188
6.4  字符數(shù)組與字符串        189
6.4.1  字符數(shù)組        189
6.4.2  字符串        189
6.4.3  程序?qū)嵗?nbsp;       191
6.4.4  標(biāo)準(zhǔn)庫(kù)字符串處理函數(shù)        193
6.4.5  輸出文本里的最長(zhǎng)行        194
6.5  兩維和多維數(shù)組        198
6.5.1  多維數(shù)組的初始化        198
6.5.2  多維數(shù)組的表示和使用        199
6.5.3  多維數(shù)組作為函數(shù)的參數(shù)        200
6.6  編程實(shí)例        201
6.6.1  成績(jī)直方圖        201
6.6.2  一個(gè)通用帶檢查的整數(shù)輸入函數(shù)        205
6.6.3  “計(jì)算”數(shù)組變量的大小        206
6.6.4  統(tǒng)計(jì)C程序里的關(guān)鍵字        208
6.6.5  數(shù)組的劃分        211
6.6.6  數(shù)組的排序        213
問(wèn)題解釋        215
幾個(gè)常用程序模式        215
本章討論的重要概念        215
練習(xí)        215
第7章  指針        217
7.1  地址與指針        217
7.2  指針變量的定義和使用        218
7.2.1  指針操作        218
7.2.2  指針作為函數(shù)的參數(shù)        219
7.2.3  與指針有關(guān)的一些問(wèn)題        222
7.3  指針與數(shù)組        224
7.3.1  指向數(shù)組元素的指針        224
7.3.2  基于指針運(yùn)算的數(shù)組程序設(shè)計(jì)        227
7.3.3  數(shù)組參數(shù)與指針        228
7.3.4  指針與數(shù)組操作的程序?qū)嵗?nbsp;       229
7.3.5  字符指針與字符數(shù)組        231
7.4  指針數(shù)組        233
7.4.1  指針數(shù)組與兩維數(shù)組        234
7.4.2  命令行參數(shù)及其處理        235
7.5  多維數(shù)組作為參數(shù)的通用函數(shù)        238
7.6  動(dòng)態(tài)存儲(chǔ)管理        240
7.6.1  為什么需要?jiǎng)討B(tài)存儲(chǔ)管理        240
7.6.2  C語(yǔ)言的動(dòng)態(tài)存儲(chǔ)管理機(jī)制        241
7.6.3  兩個(gè)程序?qū)嵗?nbsp;       244
7.6.4  函數(shù)、指針和動(dòng)態(tài)存儲(chǔ)        247
7.7  定義類型        250
7.7.1  定義數(shù)組類型和指針類型        251
7.7.2  復(fù)雜類型描述與解讀        252
7.8  指向函數(shù)的指針        254
7.8.1  函數(shù)指針的定義和使用        254
7.8.2  函數(shù)指針作為函數(shù)的參數(shù)        255
7.8.3  數(shù)值積分函數(shù)        257
7.8.4  若干以函數(shù)指針為參數(shù)的數(shù)組操作實(shí)用函數(shù)        259
幾個(gè)常用程序模式        260
本章討論的重要概念        260
練習(xí)        261
第8章  文件和輸入輸出        263
8.1  文件的概念        263
8.1.1  流和文件指針        263
8.1.2  緩沖式輸入輸出        264
8.2  文件的使用        265
8.2.1  文件的打開和關(guān)閉        265
8.2.2  輸入輸出函數(shù)        267
8.2.3  程序?qū)嵗?nbsp;       268
8.2.4  直接輸入輸出函數(shù)        270
8.3  標(biāo)準(zhǔn)流輸入輸出與格式控制        271
8.3.1  行式輸入和輸出        271
8.3.2  輸入格式控制        272
8.3.3  輸出格式控制        276
8.3.4  以字符串作為格式化輸入輸出對(duì)象        278
8.3.5  標(biāo)準(zhǔn)錯(cuò)誤流        278
8.4  程序?qū)嵗?nbsp;       279
8.4.1  求文件數(shù)據(jù)的平均值        279
8.4.2  一個(gè)背單詞程序        281
8.4.3  資金賬目系統(tǒng)        285
練習(xí)        288
第9章  結(jié)構(gòu)和其他數(shù)據(jù)機(jī)制        291
9.1  結(jié)構(gòu)(struct)        291
9.1.1  結(jié)構(gòu)聲明與變量定義        291
9.1.2  結(jié)構(gòu)變量的初始化和使用        296
9.1.3  結(jié)構(gòu)、數(shù)組與指針        297
9.2  結(jié)構(gòu)與函數(shù)        299
9.2.1  處理結(jié)構(gòu)的函數(shù)        299
9.2.2  程序?qū)嵗?nbsp;       302
9.3  聯(lián)合(union)        306
9.4  枚舉(enum)        308
9.5  編程實(shí)例        310
9.5.1  數(shù)據(jù)組的排序        310
9.5.2  復(fù)數(shù)的表示和處理        312
9.6  鏈接結(jié)構(gòu)(自引用結(jié)構(gòu))        315
9.6.1  鏈接結(jié)構(gòu)        315
9.6.2  自引用結(jié)構(gòu)的定義        317
9.6.3  程序?qū)崿F(xiàn)        318
9.6.4  數(shù)據(jù)與查找        321
9.7  字段        322
問(wèn)題解釋        323
本章討論的重要概念        323
練習(xí)        323
第10章  程序開發(fā)技術(shù)        327
10.1  分別編譯和C程序的分塊開發(fā)        327
10.1.1  分塊開發(fā)的問(wèn)題和方法        327
10.1.2  程序?qū)嵗簩W(xué)生成績(jī)處理        328
10.1.3  分塊重整        333
10.1.4  其他安排和考慮        336
10.1.5  模塊化思想和技術(shù)        338
10.1.6  單一頭文件結(jié)構(gòu)和多個(gè)頭文件結(jié)構(gòu)        342
10.2  功能模塊和程序庫(kù)        345
10.2.1  復(fù)數(shù)模塊        345
10.2.2  目標(biāo)文件和庫(kù)        348
10.2.3  防止重復(fù)包含        349
10.3  錯(cuò)誤報(bào)告和處理        349
10.3.1  建立統(tǒng)一的錯(cuò)誤報(bào)告機(jī)制        349
10.3.2  定義變參數(shù)的錯(cuò)誤報(bào)告函數(shù)        350
10.3.3  運(yùn)行中錯(cuò)誤的檢查和處理        352
10.4  程序的配置        358
10.4.1  程序的行為參數(shù)和啟動(dòng)時(shí)的配置        358
10.4.2  交互式配置        360
10.4.3  通過(guò)命令行參數(shù)        361
10.4.4  采用配置文件        362
10.5  程序開發(fā)過(guò)程        362
10.5.1  自上而下的開發(fā)        363
10.5.2  自下而上的開發(fā)        365
10.5.3  實(shí)際開發(fā)過(guò)程        365
練習(xí)        367
第11章  標(biāo)準(zhǔn)庫(kù)        371
11.1  標(biāo)準(zhǔn)庫(kù)結(jié)構(gòu)        371
11.1.1  標(biāo)準(zhǔn)定義(<stddef.h>)        372
11.1.2  錯(cuò)誤信息(<errno.h>)        372
11.2  幾個(gè)已經(jīng)介紹過(guò)的頭文件        373
11.2.1  數(shù)學(xué)函數(shù)(<math.h>)        373
11.2.2  字符處理函數(shù)(<ctype.h>)        374
11.3  字符串函數(shù)(<string.h>)        375
11.3.1  一些字符串函數(shù)        375
11.3.2  存儲(chǔ)區(qū)操作        378
11.4  功能函數(shù)(<stdlib.h>)        379
11.4.1  幾個(gè)整數(shù)函數(shù)        380
11.4.2  數(shù)值轉(zhuǎn)換        380
11.4.3  執(zhí)行控制        381
11.4.4  與執(zhí)行環(huán)境交互        381
11.4.5  常用函數(shù)bsearch和qsort        382
11.5  日期和時(shí)間(<time.h>)        383
11.6  實(shí)現(xiàn)特征(<limits.h>和<float.h>)        385
11.6.1  整數(shù)類型特征        385
11.6.2  浮點(diǎn)數(shù)類型特征        386
11.7  其他與輸入輸出有關(guān)的函數(shù)(<stdio.h>)        386
11.7.1  符號(hào)常量和類型        386
11.7.2  文件操作函數(shù)        387
11.7.3  流緩沖區(qū)操作函數(shù)        388
11.7.4  文件定位及定位函數(shù)        389
11.7.5  其他有關(guān)函數(shù)        390
11.7.6  采用va_list參數(shù)的輸出函數(shù)        391
11.8  定義變長(zhǎng)度參數(shù)表(<stdarg.h>)        392
11.9  非局部控制轉(zhuǎn)移(<setjmp.h>)        395
11.10  調(diào)試斷言和信號(hào)處理(<assert.h>和<signal.h>)        397
11.11  標(biāo)準(zhǔn)庫(kù)的其他功能        398
11.11.1  本地化        398
11.11.2  多字節(jié)字符        400
本章討論的重要概念        400
練習(xí)        400
附錄A  C語(yǔ)言運(yùn)算符表        401
附錄B  C語(yǔ)言速查        403
附錄C  C99簡(jiǎn)介        409
進(jìn)一步學(xué)習(xí)的建議        413
參考文獻(xiàn)        416

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)