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

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

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

定 價(jià):¥79.00

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

購(gòu)買這本書(shū)可以去


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

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

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

本目錄推薦

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