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