注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關標準C程序設計

標準C程序設計

標準C程序設計

定 價:¥59.00

作 者: (?。┌屠鹏斔_米(Balagurusemy, E.)著;金名譯
出版社: 清華大學出版社
叢編項: 世界著名計算機教材精選
標 簽: C語言 程序設計 教材

ISBN: 9787302127567 出版時間: 2006-05-01 包裝: 平裝
開本: 16開 頁數(shù): 460 字數(shù):  

內容簡介

  C語言是所有本科生課程的一門核心課,也是現(xiàn)今使用最廣泛的計算機語言。國內國外的C語言圖書已經非常多了,但通過本書的翻譯,我們覺得這本書還是很有引進價值,具體表現(xiàn)在它的以下幾個特點上:* 本書是基于最新的C語言標準。* 在本書的最后給出了一個完整的應用程序開發(fā)示例PHONE BOOK。* 擴展討論了C的指針。* 每章后面的"謹記"一節(jié)給出了很有用的編程提示以及可能容易出錯的問題。* 每章后面的案例學習給出了24個真實的開發(fā),展示了C程序的設計過程。* 87個程序設計范例向讀者闡述了良好程序設計的基本原則。* 還有185個練習題和133道實踐編程題??傊?,本書的語言簡潔易懂,示例非常豐富且具有很強的實際指導意義,是一本很好的C程序設計的教材。第3版前言作為使用最廣泛的計算機語言,C是所有本科生課程的一門核心課。本書的第2版被很多學院和大學用作教材。在過去的幾年中,本書還被一些重要的軟件培訓與開發(fā)公司用作培訓教材。由于本書的獨特性、與眾不同的學習方法以及簡明的寫作風格,本書在學生和老師中很受歡迎。本書融入了過去10年中采用本書的學生和老師的很多反饋意見。本版的特點包括:* 根據讀者的反饋,全書的內容和程序都做了重新評閱和修改。* 每章末尾的練習分成了兩部分,即"復習題"和"編程練習"。* 每章都添加了針對本章內容的大量問答題和問題求解。* 在很多章中添加了"謹記"一節(jié)。該節(jié)列舉出了一些有用的提示和容易出現(xiàn)的問題。* 新加的附錄Ⅲ"電話簿程序",有助于讀者全面體驗C語言的特性。感謝給本書提供建議的老師和學生,這些建議極大地提高了本書的質量。E Balagurusamy第1版前言C是一種通用的結構化程序設計語言,它功能強大、高效且簡潔。C集成了高級語言的特性和匯編語言的某些元素,因此,對程序員和計算機都很貼切。用C語言進行程序設計很流行,也很有趣。本書旨在教授讀者如何使用C語言進行程序設計,不需要讀者具有該語句的預備知識,適合于初學者和有經驗的程序員。全書貫徹了"用示例學習"的概念。在深入介紹了C語言的每個特性之后,給出了一個完整的示例程序,用于演示說明其應用。每章末尾的"案例學習"不僅介紹了把C語言的特性集成在一起的常用方法,而且還顯示了它在實際生活中的應用。只要有必要,就用圖形來描述,以便于讀者更好地理解。最后一章介紹了開發(fā)高效、無錯誤的C程序的一些指導原則。本書包含了100多個示例和程序。所有程序都使用與UNIX和MS-DOS操作系統(tǒng)兼容的編譯器進行了測試,并適當?shù)赜懻摿溯敵鼋Y果。這些程序還演示了良好編程風格的一般原則。譯者序C語言是所有本科生課程的一門核心課,也是現(xiàn)今使用最廣泛的計算機語言。國內國外的C語言圖書已經非常多了,但通過本書的翻譯,我們覺得這本書還是很有引進價值,具體表現(xiàn)在它的以下幾個特點上:* 本書是基于最新的C語言標準。* 在本書的最后給出了一個完整的應用程序開發(fā)示例PHONE BOOK。* 擴展討論了C的指針。* 每章后面的"謹記"一節(jié)給出了很有用的編程提示以及可能容易出錯的問題。* 每章后面的案例學習給出了24個真實的開發(fā),展示了C程序的設計過程。* 87個程序設計范例向讀者闡述了良好程序設計的基本原則。* 還有185個練習題和133道實踐編程題??傊?,本書的語言簡潔易懂,示例非常豐富且具有很強的實際指導意義,是一本很好的C程序設計的教材。本書的第2版被印度的很多學院和大學用作教材。在過去的幾年中,本書還被一些重要的軟件培訓與開發(fā)公司用作培訓教材。由于本書的獨特性、與眾不同的學習方法以及簡明的寫作風格,相信本書也會受到國內學生和老師的歡迎。本書由金名、張長富、馮華君、劉守燕、楊詠梅等譯,張國清、潘華等人也參與了部分翻譯和校對工作。歡迎廣大讀者指正。II面向對象設計UML實踐(第2版)III譯者序 目錄第1章C語言概述 11.1C語言的歷史 11.2C語言的主要特性 21.3示例程序1:顯示一條消息 31.4示例程序2:兩個數(shù)相加 61.5示例程序3:利息計算 71.6示例程序4:子例程的使用 91.7示例程序5:數(shù)學函數(shù)的使用 101.8C程序的基本結構 121.9編程風格 131.10運行一個程序 131.11UNIX系統(tǒng)環(huán)境下 141.11.1創(chuàng)建程序 141.11.2編譯與鏈接 151.11.3運行程序 151.11.4創(chuàng)建自己的可運行文件 161.11.5多個源文件問題 161.12MS-DOS系統(tǒng)環(huán)境下 171.13復習題 181.14編程練習 19第2章常量、變量及數(shù)據類型 212.1概述 212.2字符集 212.3C標記符 222.4關鍵字與標識符 222.5常量 232.5.1整型常量 242.5.2實數(shù)常量 252.5.3單字符常量 252.5.4字符串常量 262.5.5反斜杠字符常量 262.6變量 262.7數(shù)據類型 272.7.1整數(shù)型 282.7.2浮點數(shù)類型 292.7.3void類型 302.7.4字符類型 302.8變量的聲明 302.8.1基本類型的聲明 302.8.2自定義類型的聲明 322.9存儲類的聲明 332.10變量的賦值 342.10.1賦值語句 352.10.2從鍵盤讀取數(shù)據 372.11符號常量的定義 402.11.1可修改性 402.11.2可理解性 402.12將變量聲明為常量 412.13將變量聲明為可變的 412.14數(shù)據的溢出 422.15案例學習 432.15.1平均數(shù)計算 432.15.2溫度轉換問題 442.16復習題 452.17編程練習 47第3章運算符與表達式 483.1概述 483.2算術運算符 483.2.1整數(shù)算術運算 493.2.2實數(shù)算術運算 503.2.3混合算術運算 503.3關系運算符 503.4邏輯運算符 523.5賦值運算符 523.6遞增和遞減運算符 543.7條件運算符 553.8逐位運算符 563.9特殊運算符 563.9.1逗號運算符 563.9.2sizeof運算符 573.10算術表達式 583.11表達式的計算 583.12算術表達式的優(yōu)先級 593.13一些可計算性問題 613.14表達式中的類型轉換 623.14.1隱式類型轉換 623.14.2顯示轉換 643.15運算符的優(yōu)先級及其關聯(lián) 663.16數(shù)學函數(shù) 673.17案例學習 683.17.1銷售人員的工資 683.17.2二次方程的求解 693.18復習題 713.19編程練習 73第4章輸入輸出操作管理 754.1概述 754.2讀取一個字符 754.3寫字符 784.4格式化輸入 794.4.1整數(shù)輸入 804.4.2實數(shù)輸入 824.4.3字符串輸入 834.4.4混合數(shù)據類型的讀取 854.4.5錯誤輸入的檢測 854.4.6使用scanf函數(shù)時應記住的幾個要點 874.5格式化輸出 884.5.1整數(shù)的輸出 894.5.2實數(shù)的輸出 904.5.3單個字符的顯示 924.5.4字符串的顯示 924.5.5混合數(shù)據的輸出 934.5.6提高輸出的可讀性 944.6案例學習 954.6.1庫存報告 954.6.2可靠性圖形 974.7復習題 994.8編程練習 101第5章判斷與分支 1025.1概述 1025.2if判斷語句 1025.3簡單if語句 1035.4if...else語句 1065.5嵌套if...else語句 1095.6階梯式else if語句 1125.7switch語句 1165.8? : 運算符 1195.9goto語句 1225.10案例學習 1255.10.1數(shù)值的分布范圍 1255.10.2賬單計算 1275.11復習題 1305.12編程練習 132第6章判斷與循環(huán) 1356.1概述 1356.2while語句 1376.3do語句 1396.4for語句 1416.4.1簡單的for循環(huán)語句 1416.4.2for循環(huán)的其他特性 1446.4.3for循環(huán)的嵌套 1466.5循環(huán)中的跳轉 1486.5.1跳出循環(huán) 1486.5.2跳過循環(huán)的一部分 1526.5.3避免使用goto語句 1556.5.4簡潔的測試表達式 1556.6案例學習 1566.6.1二項式系數(shù)表 1566.6.2柱狀圖 1586.6.3最小成本 1606.6.4描繪兩函數(shù)的曲線圖 1616.7復習題 1636.8編程練習 166第7章數(shù)組 1697.1概述 1697.2一維數(shù)組 1707.3一維數(shù)組的聲明 1717.4一維數(shù)組的初始化 1737.4.1編譯時初始化 1747.4.2運行時初始化 1757.5二維數(shù)組 1777.6二維數(shù)組的初始化 1817.7多維數(shù)組 1857.8動態(tài)數(shù)組 1867.9數(shù)組的其他 1867.10案例學習 1887.10.1數(shù)列的中值問題 1887.10.2標準偏差的計算 1907.10.3測試評分 1927.10.4產品與銷售分析 1947.11復習題 2017.12編程練習 203第8章字符數(shù)組與字符串 2068.1概述 2068.2字符串變量的聲明與初始化 2068.3使用scanf函數(shù)從終端讀取字符串 2088.3.1讀取文本行 2108.3.2使用getchar和gets函數(shù) 2108.4在屏幕上顯示字符串 2138.4.1使用printf函數(shù) 2138.4.2使用putchar和puts函數(shù) 2168.5字符的算術運算 2178.6將字符串組合在一起 2198.7兩個字符串的比較 2208.8字符串處理函數(shù) 2218.8.1strcat()函數(shù) 2218.8.2strcmp()函數(shù) 2228.8.3strcpy()函數(shù) 2228.8.4ctrlen()函數(shù) 2238.8.5其他字符串函數(shù) 2248.9字符串表 2268.10字符串的其他特性 2288.11案例學習 2298.11.1計算文本中的字數(shù) 2298.11.2客戶列表處理程序 2318.12復習題 2338.13編程練習 235第9章自定義函數(shù) 2379.1概述 2379.2為什么需要自定義函數(shù) 2379.3多函數(shù)程序 2389.4自定義函數(shù)的元素 2409.5函數(shù)的定義 2419.5.1函數(shù)頭 2419.5.2函數(shù)名與類型 2419.5.3形參列表 2429.5.4函數(shù)體 2429.6返回值及其類型 2439.7函數(shù)調用 2449.8函數(shù)聲明 2469.9函數(shù)的類型 2489.10無參數(shù)無返回值的函數(shù) 2489.11有參數(shù)無返回值的函數(shù) 2509.12有參數(shù)有返回值的函數(shù) 2539.13無參數(shù)但有一個返回值的函數(shù) 2579.14返回多個值的函數(shù) 2579.15函數(shù)的嵌套 2599.16函數(shù)的迭代 2609.17將數(shù)組傳遞給函數(shù) 2619.17.1一維數(shù)組 2619.17.2二維數(shù)組 2659.18將字符串傳遞給函數(shù) 2669.19變量的作用域、可見性和生存期 2679.19.1自動變量 2679.19.2外部變量 2699.19.3外部聲明 2719.19.4靜態(tài)變量 2739.19.5寄存器變量 2749.19.6嵌套代碼塊 2759.20多文件程序 2769.21案例學習 2799.22復習題 2829.23編程練習 286第10章結構與聯(lián)合 28810.1概述 28810.2結構的定義 28810.3聲明結構變量 28910.4訪問結構成員 29110.5結構的初始化 29210.6結構變量的復制與比較 29410.7單個成員的運算 29510.8結構數(shù)組 29610.9結構中的數(shù)組 29810.10結構中的結構 30010.11結構與函數(shù) 30210.12聯(lián)合 30410.13結構的大小 30610.14位域 30610.15案例學習 30910.16復習題 31310.17編程練習 316第11章指針 31911.1概述 31911.2理解指針 31911.3訪問變量的地址 32111.4指針變量的聲明 32211.5指針變量的初始化 32311.6通過指針訪問變量 32511.7指針鏈 32711.8指針表達式 32811.9指針的遞增與比例因子 32911.10指針與數(shù)組 33011.11指針與字符串 33311.12指針數(shù)組 33511.13指針作為函數(shù)的參數(shù) 33611.14函數(shù)返回指針 33911.15指向函數(shù)的指針 34011.16指針與結構 34211.17案例學習 34611.17.1考試成績處理程序 34611.17.2庫存更新程序 34911.18復習題 35111.19編程練習 352第12章文件管理 35412.1概述 35412.2定義并打開文件 35512.3關閉文件 35612.4文件的輸入輸出操作 35712.4.1getc與putc函數(shù) 35712.4.2getw和putw函數(shù) 35812.4.3fprintf與fscanf函數(shù) 36012.5I/O操作的錯誤處理 36212.6隨機訪問文件 36512.7命令行參數(shù) 36912.8復習題 37212.9編程練習 373第13章動態(tài)內存分配與鏈表 37413.1概述 37413.2動態(tài)內存分配 37413.3用malloc函數(shù)分配一塊內存 37513.4用calloc函數(shù)分配多個內存塊 37713.5用free函數(shù)釋放已用的空間 37813.6用realloc函數(shù)改變內存塊的大小 37813.7鏈表的概念 38013.8鏈表的優(yōu)點 38213.9鏈表的種類 38313.10再論指針 38413.11創(chuàng)建鏈表 38613.12插入一個數(shù)據項 38913.13刪除一個數(shù)據項 39213.14鏈表的應用 39413.15案例學習 39613.15.1在已排序鏈表中插入數(shù)據 39613.15.2構建一個已排序的鏈表 39913.16復習題 40213.17編程練習 403第14章預處理器 40514.1概述 40514.2宏替換指令 40514.2.1簡單宏替換 40614.2.2含參數(shù)的宏 40814.2.3宏嵌套 40914.2.4文件包含 41014.4編譯器控制指令 41014.4.1情形1 41114.4.2情形2 41214.4.3情形3 41214.4.4情形4 41314.5ANSI C的其他預處理器指令 41414.5.1#elif指令 41414.5.2#pragma指令 41414.5.3#error指令 41514.5.4字符串化運算符 41514.5.5標記符粘貼運算符 41614.6復習題 41614.7編程練習 417第15章C程序開發(fā)指導原則 41815.1概述 41815.2程序設計 41815.2.1問題分析 41815.2.2勾勒程序結構 41815.2.3算法開發(fā) 41915.2.4控制結構 41915.3程序編碼 42015.3.1自身文檔化 42015.3.2語句構造 42115.3.3輸入/輸出格式 42115.3.4程序的通用性 42115.4常見的程序錯誤 42215.4.1丟失分號 42215.4.2誤用分號 42215.4.3丟失括號 42315.4.4丟失引號 42415.4.5誤用引號 42415.4.6使用不正確的注釋字符 42415.4.7未定義變量 42515.4.8忽視了運算符的優(yōu)先級 42515.4.9忽視了遞增遞減運算符的計算順序 42615.4.10忽視了函數(shù)參數(shù)的說明 42615.4.11在函數(shù)調用中實參和形參類型不匹配 42615.4.12函數(shù)未聲明 42715.4.13在scanf的參數(shù)中丟失了&運算符 42715.4.14超出了數(shù)組的邊界 42815.4.15忘記了給字符串的空字符留出空間 42815.4.16使用未初始化的指針 42815.4.17丟失了間接運算符和地址運算符 42815.4.18在指針表達式中丟失括號 42915.4.19在宏定義語句中參數(shù)遺漏了括號 42915.5程序測試與調試 43015.5.1錯誤的類型 43015.5.2程序測試 43115.5.3程序調試 43215.6程序的效率 43215.6.1運行時間 43215.6.2內存需求 43215.7復習題 433附錄I位級程序設計 435I.1概述 435I.2逐位邏輯運算符 435I.2.1逐位與操作 435I.2.2逐位或操作 437I.2.3逐位非或操作 437I.3逐位移位運算符 438I.4逐位求反運算符 438I.5屏蔽 439附錄II 440附錄III 441附錄IV電話簿示例程序 444

作者簡介

暫缺《標準C程序設計》作者簡介

圖書目錄

目    錄
第1章  C語言概述    1
1.1  C語言的歷史    1
1.2  C語言的主要特性    2
1.3  示例程序1:顯示一條消息    3
1.4  示例程序2:兩個數(shù)相加    6
1.5  示例程序3:利息計算    7
1.6  示例程序4:子例程的使用    9
1.7  示例程序5:數(shù)學函數(shù)的使用    10
1.8  C程序的基本結構    12
1.9  編程風格    13
1.10  運行一個程序    13
1.11  UNIX系統(tǒng)環(huán)境下    14
1.11.1  創(chuàng)建程序    14
1.11.2  編譯與鏈接    15
1.11.3  運行程序    15
1.11.4  創(chuàng)建自己的可運行文件    16
1.11.5  多個源文件問題    16
1.12  MS-DOS系統(tǒng)環(huán)境下    17
1.13  復習題    18
1.14  編程練習    19
第2章  常量、變量及數(shù)據類型    21
2.1  概述    21
2.2  字符集    21
2.3  C標記符    22
2.4  關鍵字與標識符    22
2.5  常量    23
2.5.1  整型常量    24
2.5.2  實數(shù)常量    25
2.5.3  單字符常量    25
2.5.4  字符串常量    26
2.5.5  反斜杠字符常量    26
2.6  變量    26
2.7  數(shù)據類型    27
2.7.1  整數(shù)型    28
2.7.2  浮點數(shù)類型    29
2.7.3  void類型    30
2.7.4  字符類型    30
2.8  變量的聲明    30
2.8.1  基本類型的聲明    30
2.8.2  自定義類型的聲明    32
2.9  存儲類的聲明    33
2.10  變量的賦值    34
2.10.1  賦值語句    35
2.10.2  從鍵盤讀取數(shù)據    37
2.11  符號常量的定義    40
2.11.1  可修改性    40
2.11.2  可理解性    40
2.12  將變量聲明為常量    41
2.13  將變量聲明為可變的    41
2.14  數(shù)據的溢出    42
2.15  案例學習    43
2.15.1  平均數(shù)計算    43
2.15.2  溫度轉換問題    44
2.16  復習題    45
2.17  編程練習    47
第3章  運算符與表達式    48
3.1  概述    48
3.2  算術運算符    48
3.2.1  整數(shù)算術運算    49
3.2.2  實數(shù)算術運算    50
3.2.3  混合算術運算    50
3.3  關系運算符    50
3.4  邏輯運算符    52
3.5  賦值運算符    52
3.6  遞增和遞減運算符    54
3.7  條件運算符    55
3.8  逐位運算符    56
3.9  特殊運算符    56
3.9.1  逗號運算符    56
3.9.2  sizeof運算符    57
3.10  算術表達式    58
3.11  表達式的計算    58
3.12  算術表達式的優(yōu)先級    59
3.13  一些可計算性問題    61
3.14  表達式中的類型轉換    62
3.14.1  隱式類型轉換    62
3.14.2  顯示轉換    64
3.15  運算符的優(yōu)先級及其關聯(lián)    66
3.16  數(shù)學函數(shù)    67
3.17  案例學習    68
3.17.1  銷售人員的工資    68
3.17.2  二次方程的求解    69
3.18  復習題    71
3.19  編程練習    73
第4章  輸入輸出操作管理    75
4.1  概述    75
4.2  讀取一個字符    75
4.3  寫字符    78
4.4  格式化輸入    79
4.4.1  整數(shù)輸入    80
4.4.2  實數(shù)輸入    82
4.4.3  字符串輸入    83
4.4.4  混合數(shù)據類型的讀取    85
4.4.5  錯誤輸入的檢測    85
4.4.6  使用scanf函數(shù)時應記
住的幾個要點    87
4.5  格式化輸出    88
4.5.1  整數(shù)的輸出    89
4.5.2  實數(shù)的輸出    90
4.5.3  單個字符的顯示    92
4.5.4  字符串的顯示    92
4.5.5  混合數(shù)據的輸出    93
4.5.6  提高輸出的可讀性    94
4.6  案例學習    95
4.6.1  庫存報告    95
4.6.2  可靠性圖形    97
4.7  復習題    99
4.8  編程練習    101
第5章  判斷與分支    102
5.1  概述    102
5.2  if判斷語句    102
5.3  簡單if語句    103
5.4  if...else語句    106
5.5  嵌套if...else語句    109
5.6  階梯式else if語句    112
5.7  switch語句    116
5.8  ? : 運算符    119
5.9  goto語句    122
5.10  案例學習    125
5.10.1  數(shù)值的分布范圍    125
5.10.2  賬單計算    127
5.11  復習題    130
5.12  編程練習    132
第6章  判斷與循環(huán)    135
6.1  概述    135
6.2  while語句    137
6.3  do語句    139
6.4  for語句    141
6.4.1  簡單的for循環(huán)語句    141
6.4.2  for循環(huán)的其他特性    144
6.4.3  for循環(huán)的嵌套    146
6.5  循環(huán)中的跳轉    148
6.5.1  跳出循環(huán)    148
6.5.2  跳過循環(huán)的一部分    152
6.5.3  避免使用goto語句    155
6.5.4  簡潔的測試表達式    155
6.6  案例學習    156
6.6.1  二項式系數(shù)表    156
6.6.2  柱狀圖    158
6.6.3  最小成本    160
6.6.4  描繪兩函數(shù)的曲線圖    161
6.7  復習題    163
6.8  編程練習    166
第7章  數(shù)組    169
7.1  概述    169
7.2  一維數(shù)組    170
7.3  一維數(shù)組的聲明    171
7.4  一維數(shù)組的初始化    173
7.4.1  編譯時初始化    174
7.4.2  運行時初始化    175
7.5  二維數(shù)組    177
7.6  二維數(shù)組的初始化    181
7.7  多維數(shù)組    185
7.8  動態(tài)數(shù)組    186
7.9  數(shù)組的其他    186
7.10  案例學習    188
7.10.1  數(shù)列的中值問題    188
7.10.2  標準偏差的計算    190
7.10.3  測試評分    192
7.10.4  產品與銷售分析    194
7.11  復習題    201
7.12  編程練習    203
第8章  字符數(shù)組與字符串    206
8.1  概述    206
8.2  字符串變量的聲明與初始化    206
8.3  使用scanf函數(shù)從終端讀取字符串    208
8.3.1  讀取文本行    210
8.3.2  使用getchar和gets函數(shù)    210
8.4  在屏幕上顯示字符串    213
8.4.1  使用printf函數(shù)    213
8.4.2  使用putchar和puts函數(shù)    216
8.5  字符的算術運算    217
8.6  將字符串組合在一起    219
8.7  兩個字符串的比較    220
8.8  字符串處理函數(shù)    221
8.8.1  strcat()函數(shù)    221
8.8.2  strcmp()函數(shù)    222
8.8.3  strcpy()函數(shù)    222
8.8.4  ctrlen()函數(shù)    223
8.8.5  其他字符串函數(shù)    224
8.9  字符串表    226
8.10  字符串的其他特性    228
8.11  案例學習    229
8.11.1  計算文本中的字數(shù)    229
8.11.2  客戶列表處理程序    231
8.12  復習題    233
8.13  編程練習    235
第9章  自定義函數(shù)    237
9.1  概述    237
9.2  為什么需要自定義函數(shù)    237
9.3  多函數(shù)程序    238
9.4  自定義函數(shù)的元素    240
9.5  函數(shù)的定義    241
9.5.1  函數(shù)頭    241
9.5.2  函數(shù)名與類型    241
9.5.3  形參列表    242
9.5.4  函數(shù)體    242
9.6  返回值及其類型    243
9.7  函數(shù)調用    244
9.8  函數(shù)聲明    246
9.9  函數(shù)的類型    248
9.10  無參數(shù)無返回值的函數(shù)    248
9.11  有參數(shù)無返回值的函數(shù)    250
9.12  有參數(shù)有返回值的函數(shù)    253
9.13  無參數(shù)但有一個返回值的函數(shù)    257
9.14  返回多個值的函數(shù)    257
9.15  函數(shù)的嵌套    259
9.16  函數(shù)的迭代    260
9.17  將數(shù)組傳遞給函數(shù)    261
9.17.1  一維數(shù)組    261
9.17.2  二維數(shù)組    265
9.18  將字符串傳遞給函數(shù)    266
9.19  變量的作用域、可見性和生存期    267
9.19.1  自動變量    267
9.19.2  外部變量    269
9.19.3  外部聲明    271
9.19.4  靜態(tài)變量    273
9.19.5  寄存器變量    274
9.19.6  嵌套代碼塊    275
9.20  多文件程序    276
9.21  案例學習    279
9.22  復習題    282
9.23  編程練習    286
第10章  結構與聯(lián)合    288
10.1  概述    288
10.2  結構的定義    288
10.3  聲明結構變量    289
10.4  訪問結構成員    291
10.5  結構的初始化    292
10.6  結構變量的復制與比較    294
10.7  單個成員的運算    295
10.8  結構數(shù)組    296
10.9  結構中的數(shù)組    298
10.10  結構中的結構    300
10.11  結構與函數(shù)    302
10.12  聯(lián)合    304
10.13  結構的大小    306
10.14  位域    306
10.15  案例學習    309
10.16  復習題    313
10.17  編程練習    316
第11章  指針    319
11.1  概述    319
11.2  理解指針    319
11.3  訪問變量的地址    321
11.4  指針變量的聲明    322
11.5  指針變量的初始化    323
11.6  通過指針訪問變量    325
11.7  指針鏈    327
11.8  指針表達式    328
11.9  指針的遞增與比例因子    329
11.10  指針與數(shù)組    330
11.11  指針與字符串    333
11.12  指針數(shù)組    335
11.13  指針作為函數(shù)的參數(shù)    336
11.14  函數(shù)返回指針    339
11.15  指向函數(shù)的指針    340
11.16  指針與結構    342
11.17  案例學習    346
11.17.1  考試成績處理程序    346
11.17.2  庫存更新程序    349
11.18  復習題    351
11.19  編程練習    352
第12章  文件管理    354
12.1  概述    354
12.2  定義并打開文件    355
12.3  關閉文件    356
12.4  文件的輸入輸出操作    357
12.4.1  getc與putc函數(shù)    357
12.4.2  getw和putw函數(shù)    358
12.4.3  fprintf與fscanf函數(shù)    360
12.5  I/O操作的錯誤處理    362
12.6  隨機訪問文件    365
12.7  命令行參數(shù)    369
12.8  復習題    372
12.9  編程練習    373
第13章  動態(tài)內存分配與鏈表    374
13.1  概述    374
13.2  動態(tài)內存分配    374
13.3  用malloc函數(shù)分配一塊內存    375
13.4  用calloc函數(shù)分配多個內存塊    377
13.5  用free函數(shù)釋放已用的空間    378
13.6  用realloc函數(shù)改變內存塊的大小    378
13.7  鏈表的概念    380
13.8  鏈表的優(yōu)點    382
13.9  鏈表的種類    383
13.10  再論指針    384
13.11  創(chuàng)建鏈表    386
13.12  插入一個數(shù)據項    389
13.13  刪除一個數(shù)據項    392
13.14  鏈表的應用    394
13.15  案例學習    396
13.15.1  在已排序鏈表中
插入數(shù)據    396
13.15.2  構建一個已排序的鏈表    399
13.16  復習題    402
13.17  編程練習    403
第14章  預處理器    405
14.1  概述    405
14.2  宏替換指令    405
14.2.1  簡單宏替換    406
14.2.2  含參數(shù)的宏    408
14.2.3  宏嵌套    409
14.2.4  文件包含    410
14.4  編譯器控制指令    410
14.4.1  情形1    411
14.4.2  情形2    412
14.4.3  情形3    412
14.4.4  情形4    413
14.5  ANSI C的其他預處理器指令    414
14.5.1  #elif指令    414
14.5.2  #pragma指令    414
14.5.3  #error指令    415
14.5.4  字符串化運算符    415
14.5.5  標記符粘貼運算符    416
14.6  復習題    416
14.7  編程練習    417
第15章  C程序開發(fā)指導原則    418
15.1  概述    418
15.2  程序設計    418
15.2.1  問題分析    418
15.2.2  勾勒程序結構    418
15.2.3  算法開發(fā)    419
15.2.4  控制結構    419
15.3  程序編碼    420
15.3.1  自身文檔化    420
15.3.2  語句構造    421
15.3.3  輸入/輸出格式    421
15.3.4  程序的通用性    421
15.4  常見的程序錯誤    422
15.4.1  丟失分號    422
15.4.2  誤用分號    422
15.4.3  丟失括號    423
15.4.4  丟失引號    424
15.4.5  誤用引號    424
15.4.6  使用不正確的注釋字符    424
15.4.7  未定義變量    425
15.4.8  忽視了運算符的優(yōu)先級    425
15.4.9  忽視了遞增遞減運算符
的計算順序    426
15.4.10  忽視了函數(shù)參數(shù)的說明    426
15.4.11  在函數(shù)調用中實參和
形參類型不匹配    426
15.4.12  函數(shù)未聲明    427
15.4.13  在scanf的參數(shù)中丟失了
&運算符    427
15.4.14  超出了數(shù)組的邊界    428
15.4.15  忘記了給字符串的空字符
留出空間    428
15.4.16  使用未初始化的指針    428
15.4.17  丟失了間接運算符和
地址運算符    428
15.4.18  在指針表達式中丟失
括號    429
15.4.19  在宏定義語句中參數(shù)
遺漏了括號    429
15.5  程序測試與調試    430
15.5.1  錯誤的類型    430
15.5.2  程序測試    431
15.5.3  程序調試    432
15.6  程序的效率    432
15.6.1  運行時間    432
15.6.2  內存需求    432
15.7  復習題    433
附錄I  位級程序設計    435
I.1  概述    435
I.2  逐位邏輯運算符    435
I.2.1  逐位與操作    435
I.2.2  逐位或操作    437
I.2.3  逐位非或操作    437
I.3  逐位移位運算符    438
I.4  逐位求反運算符    438
I.5  屏蔽    439
附錄II    440
附錄III    441
附錄IV  電話簿示例程序    444

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號