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

從問題到程序:程序設(shè)計與C語言引論

從問題到程序:程序設(shè)計與C語言引論

定 價:¥36.00

作 者: 裘宗燕編著
出版社: 機械工業(yè)出版社
叢編項: 重點大學計算機教材
標 簽: C

ISBN: 9787111167563 出版時間: 2005-09-01 包裝: 膠版紙
開本: 24cm 頁數(shù): 415 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1章  程序設(shè)計和C語言        1
1.1  程序和程序語言        1
1.2  C語言簡介        8
1.3  一個簡單的C程序        10
1.4  程序開發(fā)過程        13
1.5  問題與程序設(shè)計        17
本章討論的重要概念        18
練習        18
第2章  數(shù)據(jù)對象與計算        21
2.1  基本字符、名字表示、標識符和關(guān)鍵字        21
2.2  數(shù)據(jù)與類型        23
2.3  基本類型與數(shù)據(jù)表示        23
2.3.1  整數(shù)類型和整數(shù)的表示        23
2.3.2  實數(shù)類型和實數(shù)的表示        25
2.3.3  字符類型和字符的表示        26
2.3.4  數(shù)據(jù)的外部表示、內(nèi)部表示與轉(zhuǎn)換        27
2.4  運算符、表達式與計算        30
2.4.1  算術(shù)運算符        30
2.4.2  算術(shù)表達式        31
2.4.3  表達式的求值        32
2.4.4  計算和類型        34
2.5  數(shù)學函數(shù)庫及其使用        37
2.5.1  函數(shù)、函數(shù)調(diào)用        37
2.5.2  數(shù)學函數(shù)及其使用        38
2.5.3  函數(shù)調(diào)用中的類型轉(zhuǎn)換        39
問題解釋        40
幾個常用程序模式        40
本章討論的重要概念        41
練習        41
第3章  變量、函數(shù)和控制結(jié)構(gòu)        43
3.1  語句、復合結(jié)構(gòu)        43
3.2  變量—概念、定義和使用        44
3.2.1  變量的定義        45
3.2.2  變量的賦值與取值        46
3.2.3  幾個問題        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)系表達式、邏輯表達式、條件表達式        58
3.4.1  關(guān)系表達式和條件表達式        58
3.4.2  邏輯表達式        60
3.5  語句與控制結(jié)構(gòu)        61
3.5.1  條件語句(if語句)        62
3.5.2  循環(huán)語句(1):while語句        65
3.5.3  循環(huán)語句(2):for語句        68
3.6  若干常用結(jié)構(gòu)和問題        70
3.6.1  增量和減量運算符(++、--)        70
3.6.2  逗號運算符        71
3.6.3  實現(xiàn)二元運算符操作的賦值運算符        71
3.6.4  空語句        72
3.6.5  表達式和求值        73
問題解釋        74
幾個常用程序模式        74
本章討論的重要概念        75
練習        75
第4章  基本程序設(shè)計技術(shù)        79
4.1  循環(huán)程序設(shè)計        79
4.1.1  基本循環(huán)方式        80
4.1.2  求一系列完全平方數(shù)        81
4.1.3  判斷素數(shù)(謂詞函數(shù))        82
4.1.4  艱難的旅程(浮點誤差)        83
4.1.5  求立方根(迭代和逼進)        85
4.1.6  求sin函數(shù)值(通項計算)        86
4.2  循環(huá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序列(計算與時間)        93
4.3.3  為計算過程計時        94
4.3.4  Fibonacci序列的迭代計算(程序正確性與循環(huán)不變式)        95
4.3.5  最大公約數(shù)        97
4.3.6  河內(nèi)塔(梵塔)問題        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)和控制語句        114
4.5.1  do-while循環(huán)結(jié)構(gòu)        114
4.5.2  流程控制語句        115
4.5.3  開關(guān)語句        117
4.6  程序設(shè)計實例        119
4.6.1  一個簡單計算器        119
4.6.2  定義枚舉常量        119
4.6.3  單詞計數(shù)問題        120
4.7  程序測試和排錯        123
4.7.1  測試        123
4.7.2  白箱測試        124
4.7.3  黑箱測試        125
4.7.4  排除程序里的錯誤        126
問題解釋        127
幾個常用程序模式        128
本章討論的重要概念        128
練習        128
第5章  C程序結(jié)構(gòu)        133
5.1  數(shù)值類型        133
5.1.1  實數(shù)類型和整數(shù)類型        133
5.1.2  字符類型        133
5.1.3  整數(shù)類型        134
5.1.4  基本數(shù)據(jù)類型的選擇        135
5.2  函數(shù)和標準庫函數(shù)        136
5.2.1  C語言的庫函數(shù)        137
5.2.2  字符分類函數(shù)        137
5.2.3  隨機數(shù)生成函數(shù)        138
5.3  函數(shù)定義和程序的函數(shù)分解        139
5.3.1  主函數(shù)        140
5.3.2  程序的函數(shù)分解        141
5.3.3  對函數(shù)的兩種觀點        142
5.3.4  函數(shù)原型        146
5.4  C程序結(jié)構(gòu)與變量        149
5.4.1  外部定義的變量        150
5.4.2  作用域與生存期        151
5.4.3  外部變量和自動變量        151
5.4.4  變量定義的嵌套        153
5.4.5  靜態(tài)局部變量        154
5.4.6  變量的其他問題        155
5.4.7  一個實例        157
5.5  預處理        159
5.5.1  文件包含命令        159
5.5.2  宏定義與宏替換        160
5.5.3  條件編譯命令        163
5.6  定義常量        164
5.7  字位運算符        165
5.8  編程實例        168
5.8.1  一個簡單的猜數(shù)游戲        168
5.8.2  加密與解密        170
本章討論的重要概念        172
練習        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ù)組的存儲實現(xiàn)        180
6.2  數(shù)組程序?qū)嵗?nbsp;       181
6.2.1  從字符到下標        181
6.2.2  篩法求素數(shù)        182
6.2.3  成績分類        183
6.2.4  多項式求值        184
6.2.5  定義數(shù)組的問題        185
6.3  數(shù)組作為函數(shù)參數(shù)        186
6.3.1  一個例子        186
6.3.2  修改實參數(shù)組的元素        188
6.4  字符數(shù)組與字符串        189
6.4.1  字符數(shù)組        189
6.4.2  字符串        189
6.4.3  程序?qū)嵗?nbsp;       191
6.4.4  標準庫字符串處理函數(shù)        193
6.4.5  輸出文本里的最長行        194
6.5  兩維和多維數(shù)組        198
6.5.1  多維數(shù)組的初始化        198
6.5.2  多維數(shù)組的表示和使用        199
6.5.3  多維數(shù)組作為函數(shù)的參數(shù)        200
6.6  編程實例        201
6.6.1  成績直方圖        201
6.6.2  一個通用帶檢查的整數(shù)輸入函數(shù)        205
6.6.3  “計算”數(shù)組變量的大小        206
6.6.4  統(tǒng)計C程序里的關(guān)鍵字        208
6.6.5  數(shù)組的劃分        211
6.6.6  數(shù)組的排序        213
問題解釋        215
幾個常用程序模式        215
本章討論的重要概念        215
練習        215
第7章  指針        217
7.1  地址與指針        217
7.2  指針變量的定義和使用        218
7.2.1  指針操作        218
7.2.2  指針作為函數(shù)的參數(shù)        219
7.2.3  與指針有關(guān)的一些問題        222
7.3  指針與數(shù)組        224
7.3.1  指向數(shù)組元素的指針        224
7.3.2  基于指針運算的數(shù)組程序設(shè)計        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  動態(tài)存儲管理        240
7.6.1  為什么需要動態(tài)存儲管理        240
7.6.2  C語言的動態(tài)存儲管理機制        241
7.6.3  兩個程序?qū)嵗?nbsp;       244
7.6.4  函數(shù)、指針和動態(tài)存儲        247
7.7  定義類型        250
7.7.1  定義數(shù)組類型和指針類型        251
7.7.2  復雜類型描述與解讀        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ù)        259
幾個常用程序模式        260
本章討論的重要概念        260
練習        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  標準流輸入輸出與格式控制        271
8.3.1  行式輸入和輸出        271
8.3.2  輸入格式控制        272
8.3.3  輸出格式控制        276
8.3.4  以字符串作為格式化輸入輸出對象        278
8.3.5  標準錯誤流        278
8.4  程序?qū)嵗?nbsp;       279
8.4.1  求文件數(shù)據(jù)的平均值        279
8.4.2  一個背單詞程序        281
8.4.3  資金賬目系統(tǒng)        285
練習        288
第9章  結(jié)構(gòu)和其他數(shù)據(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  編程實例        310
9.5.1  數(shù)據(jù)組的排序        310
9.5.2  復數(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
問題解釋        323
本章討論的重要概念        323
練習        323
第10章  程序開發(fā)技術(shù)        327
10.1  分別編譯和C程序的分塊開發(fā)        327
10.1.1  分塊開發(fā)的問題和方法        327
10.1.2  程序?qū)嵗簩W生成績處理        328
10.1.3  分塊重整        333
10.1.4  其他安排和考慮        336
10.1.5  模塊化思想和技術(shù)        338
10.1.6  單一頭文件結(jié)構(gòu)和多個頭文件結(jié)構(gòu)        342
10.2  功能模塊和程序庫        345
10.2.1  復數(shù)模塊        345
10.2.2  目標文件和庫        348
10.2.3  防止重復包含        349
10.3  錯誤報告和處理        349
10.3.1  建立統(tǒng)一的錯誤報告機制        349
10.3.2  定義變參數(shù)的錯誤報告函數(shù)        350
10.3.3  運行中錯誤的檢查和處理        352
10.4  程序的配置        358
10.4.1  程序的行為參數(shù)和啟動時的配置        358
10.4.2  交互式配置        360
10.4.3  通過命令行參數(shù)        361
10.4.4  采用配置文件        362
10.5  程序開發(fā)過程        362
10.5.1  自上而下的開發(fā)        363
10.5.2  自下而上的開發(fā)        365
10.5.3  實際開發(fā)過程        365
練習        367
第11章  標準庫        371
11.1  標準庫結(jié)構(gòu)        371
11.1.1  標準定義(<stddef.h>)        372
11.1.2  錯誤信息(<errno.h>)        372
11.2  幾個已經(jīng)介紹過的頭文件        373
11.2.1  數(shù)學函數(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  存儲區(qū)操作        378
11.4  功能函數(shù)(<stdlib.h>)        379
11.4.1  幾個整數(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  日期和時間(<time.h>)        383
11.6  實現(xiàn)特征(<limits.h>和<float.h>)        385
11.6.1  整數(shù)類型特征        385
11.6.2  浮點數(shù)類型特征        386
11.7  其他與輸入輸出有關(guān)的函數(shù)(<stdio.h>)        386
11.7.1  符號常量和類型        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  定義變長度參數(shù)表(<stdarg.h>)        392
11.9  非局部控制轉(zhuǎn)移(<setjmp.h>)        395
11.10  調(diào)試斷言和信號處理(<assert.h>和<signal.h>)        397
11.11  標準庫的其他功能        398
11.11.1  本地化        398
11.11.2  多字節(jié)字符        400
本章討論的重要概念        400
練習        400
附錄A  C語言運算符表        401
附錄B  C語言速查        403
附錄C  C99簡介        409
進一步學習的建議        413
參考文獻        416

本目錄推薦

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