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

C語言的科學(xué)和藝術(shù)

C語言的科學(xué)和藝術(shù)

定 價:¥79.00

作 者: (美)羅伯茨 著,翁惠玉 等譯
出版社: 機(jī)械工業(yè)出版社
叢編項:
標(biāo) 簽: VC++

ISBN: 9787111347750 出版時間: 2011-06-01 包裝: 平裝
開本: 16開 頁數(shù): 538 字?jǐn)?shù):  

內(nèi)容簡介

  《C語言的科學(xué)和藝術(shù)》是計算機(jī)科學(xué)的經(jīng)典教材,介紹了計算機(jī)科學(xué)的基礎(chǔ)知識和程序設(shè)計的專門知識?!禖語言的科學(xué)和藝術(shù)》以介紹ANSI C為主線,不僅涵蓋C語言的基本知識,而且介紹了軟件工程技術(shù)以及如何應(yīng)用良好的程序設(shè)計風(fēng)格進(jìn)行開發(fā)等內(nèi)容?!禖語言的科學(xué)和藝術(shù)》采用了庫函數(shù)的方法,強(qiáng)調(diào)抽象的原則,詳細(xì)闡述了庫和模塊化開發(fā)。此外,《C語言的科學(xué)和藝術(shù)》還利用大量實例講述解決問題的全過程,對開發(fā)過程中常見的錯誤也給出了解決和避免的方法?!禖語言的科學(xué)和藝術(shù)》既可作為高等院校計算機(jī)科學(xué)入門課程及C語言入門課程的教材,也是C語言開發(fā)人員的極佳參考書。

作者簡介

  Eric S. Roberts第一次教授計算機(jī)科學(xué)入門課程是在20多年前,當(dāng)時他還是一名哈佛學(xué)子。1980年獲得博士學(xué)位以來,Roberts先后在哈佛、韋爾斯利、斯坦福大學(xué)教授計算機(jī)科學(xué)課程。在斯坦福大學(xué),Roberts擔(dān)任計算機(jī)科學(xué)系副主任,并負(fù)責(zé)本科生的計算機(jī)科學(xué)課程。雖然Roberts也教授計算機(jī)科學(xué)的高級課程并作一些研究工作,但他最大的樂趣還是向初學(xué)者展示計算機(jī)的強(qiáng)大功能。

圖書目錄

前言
第1章 概述
1.1 計算簡史
1.2 什么是計算機(jī)科學(xué)
1.3 計算機(jī)硬件簡介
1.3.1 cpu
1.3.2 內(nèi)存
1.3.3 輔助存儲器
1.3.4 i/o設(shè)備
1.4 算法
1.5 程序設(shè)計語言和編譯
1.6 編程錯誤和調(diào)試
1.7 軟件維護(hù)
1.8 軟件工程的重要性
1.9 關(guān)于c程序設(shè)計語言的一些思考
小結(jié)
復(fù)習(xí)題
第一部分 c語言程序設(shè)計基礎(chǔ)
第2章 通過例子學(xué)習(xí)
2.1 “hello world”程序
2.1.1 注釋
2.1.2 庫包含
2.1.3 主程序
2.2 兩個數(shù)的加法程序
2.2.1 輸入階段
2.2.2 計算階段
2.2.3 輸出階段
2.3 有關(guān)程序設(shè)計過程的觀點(diǎn)
2.4 數(shù)據(jù)類型
2.4.1 浮點(diǎn)型數(shù)據(jù)
2.4.2 字符串類型的數(shù)據(jù)
2.5 表達(dá)式
2.5.1 常量
2.5.2 變量
2.5.3 賦值語句
2.5.4 運(yùn)算符和操作數(shù)
2.5.5 整型數(shù)和浮點(diǎn)型數(shù)的結(jié)合
2.5.6 整數(shù)除法和求余運(yùn)算符
2.5.7 優(yōu)先級
2.5.8 優(yōu)先級法則的應(yīng)用
2.5.9 類型轉(zhuǎn)換
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第3章 問題求解
3.1 程序設(shè)計習(xí)語和范例
3.1.1 復(fù)合賦值習(xí)語
3.1.2 自增和自減運(yùn)算符
3.2 解決規(guī)模稍大的問題
3.3 控制語句
3.3.1 重復(fù)n次習(xí)語
3.3.2 迭代和循環(huán)
3.3.3 下標(biāo)變量
3.3.4 初始化的重要性
3.3.5 讀入-直到-標(biāo)志習(xí)語
3.3.6 創(chuàng)造一個更實用的應(yīng)用程序
3.3.7 條件執(zhí)行和if語句
3.4 一個調(diào)試練習(xí)
3.5 格式化輸出
3.5.1 printf的格式碼
3.5.2 控制空格、對齊方式和精度
3.6 構(gòu)思一個程序
3.6.1 程序設(shè)計風(fēng)格
3.6.2 設(shè)計時考慮將來的修改
3.6.3 #define機(jī)制
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第4章 語句形式
4.1 簡單語句
4.1.1 賦值的嵌套
4.1.2 多重賦值
4.1.3 程序塊
4.2 控制語句
4.3 布爾型數(shù)據(jù)
4.3.1 關(guān)系運(yùn)算符
4.3.2 邏輯運(yùn)算符
4.3.3 簡化求值
4.3.4 標(biāo)志
4.3.5 避免布爾表達(dá)式中的冗余
4.3.6 布爾計算示例
4.4 if語句
4.4.1 單行if語句
4.4.2 多行if語句
4.4.3 if/else語句
4.4.4 級聯(lián)if語句
4.4.5 ?: 運(yùn)算符(可選的)
4.5 switch語句
4.6 while語句
4.6.1 while循環(huán)的應(yīng)用
4.6.2 無限循環(huán)
4.6.3 解決半途退出問題
4.7 for語句
4.7.1 嵌套的for循環(huán)
4.7.2 for和while的關(guān)系
4.7.3 for語句中浮點(diǎn)型數(shù)據(jù)的使用問題
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第5章 函數(shù)
5.1 使用庫函數(shù)
5.2 函數(shù)聲明
5.3 自己編寫函數(shù)
5.3.1 return語句
5.3.2 將函數(shù)與主程序放在一起
5.3.3 包含內(nèi)部控制結(jié)構(gòu)的函數(shù)
5.3.4 返回非數(shù)字值的函數(shù)
5.3.5 謂詞函數(shù)
5.3.6 測試字符串是否相等的謂詞函數(shù)
5.4 函數(shù)調(diào)用過程機(jī)制
5.4.1 參數(shù)傳遞
5.4.2 在其他函數(shù)中調(diào)用函數(shù)
5.5 過程
5.6 逐步精化
5.6.1 從頂開始
5.6.2 實現(xiàn)printcalendar
5.6.3 實現(xiàn)printcalendarmonth
5.6.4 完成最后的片段
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第6章 算法
6.1 測試素數(shù)
6.1.1 一個isprime的簡單版本
6.1.2 驗證一個策略是否表示一個算法
6.1.3 說明isprime算法的正確性
6.1.4 改進(jìn)算法的效率
6.1.5 在各個可選方案中選擇
6.2 計算最大公約數(shù)
6.2.1 brute-force算法
6.2.2 歐幾里得算法
6.2.3 歐幾里得算法的正確性說明(可選)
6.2.4 比較gcd算法的效率
6.3 數(shù)值算法
6.3.1 連續(xù)逼近
6.3.2 報告錯誤
6.4 級數(shù)展開
6.4.1 zeno悖論
6.4.2 用級數(shù)展開法設(shè)計平方根函數(shù)
6.4.3 估計平方根的泰勒級數(shù)展開 (可選)
6.4.4 泰勒級數(shù)近似的實現(xiàn)
6.4.5 停留在收斂半徑之內(nèi)
6.5 指定數(shù)值類型的大小
6.5.1 整數(shù)類型
6.5.2 無符號類型
6.5.3 浮點(diǎn)類型
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第二部分 庫和模塊化開發(fā)
第7章 庫和接口:一個簡單的圖形庫
7.1 接口的概念
7.2 圖形庫介紹
7.2.1 graphics.h的基本模型
7.2.2 graphics.h接口的函數(shù)
7.2.3 軟件包初始化
7.2.4 畫直線
7.2.5 畫圓和弧
7.2.6 獲取有關(guān)圖形窗口的信息
7.3 建立自己的工具
7.3.1 定義drawbox
7.3.2 定義drawcenteredcircle
7.3.3 絕對坐標(biāo)和相對坐標(biāo)間的切換
7.3.4 定義過程的好處
7.4 解決一個較大的問題
7.4.1 使用逐步精化
7.4.2 實現(xiàn)drawhouse過程
7.4.3 尋找共同的模式
7.4.4 結(jié)束分解
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第8章 設(shè)計接口:一個隨機(jī)數(shù)庫
8.1 接口設(shè)計
8.1.1 同一主題的重要性
8.1.2 簡單性和信息隱藏的原則
8.1.3 滿足客戶的需要
8.1.4 通用工具的優(yōu)勢
8.1.5 穩(wěn)定性的價值
8.2 用計算機(jī)生成隨機(jī)數(shù)
8.2.1 確定行為與非確定行為
8.2.2 隨機(jī)數(shù)和偽隨機(jī)數(shù)
8.2.3 ansi c中生成偽隨機(jī)數(shù)
8.2.4 改變隨機(jī)數(shù)的范圍
8.2.5 將此問題通用化
8.3 在庫中保存工具
8.3.1 接口的內(nèi)容
8.3.2 寫random.h接口
8.3.3 random.c的實現(xiàn)
8.3.4 構(gòu)造客戶程序
8.3.5 初始化隨機(jī)數(shù)發(fā)生器
8.4 評價random.h接口的設(shè)計
8.4.1 產(chǎn)生隨機(jī)實數(shù)
8.4.2 模擬一個概率事件
8.4.3 在接口中包含頭文件
8.4.4 完成隨機(jī)數(shù)軟件包的實現(xiàn)
8.5 使用隨機(jī)數(shù)軟件包
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第9章 字符串和字符
9.1 枚舉的原理
9.1.1 在機(jī)器內(nèi)部表示枚舉類型
9.1.2 將枚舉類型表示為整數(shù)
9.1.3 定義新的枚舉類型
9.1.4 枚舉類型的操作
9.1.5 標(biāo)量類型
9.2 字符
9.2.1 數(shù)據(jù)類型char
9.2.2 ascii代碼
9.2.3 字符常量
9.2.4 ascii代碼方案的重要特性
9.2.5 特殊字符
9.2.6 字符運(yùn)算
9.2.7 ctype.h接口
9.2.8 涉及字符的控制語句
9.2.9 字符的輸入輸出
9.3 字符串作為抽象數(shù)據(jù)類型
9.3.1 分層抽象
9.3.2 抽象類型的概念
9.4 strlib.h接口
9.4.1 確定字符串的長度
9.4.2 從一個字符串中選擇字符
9.4.3 連接
9.4.4 將字符轉(zhuǎn)換為字符串
9.4.5 抽取字符串的一部分
9.4.6 比較兩個字符串
9.4.7 在一個字符串內(nèi)搜索
9.4.8 大小寫轉(zhuǎn)換
9.4.9 數(shù)值轉(zhuǎn)換
9.4.10 效率和strlib.h庫
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第10章 模塊化開發(fā)
10.1 pig latin—一個模塊化開發(fā)的 案例研究
10.1.1 應(yīng)用自頂向下的設(shè)計
10.1.2 使用偽代碼
10.1.3 實現(xiàn)translateline
10.1.4 考慮空格和標(biāo)點(diǎn)符號的問題
10.1.5 精化單詞的定義
10.1.6 設(shè)計記號掃描器
10.1.7 完成translateline的實現(xiàn)
10.1.8 定義掃描器模塊接口
10.2 在模塊中維護(hù)內(nèi)部狀態(tài)
10.2.1 全局變量
10.2.2 使用全局變量的危險性
10.2.3 保持變量的模塊私有化
10.2.4 初始化全局變量
10.2.5 私有函數(shù)
10.3 實現(xiàn)掃描器抽象
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第三部分 復(fù)合數(shù)據(jù)類型
第11章 數(shù)組
11.1 數(shù)組
11.1.1 數(shù)組聲明
11.1.2 數(shù)組選擇
11.1.3 一個簡單的數(shù)組實例
11.1.4 改變下標(biāo)值的范圍
11.2 數(shù)據(jù)的內(nèi)部表示法
11.2.1 比特、字節(jié)和字
11.2.2 內(nèi)存地址
11.2.3 運(yùn)算符sizeof
11.2.4 變量的內(nèi)存分配
11.2.5 引用超出數(shù)組范圍的元素
11.3 數(shù)組作為參數(shù)進(jìn)行傳遞
11.3.1 元素個數(shù)的通用化
11.3.2 數(shù)組參數(shù)傳遞機(jī)制
11.3.3 實現(xiàn)函數(shù)printintegerarray和getintegerarray
11.3.4 實現(xiàn)函數(shù)reverseintegerarray
11.3.5 實現(xiàn)函數(shù)swapintegerelements
11.4 使用數(shù)組制作表格
11.5 數(shù)組的靜態(tài)初始化
11.5.1 自動確定數(shù)組大小
11.5.2 確定初始化數(shù)組的大小
11.5.3 初始化數(shù)組和標(biāo)量類型
11.6 多維數(shù)組
11.6.1 向函數(shù)傳送多維數(shù)組
11.6.2 初始化多維數(shù)組
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第12章 查找和排序
12.1 查找
12.1.1 在整數(shù)數(shù)組中查找
12.1.2 關(guān)于查找的另一個更復(fù)雜 的例子
12.1.3 線性查找
12.1.4 二分查找
12.1.5 查找算法的相對效率
12.2 排序
12.2.1 對一個整數(shù)數(shù)組排序
12.2.2 選擇排序算法
12.2.3 選擇排序效率的評估
12.2.4 測試程序的運(yùn)行時間
12.2.5 選擇排序的算法分析
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第13章 指針
13.1 將地址作為數(shù)據(jù)值
13.2 c語言的指針操作
13.2.1 在c語言中聲明指針變量
13.2.2 基本的指針操作
13.2.3 特殊指針null
13.3 通過引用傳遞參數(shù)
13.3.1 設(shè)計函數(shù)swapinteger
13.3.2 用引用調(diào)用返回多個結(jié)果
13.3.3 過度使用引用調(diào)用的危險
13.4 指針和數(shù)組
13.4.1 指針運(yùn)算
13.4.2 運(yùn)算符++和--的新作用
13.4.3 指針的自增和自減
13.4.4 指針和數(shù)組的關(guān)系
13.5 動態(tài)分配
13.5.1 void *類型
13.5.2 動態(tài)數(shù)組
13.5.3 查找malloc中的錯誤
13.5.4 釋放內(nèi)存
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第14章 再論字符串
14.1 string類型的概念表示
14.1.1 字符串作為數(shù)組
14.1.2 字符串作為指針
14.1.3 字符串作為抽象類型
14.1.4 字符串參數(shù)
14.1.5 字符串變量
14.1.6 指針和數(shù)組變量間的區(qū)別
14.1.7 決定字符串的表示方法
14.2 ansi字符串庫
14.2.1 strcpy函數(shù)
14.2.2 strncpy函數(shù)
14.2.3 strcat和strncat函數(shù)
14.2.4 strlen、strcmp和strncmp函數(shù)
14.2.5 strchr、strrchr和strstr函數(shù)
14.2.6 ansi字符串函數(shù)的應(yīng)用
14.3 strlib庫的實現(xiàn)
14.3.1 實現(xiàn)轉(zhuǎn)換函數(shù)
14.3.2 strlib分配函數(shù)的實現(xiàn)
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第15章 文件
15.1 文本文件
15.2 c語言中文件的使用
15.2.1 聲明file*類型的變量
15.2.2 打開文件
15.2.3 執(zhí)行i/o操作
15.2.4 關(guān)閉文件
15.2.5 標(biāo)準(zhǔn)文件
15.3 字符i/o
15.3.1 文件更新
15.3.2 在輸入文件中重新讀取字符
15.4 面向行的i/o
15.5 格式化i/o
15.5.1 printf的三種形式
15.5.2 scanf函數(shù)
15.5.3 用scanf讀入字符串
15.5.4 格式化i/o的一個實例
15.5.5 使用scanf的局限
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第16章 記錄
16.1 數(shù)據(jù)記錄的概念
16.2 記錄在c語言中的使用
16.2.1 定義一個結(jié)構(gòu)類型
16.2.2 聲明結(jié)構(gòu)變量
16.2.3 記錄選擇
16.2.4 記錄初始化
16.2.5 簡單記錄
16.3 數(shù)組與記錄的結(jié)合
16.4 記錄的指針
16.4.1 定義一個指向記錄類型的指針
16.4.2 為記錄數(shù)據(jù)分配空間
16.4.3 對記錄指針進(jìn)行操作
16.5 創(chuàng)建記錄的數(shù)據(jù)庫
16.5.1 創(chuàng)建員工信息數(shù)據(jù)庫
16.5.2 數(shù)據(jù)庫的使用
16.6 基于記錄的應(yīng)用程序設(shè)計
16.6.1 使用數(shù)據(jù)庫的重要性
16.6.2 問題的框架
16.6.3 設(shè)計內(nèi)部表示
16.6.4 設(shè)計外部結(jié)構(gòu)
16.6.5 程序代碼
16.6.6 數(shù)據(jù)驅(qū)動設(shè)計方法的重要性
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
第17章 深入學(xué)習(xí)
17.1 遞歸
17.1.1 遞歸的簡單說明
17.1.2 factorial函數(shù)
17.1.3 遞歸信任
17.1.4 遞歸范例
17.1.5 排列的生成
17.1.6 用遞歸的思想思考
17.2 抽象數(shù)據(jù)類型
17.2.1 隊列抽象
17.2.2 以隊列抽象表示類型
17.2.3 queue.h 接口
17.2.4 實現(xiàn)隊列抽象
17.2.5 隊列抽象的另一種實現(xiàn)方法
17.3 算法分析
17.3.1 評估算法效率
17.3.2 o標(biāo)記
17.3.3 再看選擇排序
17.3.4 分而治之策略
17.3.5 合并兩個數(shù)組
17.3.6 合并排序算法
17.3.7 合并排序的計算復(fù)雜性
17.3.8 比較平方復(fù)雜性與nlogn復(fù)雜性的性能
小結(jié)
復(fù)習(xí)題
程序設(shè)計練習(xí)
附 錄
附錄a c語言的語法和結(jié)構(gòu)總結(jié)
附錄b 庫源代碼

本目錄推薦

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