出版時(shí)間:2008-4 出版社:清華大學(xué)出版社 作者:霍頓 頁(yè)數(shù):571 譯者:楊浩
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書是編程語(yǔ)言先驅(qū)者Ivor Horton的經(jīng)典之作,是C語(yǔ)言方面最暢銷的圖書品種之一。本書集綜合性、實(shí)用性為一體,是學(xué)習(xí)C語(yǔ)言的優(yōu)秀入門教材,在世界范圍內(nèi)廣受歡迎,口碑極佳。書中除了講解C程序設(shè)計(jì)語(yǔ)言,還廣泛介紹了作為一名C程序設(shè)計(jì)人員應(yīng)該掌握的必要知識(shí),并提供了大量的實(shí)用性很強(qiáng)的編程實(shí)例。本書的目標(biāo)是使你在C語(yǔ)言程序設(shè)計(jì)方面由一位初學(xué)者成為一位稱職的程序員。讀者基本不需要具備任何編程知識(shí),即可通過(guò)本書從頭開始編寫自己的C程序。
作者簡(jiǎn)介
楊浩,知名譯者,大學(xué)講師,從事機(jī)械和計(jì)算機(jī)方面的教學(xué)和研究多年,發(fā)表論文數(shù)篇,參編和翻譯的圖書多達(dá)20余部,還曾多次獲得市部級(jí)獎(jiǎng)項(xiàng)。近幾年一直在跟蹤.NET技術(shù)的發(fā)展,積極從事.NET技術(shù)文檔和圖書的翻譯工作。
書籍目錄
第1章 C語(yǔ)言編程 1.1 創(chuàng)建C程序 1.1.1 編輯 1.1.2 編譯 1.1.3 鏈接 1.1.4 執(zhí)行 1.2 創(chuàng)建第一個(gè)程序 1.3 編輯第一個(gè)程序 1.4 處理錯(cuò)誤 1.5 剖析一個(gè)簡(jiǎn)單的程序 1.5.1 注釋 1.5.2 預(yù)處理指令 1.5.3 定義main()函數(shù) 1.5.4 關(guān)鍵字 1.5.5 函數(shù)體 1.5.6 輸出信息 1.5.7 參數(shù) 1.5.8 控制符 1.6 用C語(yǔ)言開發(fā)程序 1.6.1 了解問(wèn)題 1.6.2 詳細(xì)設(shè)計(jì) 1.6.3 實(shí)施 1.6.4 測(cè)試 1.7 函數(shù)及模塊化編程 1.8 常見錯(cuò)誤 1.9 要點(diǎn) 1.10 小結(jié) 1.11 習(xí)題 第2章 編程初步 2.1 計(jì)算機(jī)的內(nèi)存 2.2 什么是變量 2.3 存儲(chǔ)數(shù)值的變量 2.3.1 整數(shù)變量 2.3.2 變量的命名 2.3.3 變量的使用 2.3.4 變量的初始化 2.3.5 算術(shù)語(yǔ)句 2.4 變量與內(nèi)存 2.5 整數(shù)變量類型 2.5.1 無(wú)符號(hào)的整數(shù)類型 2.5.2 使用整數(shù)類型 2.5.3 指定整數(shù)常量 2.6 浮點(diǎn)數(shù) 2.7 浮點(diǎn)數(shù)變量 2.8 使用浮點(diǎn)數(shù)完成除法運(yùn)算 2.8.1 控制小數(shù)位數(shù) 2.8.2 控制輸出的字段寬度 2.9 較復(fù)雜的表達(dá)式 2.10 定義常量 2.10.1 極限值 2.10.2 sizeof運(yùn)算符 2.11 選擇正確的類型 2.12 強(qiáng)制類型轉(zhuǎn)換 2.12.1 自動(dòng)轉(zhuǎn)換類型 2.12.2 隱式類型轉(zhuǎn)換的規(guī)則 2.12.3 賦值語(yǔ)句中的隱式類型轉(zhuǎn)換 2.13 再談數(shù)值數(shù)據(jù)類型 2.13.1 字符類型 2.13.2 字符的輸入輸出 2.13.3 寬字符類型 2.13.4 枚舉 2.13.5 存儲(chǔ)布爾值的變量 2.13.6 復(fù)數(shù)類型 2.14 賦值操作的op=形式 2.15 數(shù)學(xué)函數(shù) 2.16 設(shè)計(jì)一個(gè)程序 2.16.1 問(wèn)題 2.16.2 分析 2.16.3 解決方案 2.17 小結(jié) 2.18 練習(xí) 第3章 條件判斷 3.1 判斷過(guò)程 3.1.1 算術(shù)比較 3.1.2 涉及關(guān)系運(yùn)算符的表達(dá)式 3.1.3 基本的if語(yǔ)句 3.1.4 擴(kuò)展if語(yǔ)句:if-else 3.1.5 在if語(yǔ)句中使用代碼塊 3.1.6 嵌套的if語(yǔ)句 3.1.7 更多的關(guān)系運(yùn)算符 3.1.8 邏輯運(yùn)算符 3.1.9 條件運(yùn)算符 3.1.10 運(yùn)算符的優(yōu)先級(jí) 3.2 多項(xiàng)選擇問(wèn)題 3.2.1 給多項(xiàng)選擇使用else-if語(yǔ)句 3.2.2 switch語(yǔ)句 3.2.3 goto語(yǔ)句 3.3 按位運(yùn)算符 3.3.1 按位運(yùn)算符的op=用法 3.3.2 使用按位運(yùn)算符 3.4 設(shè)計(jì)程序 3.4.1 問(wèn)題 3.4.2 分析 3.4.3 解決方案 3.5 小結(jié) 3.6 練習(xí) 第4章 循環(huán) 4.1 循環(huán) 4.2 遞增和遞減運(yùn)算符 4.3 for循環(huán) 4.4 for循環(huán)的一般語(yǔ)法 4.5 再談遞增和遞減運(yùn)算符 4.5.1 遞增運(yùn)算符 4.5.2 遞增運(yùn)算符的前置和后置形式 4.5.3 遞減運(yùn)算符 4.6 再論for循環(huán) 4.6.1 修改for循環(huán)變量 4.6.2 沒(méi)有參數(shù)的for循環(huán) 4.6.3 循環(huán)內(nèi)的break語(yǔ)句 4.6.4 使用for循環(huán)限制輸入 4.6.5 生成偽隨機(jī)整數(shù) 4.6.6 再談循環(huán)控制選項(xiàng) 4.6.7 浮點(diǎn)類型的循環(huán)控制變量 4.7 while循環(huán) 4.8 嵌套循環(huán) 4.9 嵌套循環(huán)和goto語(yǔ)句 4.10 do-while循環(huán) 4.11 continue語(yǔ)句 4.12 設(shè)計(jì)程序 4.12.1 問(wèn)題 4.12.2 分析 4.12.3 解決方案 4.13 小結(jié) 4.14 習(xí)題 第5章 數(shù)組 5.1 數(shù)組簡(jiǎn)介 5.1.1 不用數(shù)組的程序 5.1.2 什么是數(shù)組 5.1.3 使用數(shù)組 5.2 內(nèi)存 5.3 數(shù)組和地址 5.4 數(shù)組的初始化 5.5 確定數(shù)組的大小 5.6 多維數(shù)組 5.7 多維數(shù)組的初始化 5.8 設(shè)計(jì)一個(gè)程序 5.8.1 問(wèn)題 5.8.2 分析 5.8.3 解決方案 5.9 小結(jié) 5.10 習(xí)題 第6章 字符串和文本的應(yīng)用 6.1 什么是字符串 6.2 處理字符串和文本的方法 6.3 字符串操作 6.3.1 連接字符串 6.3.2 字符串?dāng)?shù)組 6.4 字符串庫(kù)函數(shù) 6.4.1 使用庫(kù)函數(shù)復(fù)制字符串 6.4.2 使用庫(kù)函數(shù)確定字符串的長(zhǎng)度 6.4.3 使用庫(kù)函數(shù)連接字符串 6.4.4 比較字符串 6.4.5 搜索字符串 6.5 分析和轉(zhuǎn)換字符串 6.5.1 轉(zhuǎn)換字符 6.5.2 將字符串轉(zhuǎn)換成數(shù)值 6.7 使用寬字符串 6.8 設(shè)計(jì)一個(gè)程序 6.8.1 問(wèn)題 6.8.2 分析 6.8.3 解決方案 6.9 小結(jié) 6.10 習(xí)題 第7章 指針 7.1 指針初探 7.1.1 聲明指針 7.1.2 通過(guò)指針訪問(wèn)值 7.1.3 使用指針 7.1.4 指向常量的指針 7.1.5 常量指針 7.1.6 指針的命名 7.2 數(shù)組和指針 7.3 多維數(shù)組 7.3.1 多維數(shù)組和指針 7.3.2 訪問(wèn)數(shù)組元素 7.4 內(nèi)存的使用 7.4.1 動(dòng)態(tài)內(nèi)存分配:malloc()函數(shù) 7.4.2 分配內(nèi)存時(shí)使用sizeof運(yùn)算符 7.4.3 用calloc()函數(shù)分配內(nèi)存 7.4.4 釋放動(dòng)態(tài)分配的內(nèi)存 7.4.5 重新分配內(nèi)存 7.5 使用指針處理字符串 7.5.1 更多地控制字符串輸入 7.5.2 使用指針數(shù)組 7.6 設(shè)計(jì)程序 7.6.1 問(wèn)題 7.6.2 分析 7.6.3 解決方案 7.7 小結(jié) 7.8 習(xí)題 第8章 程序的結(jié)構(gòu) 8.1 程序的結(jié)構(gòu) 8.1.1 變量的作用域和生存期 8.1.2 變量的作用域和函數(shù) 8.2 函數(shù) 8.2.1 定義函數(shù) 8.2.2 return語(yǔ)句 8.3 按值傳遞機(jī)制 8.4 函數(shù)聲明 8.5 指針用作參數(shù)和返回值 8.5.1 常量參數(shù) 8.5.2 從函數(shù)中返回指針值 8.5.3 在函數(shù)中遞增指針 8.6 小結(jié) 8.7 習(xí)題 第9章 函數(shù)再探 9.1 函數(shù)指針 9.1.1 聲明函數(shù)指針 9.1.2 通過(guò)函數(shù)指針調(diào)用函數(shù) 9.1.3 函數(shù)指針數(shù)組 9.1.4 作為變?cè)暮瘮?shù)指針 9.2 函數(shù)中的變量 9.2.1 靜態(tài)變量:函數(shù)內(nèi)部的追蹤 9.2.2 在函數(shù)之間共享變量 9.3 調(diào)用自己的函數(shù):遞歸 9.4 變?cè)獋€(gè)數(shù)可變的函數(shù) 9.4.1 復(fù)制va_list 9.4.2 長(zhǎng)度可變的變?cè)斜淼幕疽?guī)則 9.5 main()函數(shù) 9.6 結(jié)束程序 9.7 函數(shù)庫(kù):頭文件 9.8 提高性能 9.8.1 內(nèi)聯(lián)聲明函數(shù) 9.8.2 使用restrict關(guān)鍵字 9.9 設(shè)計(jì)程序 9.9.1 問(wèn)題 9.9.2 分析 9.9.3 解決方案 9.10 小結(jié) 9.11 習(xí)題 第10章 基本輸入和輸出操作 10.1 輸入和輸出流 10.2 標(biāo)準(zhǔn)流 10.3 鍵盤輸入 10.3.1 格式化鍵盤輸入 10.3.2 輸入格式控制字符串 10.3.3 輸入格式字符串中的字符 10.3.4 輸入浮點(diǎn)數(shù)的各種變化 10.3.5 讀取十六進(jìn)制和八進(jìn)制值 10.3.6 用scanf()讀取字符 10.3.7 scanf()的陷阱 10.3.8 從鍵盤上輸入字符串 10.3.9 鍵盤的非格式化輸入 10.4 屏幕輸出 10.4.1 使用printf()格式輸出到屏幕 10.4.2 轉(zhuǎn)義序列 10.4.3 整數(shù)輸出 10.4.4 輸出浮點(diǎn)數(shù) 10.4.5 字符輸出 10.5 其他輸出函數(shù) 10.5.1 屏幕的非格式化輸出 10.5.2 數(shù)組的格式化輸出 10.5.3 數(shù)組的格式化輸入 10.6 打印機(jī)輸出 10.7 小結(jié) 10.8 習(xí)題 第11章 結(jié)構(gòu)化數(shù)據(jù) 11.1 數(shù)據(jù)結(jié)構(gòu):使用struct 11.1.1 定義結(jié)構(gòu)類型和結(jié)構(gòu)變量 11.1.2 訪問(wèn)結(jié)構(gòu)成員 11.1.3 未命名的結(jié)構(gòu) 11.1.4 結(jié)構(gòu)數(shù)組 11.1.5 表達(dá)式中的結(jié)構(gòu) 11.1.6 結(jié)構(gòu)指針 11.1.7 為結(jié)構(gòu)動(dòng)態(tài)分配內(nèi)存 11.2 再探結(jié)構(gòu)成員 11.2.1 將一個(gè)結(jié)構(gòu)作為另一個(gè)結(jié)構(gòu)的成員 11.2.2 聲明結(jié)構(gòu)中的結(jié)構(gòu) 11.2.3 將結(jié)構(gòu)指針用作結(jié)構(gòu)成員 11.2.4 雙向鏈表 11.2.5 結(jié)構(gòu)中的位字段 11.3 結(jié)構(gòu)與函數(shù) 11.3.1 結(jié)構(gòu)作為函數(shù)的變?cè)? 11.3.2 結(jié)構(gòu)指針作為函數(shù)變?cè)? 11.3.3 作為函數(shù)返回值的結(jié)構(gòu) 11.3.4 修改程序 11.3.5 二叉樹 11.4 共享內(nèi)存 11.4.1 聯(lián)合 11.4.2 聯(lián)合指針 11.4.3 聯(lián)合的初始化 11.4.4 聯(lián)合中的結(jié)構(gòu)成員 11.5 定義自己的數(shù)據(jù)類型 11.5.1 結(jié)構(gòu)與類型定義(typedef)功能 11.5.2 使用typedef簡(jiǎn)化代碼 11.6 設(shè)計(jì)程序 11.6.1 問(wèn)題 11.6.2 分析 11.6.3 解決方案 11.7 小結(jié) 11.8 習(xí)題 第12章 處理文件 12.1 文件的概念 12.1.1 文件中的位置 12.1.2 文件流 12.2 文件訪問(wèn) 12.2.1 打開文件 12.2.2 文件重命名 12.2.3 關(guān)閉文件 12.2.4 刪除文件 12.3 寫入文本文件 12.4 讀取文本文件 12.5 將字符串寫入文本文件 12.6 從文本文件中讀入字符串 12.7 格式化文件的輸入輸出 12.7.1 格式化文件輸出 12.7.2 格式化文件輸入 12.8 錯(cuò)誤處理 12.9 再探文本文件操作模式 12.10 二進(jìn)制文件的輸入輸出 12.10.1 指定二進(jìn)制模式 12.10.2 寫入二進(jìn)制文件 12.10.3 讀取二進(jìn)制文件 12.11 在文件中移動(dòng) 12.11.1 文件定位操作 12.11.2 找出我們?cè)谖募械奈恢? 12.11.3 在文件中設(shè)定位置 12.12 使用臨時(shí)文件 12.12.1 創(chuàng)建臨時(shí)文件 12.12.2 創(chuàng)建唯一的文件名 12.13 更新二進(jìn)制文件 12.13.1 修改文件的內(nèi)容 12.13.2 從鍵盤讀取記錄 12.13.3 將記錄寫入文件 12.13.4 從文件中讀取記錄 12.13.5 寫入文件 12.13.6 列出文件內(nèi)容 12.13.7 更新已有的文件內(nèi)容 12.14 文件打開模式小結(jié) 12.15 設(shè)計(jì)程序 12.15.1 問(wèn)題 12.15.2 分析 12.15.3 解決方案 12.16 小結(jié) 12.17 習(xí)題 第13章 支持功能 13.1 預(yù)處理 13.1.1 在程序中包含頭文件 13.1.2 外部變量及函數(shù) 13.1.3 替換程序源代碼 13.1.4 宏替換 13.1.5 看起來(lái)像函數(shù)的宏 13.1.6 多行上的預(yù)處理指令 13.1.7 字符串作為宏參數(shù) 13.1.8 結(jié)合兩個(gè)宏展開式的結(jié)果 13.2 預(yù)處理器邏輯指令 13.2.1 條件編譯 13.2.2 測(cè)試指定值的指令 13.2.3 多項(xiàng)選擇 13.2.4 標(biāo)準(zhǔn)預(yù)處理宏 13.3 調(diào)試方法 13.3.1 集成的調(diào)試器 13.3.2 調(diào)試階段的預(yù)處理器 13.3.3 使用assert()宏 13.4 其他庫(kù)函數(shù) 13.4.1 日期和時(shí)間函數(shù)庫(kù) 13.4.2 獲取日期 13.5 小結(jié) 13.6 習(xí)題 附錄A 計(jì)算機(jī)中的數(shù)學(xué)知識(shí) 附錄B ASCII字符代碼定義 附錄C C語(yǔ)言中的保留字 附錄D 輸入輸出格式指定符
編輯推薦
尊敬的讀者: C語(yǔ)言是一種非常優(yōu)秀的程序設(shè)計(jì)的入門語(yǔ)言。它比其他大部分語(yǔ)言都簡(jiǎn)潔易學(xué),所以在開始使用C語(yǔ)言編寫真正的應(yīng)用程序之前并不需要學(xué)習(xí)太多語(yǔ)法。C語(yǔ)言也是功能相當(dāng)強(qiáng)大的語(yǔ)言,很多操作系統(tǒng)都是用C語(yǔ)言編寫的。大多數(shù)計(jì)算機(jī)環(huán)境都支持C語(yǔ)言,因此當(dāng)你學(xué)會(huì)了C語(yǔ)言后,你將有能力在各種環(huán)境下進(jìn)行程序設(shè)計(jì)?! ”緯哪繕?biāo)是使你在C語(yǔ)言程序設(shè)計(jì)方面由一位初學(xué)者成為一位稱職的程序員。書中包含了C語(yǔ)言的全部基礎(chǔ)知識(shí),并將教會(huì)你如何進(jìn)行程序設(shè)計(jì)。除了本書之外,你需要的東西只有一樣,那就是一個(gè)得到廣泛支持的免費(fèi)的或者商業(yè)的標(biāo)準(zhǔn)C編譯器,有了它即可開始編寫實(shí)際的C程序了?! ”緯鴱牡谝粋€(gè)編程原理開始,使用各種程序示例解釋C語(yǔ)言的所有元素,不要求你之前擁有任何編程知識(shí)。通過(guò)編寫能夠運(yùn)行的完整C應(yīng)用程序,在實(shí)際的環(huán)境中運(yùn)用所學(xué)的知識(shí),可幫助你提高自己的程序設(shè)計(jì)能力。你也可以在創(chuàng)建和執(zhí)行自己的程序示例的過(guò)程中獲得自信?! W(xué)習(xí)C語(yǔ)言也有一定的難度,但是我確信你會(huì)感到樂(lè)趣無(wú)窮,也會(huì)發(fā)現(xiàn)自己勞有所獲。只要你有熱情和信心讀完本書,你將會(huì)掌握大量有價(jià)值的知識(shí)。從此,你將步入C程序設(shè)計(jì)的殿堂,開始自己的C程序開發(fā)之旅。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載