出版時間:2002-7 出版社:人民郵電出版社 作者:(美)klaus michelsen 頁數:689 字數:1435000 譯者:云巔工作室 周良忠
Tag標簽:無
內容概要
本書全面介紹了微軟最新推出的編程語言C#。第1章介紹了學習C#必需的軟、硬件概念。第2~5章介紹了C#的基本語言元素與結構。第6~9章講解了進行C#編程的一些概念,包括類型、操作符、分支語句、迭代語句等。第10~11章討論了數組的使用。第12~18章詳細討論了如何運用C#進行面向對象編程。第19~20章分別介紹了C#中的異常處理、代表與事件。第21~23章介紹了一些C#編程的相關知識,如提取XML說明文檔、I/O基礎知識及遞歸。每章都配備了大量復習題和編程練習,附錄部分提供了參考答案。 本書面向C#初學者也適合于有經驗的程序員學習和轉向C#編程。
書籍目錄
第1章 計算機和計算機編程:基本概念 11.1 C#是一種面向對象編程語言 21.2 硬件 31.2.1 主存儲器的實質 41.2.2 數字系統(tǒng) 51.2.3 字節(jié) 51.2.4 文件 61.3 軟件 61.3.1 執(zhí)行C#程序的大致過程 71.3.2 操作系統(tǒng) 71.3.3 編程語言和編譯器 71.3.4 .NET簡介 81.3.5 在.NET中編譯C#源代碼 91.4 小結 101.5 復習題 11第2章 你的第一個C#程序 122.1 軟件開發(fā) 132.2 軟件開發(fā)過程 132.3 算法和偽碼 142.4 3個不同的錯誤類型 152.5 面向對象編程:初次體驗 162.5.1 面向過程編程及其先天缺陷 162.5.2 面向對象編程及其優(yōu)點 172.6 軟件重用 192.7 .NET中代碼重用的基本單元:集合 212.7.1 從開發(fā)者角度看集合 212.7.2 從用戶角度看集合 222.8 .NET框架類庫 232.9 C#的歷史和設計目標 242.10 C#背景 242.11 C#的設計目標 262.12 能用C#編寫什么樣的程序 272.13 創(chuàng)建C#程序的原理 282.14 開始編程之前 282.15 選擇文本編輯器 282.16 編寫一個簡單C#程序的7步 292.16.1 打開和使用命令控制臺(第1步) 292.16.2 輸入和保存C#源代碼(第2步) 302.16.3 將源代碼轉換成一個PE(.exe)文件(第3步) 322.16.4 編譯和查找錯誤(第4步) 322.16.5 運行程序(第5步) 332.16.6 驗證輸入(第6步) 332.16.7 慶祝的時刻(第7步) 332.17 源代碼簡短分析 332.18 語法錯誤與編譯器的注釋 342.19 小結 342.20 復習題 352.21 編程練習 35第3章 C#導游:第一部分 363.1 簡介 373.2 抽象和封裝 373.2.1 抽象(Abstraction) 373.2.2 封裝(Encapsulation) 383.2.3 學習面向對象編程的一個說明 413.3 一個交互式的Hello World!程序 423.3.1 編寫Hello.cs 423.3.2 Hello.cs程序的基本元素 443.3.3 幾個基本知識 513.4 小結 553.5 復習題 553.6 編程練習 56第4章 C#導游:第二部分 574.1 簡介 584.2 SimpleCalculator.cs程序所需元素 584.2.1 SimpleCalculator.cs程序清單 584.2.2 對SimpleCalculator.cs程序的詳細分析 604.3 用方法簡化你的代碼 674.4 方法就是構造塊:用關鍵字private封裝你的Helper方法 684.5 小結 694.6 復習題 694.7 編程練習 70第5章 你的第一個面向對象C#程序 715.1 簡介 725.2 詞匯結構 725.2.1 標識符和CaPitaLIcaTioN樣式 725.2.2 字面值 725.2.3 注釋和代碼詮釋 735.2.4 分隔符 735.2.5 操作符 735.2.6 關鍵字 745.3 對電梯模擬的一些思考 745.4 概念、目標和電梯模擬程序方案:為評價電梯系統(tǒng)搜集有用統(tǒng)計數據 745.5 面向對象程序的一個實例 755.5.1 程序SimpleElevatorSimulation.cs清單 765.5.2 程序的整體結構 785.5.3 對SimpleElevatorSimulation.cs程序的深入分析 795.5.4 類關系和統(tǒng)一模型語言(UML) 855.6 小結 885.7 復習題 885.8 編程練習 89第6章 類型第一部分:簡單類型 906.1 簡介 916.2 概覽C#中的類型 916.2.1 什么是類型 916.2.2 C#:一個強類型化語言 926.2.3 類型的優(yōu)點 936.2.4 C#類型 946.3 簡單類型 986.3.1 概觀簡單類型 996.3.2 整數類型 1026.4 Blipos時鐘 1126.4.1 浮點類型 1196.4.2 decimal類型 1236.4.3 浮點、decimal和整數值的兼容性 1246.4.4 顯式類型轉換 1246.4.5 常量:字面值的符號名字 1256.4.6 格式化數字值 1286.4.7 bool類型:初步接觸 1306.5 小結 1306.6 復習題 1316.7 編程練習 132第7章 類型第二部分:操作符、枚舉器和字符串 1337.1 簡介 1347.2 算術操作符及數字表達式 1347.3 結合性 1377.4 括號和優(yōu)先級 1387.5 模操作符(%) 1397.6 一元操作符 1437.6.1 一元加和一元減 1437.6.2 自增和自減操作符 1447.7 判斷表達式的類型 1467.8 在一個表達式中組合不同的類型 1487.9 訪問組件的元數據:簡介 1517.10 枚舉常量 1547.11 枚舉器操作符 1567.12 轉換 1577.13 System.Enum方法 1577.14 字符和文本 1577.15 char類型 1577.16 string類型 1607.16.1 string字面值和string對象 1617.16.2 逐字字符 1617.16.3 使用字符串 1627.16.4 在字符串中嵌入格式化數字 1647.16.5 使用字符串 1677.17 小結 1787.18 復習題 1797.19 編程練習 180第8章 流程控制第一部分:分支語句及相關概念 1818.1 流程控制簡介 1828.2 if分支語句 1838.2.1 簡單if語句 1838.2.2 復合語句 1848.2.3 可選else子句 1858.3 比較操作符和布爾表達式 1878.4 嵌套if語句 1898.5 多分支if-else語句 1938.6 邏輯操作符 1968.6.1 邏輯與(AND)操作符:&& 1988.6.2 邏輯或(OR)操作符:|| 2008.6.3 短路求值和位操作符&與| 2028.6.4 位異或操作符:^ 2038.6.5 邏輯非(NOT)操作符:! 2038.7 變量的作用域 2058.8 goto語句 2088.9 switch語句 2108.9.1 switch語句規(guī)則1 2138.9.2 switch語句規(guī)則2 2148.9.3 switch語句規(guī)則3 2168.9.4 switch語句規(guī)則4 2188.9.5 使用switch語句 2188.10 條件操作符 2198.11 小結 2198.12 復習題 2208.13 編程練習 221第9章 流程控制第二部分:迭代語句 2229.1 遍歷、分析和生成數據序列 2239.2 while循環(huán)語句 2239.3 do-while循環(huán)語句 2279.4 for循環(huán)語句 2309.5 跳轉語句break和continue 2359.5.1 break語句 2359.5.2 continue語句 2369.6 結構化編程和結構化的結構 2379.7 組合賦值操作符 2399.8 嵌套迭代語句 2419.9 編程練習 2469.10 小結 2479.11 復習題 2489.12 編程練習 249第10章 數組第一部分:數組基本知識 25110.1 數組的聲明和定義 25210.2 訪問單個數組元素 25510.3 數組索引越界 25910.4 調整基于0的數組索引 26210.5 初始化數組 26310.6 用foreach語句遍歷整個數組 26410.7 System.Array是一個引用類型 26510.8 數組和相等性 26710.9 數組和方法 26910.9.1 數組元素作為方法中的參數 26910.9.2 數組引用作為方法參數 27010.9.3 克隆數組對象 27310.10 執(zhí)行數組值相等性比較的方法 27610.11 命令行參數 27710.12 使用數組作為方法的返回值 27910.13 引用對象的數組元素 28210.14 數組作為類中的實例變量 28510.15 小結 29210.16 復習題 29310.17 編程練習 294第11章 數組第二部分:多維數組——數組檢索與排序 29511.1 多維數組 29611.1.1 二維數組 29611.1.2 鋸齒數組 31111.2 多于二維的數組 31411.3 System.Array的內置方法 31711.4 特殊數組技術 31811.5 檢索 32511.5.1 順序檢索(Sequential Search) 32611.5.2 二分檢索(Binary Search) 32711.5.3 用System.Array的IndexOf方法檢索 33211.6 小結 33311.7 復習題 33311.8 編程練習 334第12章 類解剖第一部分:靜態(tài)類成員和方法的使用 33512.1 類解剖:概覽 33612.2 數據成員(data member) 33812.2.1 實例變量(instance variable) 33812.2.2 靜態(tài)變量(static variable) 33812.2.3 常量成員(constant member) 34412.2.4 只讀成員(readonly member) 34512.2.5 聲明數據成員:概覽 34512.3 函數成員 34612.3.1 方法 34612.3.2 靜態(tài)方法(static methods) 34812.4 小結 37012.5 復習題 37112.6 編程練習 373第13章 類解剖第二部分: 對象創(chuàng)建和垃圾回收 37513.1 實例構造函數 37613.1.1 為什么需要實例構造函數 37613.1.2 使用實例構造函數 37813.1.3 重載實例構造函數 38113.1.4 構造函數初始化器 38613.1.5 私有實例構造函數 38813.2 靜態(tài)構造函數 38813.3 只讀成員(readonly member) 38913.4 垃圾回收:自動動態(tài)內存管理 39013.4.1 對象如何被廢棄 39013.4.2 垃圾回收器的任務 39313.4.3 釋放非內存有限資源 39413.5 小結 40513.6 復習題 40613.7 編程練習 407第14章 類解剖第三部分: 編寫直觀代碼 40914.1 屬性 41014.1.1 屬性與存取器和變異器方法 41014.1.2 使用屬性提高效率 41514.1.3 用屬性實現延遲初始化和惰性更新 41614.2 索引器:像數組一樣使用對象 41914.2.1 從索引器所寄居的對象中調用索引器 42214.2.2 索引器重載:同一類中的多索引器 42214.2.3 避免濫用索引器 42614.3 操作符重載 42714.4 用戶自定義隱式和顯式轉換 43414.4.1 需要用戶自定義轉換的兩種情形 43514.4.2 使用非用戶自定義轉換技術 43614.4.3 用戶自定義轉換語法 43614.4.4 綜合運用用戶自定義和隱式轉換 44114.5 嵌套類型 44214.5.1 嵌套類的優(yōu)點 44314.5.2 簡單嵌套類示例 44314.6 小結 44414.7 復習題 44414.8 編程練習 446第15章 名字空間、編譯單元和集合 44715.1 自定義名字空間 44815.2 全局匿名名字空間 44815.3 名字空間和編譯單元 44915.4 嵌套名字空間 45015.5 名字空間語法 45215.6 using指示符的更多知識 45315.7 編譯單元、名字空間及集合 45515.7.1 將幾個編譯單元編譯成一個集合 45515.7.2 重用集合中的名字空間 45815.7.3 將名字空間分布到幾個集合中 46015.8 應用Ildasm探索集合 46215.9 小結 46415.10 復習題 46415.11 編程練習 466第16章 繼承第一部分:基本概念 46716.1 繼承的必需性 46816.2 繼承基礎知識 47316.3 訪問修飾符及繼承 48016.3.1 訪問修飾符protected 48016.3.2 訪問私有基類成員 48016.3.3 internal protected訪問修飾符 48116.3.4 C#的訪問修飾符:概覽 48116.4 派生類構造函數 48216.5 索引器也能被繼承和覆蓋 48516.6 在基類中調用覆蓋函數 48716.7 通過繼承重用.NET框架類庫 49016.8 多級派生類 49116.9 方法覆蓋及重載原理不同 49416.10 小結 49516.11 復習題 49616.12 編程練習 497第17章 繼承第二部分:抽象函數、多態(tài)及接口 49917.1 抽象方法、屬性、索引器及類 50017.2 多態(tài)(polymorphism) 50317.2.1 后代類的對象具有多個類型 50317.2.2 動態(tài)捆綁虛方法和(get,set)存取器 50317.2.3 實例學習:使用多態(tài)創(chuàng)建簡單繪圖程序 50517.3 丟失和重新獲取類型信息 51117.3.1 is操作符 51117.3.2 對象類型轉換 51117.3.3 as操作符 51417.4 最終的基類:System.Object 51417.5 隱藏方法 51817.6 用new和override關鍵字控制版本 52017.7 多重繼承 52217.8 接口 52317.8.1 定義接口 52417.8.2 實現接口 52617.8.3 應用接口的一般編程 52817.8.4 構建接口層次 53117.8.5 接口轉換 53217.8.6 覆蓋虛接口 53217.8.7 顯式實現接口函數 53317.9 小結 53517.10 復習題 53517.11 編程練習 536第18章 結構 53818.1 定義結構 53918.2 裝箱和拆箱 54118.3 用與不用new關鍵字創(chuàng)建結構 54218.4 值類型和引用類型 54318.5 小結 54418.6 復習題 54418.7 編程練習 544第19章 異常處理 54519.1 異常處理概覽 54619.2 沒有try-catch-finally的情形 54619.3 try和catch塊 54819.4 捕獲函數調用鏈上端的異常對象 55019.5 多重catch塊 55119.6 finally塊 55219.7 嵌套try塊 55419.8 用throw顯式拋出異常 55519.9 編寫自定義異常 55719.10 小結 56019.11 復習題 56019.12 編程練習 561第20章 代表和事件 56220.1 代表 56320.1.1 代表數組及方法調用中作為參數的代表 56520.1.2 組播代表 56920.2 事件 57120.3 小結 57720.4 復習題 57720.5 編程練習 577第21章 預處理、XML文檔及特性 57921.1 預處理程序指令 58021.1.1 用#define、#if和#endif排除和包含代碼 58021.1.2 #undef:取消定義標識符 58221.1.3 #elif和#else 58221.1.4 #error和#warning 58221.1.5 #region和#endregion 58221.1.6 #line 58221.2 XML說明文檔 58321.3 特性 58421.4 小結 58821.5 復習題 58821.6 編程練習 589第22章 文件I/O基礎 59222.1 對文件的需要 59322.2 流基礎和文件I/O 59322.3 文件I/O類概覽 59322.4 FileInfo類 59422.5 用StreamReader和StreamWriter 進行文本文件輸入和輸出 59622.6 用FileStream類進行二進制輸入和輸出 60022.7 小結 60222.8 復習題 60222.9 編程練習 603第23章 遞歸基礎知識 60423.1 不同方法的待決方法實例 60523.2 同一個方法的待決方法實例 60623.3 應用遞歸計算n的階乘 60823.4 遞歸和迭代 61023.5 使用遞歸進行二分檢索 61123.6 小結 61323.7 復習題 61423.8 編程練習 614附錄A 復習題和編程練習答案 616
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載