《C#入門經典(第4版)》通過C#可以很容易地學習.NET Framework 3.5的強大功能,所以C#是開始您編程生涯的絕佳方式。《C#入門經典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數據源的使用等內容。學習了新的編程技巧后,《C#入門經典(第4版)》介紹了如何高效地部署應用程序和服務,論述了許多高級技術,如圖形化編程。另外,還探討了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有這些內容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的變化。各章的樣例代碼和示例還可以用于創建強大且安全的應用程序。 c#入門經典第4版目錄 第Ⅰ部分 C# 語 言 第1章 C#簡介 3 1.1 什么是.NET Framework 3 1.1.1 NET Framework的內容 4 1.1.2 用.NET Framework編寫應用程序 4 1.2 什么是C# 7 1.2.1 用C#能編寫什么樣的應用程序 7 1.2.2 本書中的C# 8 1.3 Visual Studio 2008 8 1.3.1 Visual Studio 2008 Express 產品 9 1.3.2 解決方案 9 1.4 小結 9 第2章 編寫C#程序 10 2.1 開發環境 10 2.1.1 Visual Studio 2008 11 2.1.2 Visual C# 2008 ExpressEdition 13 2.2 控制臺應用程序 13 2.2.1 Solution Explorer 16 2.2.2 Properties窗口 17 2.2.3 Error List窗口 17 2.3 Windows Forms應用程序 18 2.4 小結 22 第3章 變量和表達式 23 3.1 C#的基本語法 23 3.2 C#控制臺應用程序的基本結構 25 3.3 變量 27 3.3.1 簡單類型 27 3.3.2 變量的命名 31 3.3.3 字面值 32 3.3.4 變量的聲明和賦值 33 3.4 表達式 34 3.4.1 數學運算符 34 3.4.2 賦值運算符 38 3.4.3 運算符的優先級 39 3.4.4 名稱空間 39 3.5 小結 42 3.6 練習 43 第4章 流程控制 44 4.1 布爾邏輯 44 4.1.1 位運算符 46 4.1.2 布爾賦值運算符 50 4.1.3 運算符的優先級更新 51 4.2 goto語句 52 4.3 分支 53 4.3.1 三元運算符 53 4.3.2 if語句 54 4.3.3 switch語句 57 4.4 循環 60 4.4.1 do循環 61 4.4.2 while循環 63 4.4.3 for循環 65 4.4.4 循環的中斷 69 4.4.5 無限循環 70 4.5 小結 70 4.6 練習 71 第5章 變量的更多內容 72 5.1 類型轉換 72 5.1.1 隱式轉換 72 5.1.2 顯式轉換 74 5.1.3 使用Convert命令進行 顯式轉換 76 5.2 復雜的變量類型 79 5.2.1 枚舉 79 5.2.2 結構 83 5.2.3 數組 86 5.3 字符串的處理 91 5.4 小結 95 5.5 練習 96 第6章 函數 97 6.1 定義和使用函數 98 6.1.1 返回值 99 6.1.2 參數 101 6.2 變量的作用域 107 6.2.1 其他結構中變量的作用域 110 6.2.2 參數和返回值與全局數據 111 6.3 Main()函數 113 6.4 結構函數 114 6.5 函數的重載 115 6.6 委托 117 6.7 小結 119 6.8 練習 120 第7章 調試和錯誤處理 121 7.1 VS和VCE中的調試 121 7.1.1 非中斷(正常)模式下的調試 122 7.1.2 中斷模式下的調試 131 7.2 錯誤處理 139 7.2.1 try...catch...finally 140 7.2.2 列出和配置異常 144 7.2.3 異常處理的注意事項 145 7.3 小結 146 7.4 練習 146 第8章 面向對象編程簡介 147 8.1 什么是面向對象編程 147 8.1.1 什么是對象 148 8.1.2 所有的東西都是對象 151 8.1.3 對象的生命周期 151 8.1.4 靜態和實例類成員 152 8.2 OOP技術 153 8.2.1 接口 153 8.2.2 繼承 155 8.2.3 多態性 156 8.2.4 對象之間的關系 157 8.2.5 運算符重載 159 8.2.6 事件 159 8.2.7 引用類型和值類型 160 8.3 Windows應用程序中的OOP 160 8.4 小結 162 8.5 練習 163 第9章 定義類 164 9.1 C#中的類定義 164 9.2 System.Object 169 9.3 構造函數和析構函數 170 9.4 VS和VCE中的OOP工具 174 9.4.1 Class View窗口 174 9.4.2 對象瀏覽器 176 9.4.3 添加類 177 9.4.4 類圖 177 9.5 類庫項目 179 9.6 接口和抽象類 182 9.7 結構類型 184 9.8 小結 186 9.9 練習 186 第10章 定義類成員 187 10.1 成員定義 187 10.1.1 定義字段 187 10.1.2 定義方法 188 10.1.3 定義屬性 189 10.1.4 在類圖中添加成員 194 10.1.5 重制成員 196 10.1.6 自動屬性 197 10.2 類成員的其他議題 197 10.2.1 隱藏基類方法 198 10.2.2 調用重寫或隱藏的基類方法 199 10.2.3 嵌套的類型定義 200 10.3 接口的實現 201 10.4 部分類定義 204 10.5 部分方法定義 206 10.6 示例應用程序 207 10.6.1 規劃應用程序 207 10.6.2 編寫類庫 208 10.6.3 類庫的客戶應用程序 214 10.7 小結 215 10.8 練習 216 第11章 集合、比較和轉換 217 11.1 集合 217 11.1.1 使用集合 218 11.1.2 定義集合 224 11.1.3 索引符 225 11.1.4 給CardLib添加Cards集合 227 11.1.5 關鍵字值集合和IDictionary 229 11.1.6 迭代器 231 11.1.7 深度復制 236 11.1.8 給CardLib添加深度復制 238 11.2 比較 239 11.2.1 類型比較 240 11.2.2 值比較 244 11.3 轉換 259 11.3.1 重載轉換運算符 259 11.3.2 as運算符 260 11.4 小結 261 11.5 練習 262 第12章 泛型 263 12.1 泛型的概念 263 12.2 使用泛型 264 12.2.1 可空類型 264 12.2.2 System.Collections.Generic 名稱空間 271 12.3 定義泛型 279 12.3.1 定義泛型類 280 12.3.2 定義泛型接口 291 12.3.3 定義泛型方法 291 12.3.4 定義泛型委托 293 12.4 小結 293 12.5 練習 293 第13章 其他OOP技術 295 13.1 ::運算符和全局名稱空間 13.2 定制異常 296 13.2.1 異常基類 297 13.2.2 給CardLib添加定制異常 297 13.3 事件 298 13.3.1 什么是事件 298 13.3.2 使用事件 300 13.3.3 定義事件 302 13.4 擴展和使用CardLib 309 13.5 小結 317 13.6 練習 317 第14章 C# 3.0語言的改進 318 14.1 初始化器 318 14.1.1 對象初始化器 319 14.1.2 集合初始化器 320 14.2 類型推斷 323 14.3 匿名類型 325 14.4 擴展方法 328 14.5 ?表達式 333 14.5.1 復習匿名方法 333 14.5.2 把?表達式用于匿名方法 334 14.5.3 ?表達式的參數 337 14.5.4 ?表達式的語句體 337 14.5.5 ?表達式用作委托和表達式樹 338 14.5.6 ?表達式和集合 339 14.6 小結 342 14.7 練習 342 第Ⅱ部分 Windows 編 程 第15章 Windows編程基礎 347 15.1 控件 347 15.1.1 屬性 348 15.1.2 控件的定位、停靠和對齊 349 15.1.3 事件 350 15.2 Button控件 352 15.2.1 Button控件的屬性 352 15.2.2 Button控件的事件 353 15.3 Label和LinkLabel控件 354 15.4 TextBox控件 355 15.4.1 TextBox控件的屬性 355 15.4.2 TextBox控件的事件 356 15.5 RadioButton和CheckBox控件 363 15.5.1 RadioButton控件的屬性 364 15.5.2 RadioButton控件的事件 364 15.5.3 CheckBox控件的屬性 364 15.5.4 CheckBox控件的事件 364 15.5.5 GroupBox控件 365 15.6 RichTextBox控件 368 15.6.1 RichTextBox控件的屬性 368 15.6.2 RichTextBox控件的事件 369 15.7 ListBox和CheckedListBox控件 374 15.7.1 ListBox控件的屬性 375 15.7.2 ListBox控件的方法 376 15.7.3 ListBox控件的事件 376 15.8 ListView控件 378 15.8.1 ListView控件的屬性 378 15.8.2 ListView控件的方法 380 15.8.3 ListView控件的事件 381 15.8.4 ListViewItem 381 15.8.5 ColumnHeader 381 15.8.6 ImageList控件 381 15.9 TabControl控件 388 15.9.1 TabControl控件的屬性 389 15.9.2 使用TabControl控件 389 15.10 小結 392 15.11 練習 392 第16章 Windows Forms的高級功能 393 16.1 菜單和工具欄 393 16.1.1 兩個實質一樣的控件 393 16.1.2 使用MenuStrip控件 394 16.1.3 手工創建菜單 394 16.1.4 ToolStripMenuItem控件的其他屬性 397 16.1.5 給菜單添加功能 397 16.2 工具欄 399 16.2.1 ToolStrip控件的屬性 399 16.2.2 ToolStrip的項 400 16.2.3 StatusStrip控件 405 16.2.4 StatusStripStatusLabel的屬性 405 16.3 SDI和MDI應用程序 407 16.4 創建控件 415 16.4.1 LabelTextbox控件 417 16.4.2 調試用戶控件 420 16.4.3 擴展LabelTextbox控件 421 16.5 小結 424 16.6 練習 424 第17章 使用通用對話框 425 17.1 通用對話框 425 17.2 如何使用對話框 426 17.3 文件對話框 427 17.3.1 OpenFileDialog 427 17.3.2 SaveFileDialog 438 17.4 打印 442 17.4.1 打印結構 442 17.4.2 打印多個頁面 447 17.4.3 PageSetupDialog 449 17.4.4 PrintDialog 451 17.5 打印預覽 455 17.5.1 PrintPreviewDialog 455 17.5.2 PrintPreviewControl 456 17.6 FontDialog和ColorDialog 457 17.6.1 FontDialog 457 17.6.2 ColorDialog 459 17.6.3 FolderBrowserDialog 460 17.7 小結 461 17.8 練習 461 第18章 部署Windows應用程序 463 18.1 部署概述 463 18.2 ClickOnce部署 464 18.3 Visual Studio安裝和部署項目類型 473 18.4 Microsoft Windows安裝程序結構 474 18.4.1 Windows Installer術語 474 18.4.2 Windows Installer的優點 476 18.5 為SimpleEditor創建安裝軟件包 476 18.5.1 規劃安裝內容 476 18.5.2 創建項目 477 18.5.3 項目屬性 478 18.5.4 安裝編輯器 480 18.5.5 File System編輯器 481 18.5.6 File Types編輯器 483 18.5.7 Launch Condition編輯器 485 18.5.8 User Interface編輯器 485 18.6 構建項目 488 18.7 安裝 489 18.7.1 Welcome 489 18.7.2 Read Me 489 18.7.3 License Agreement 490 18.7.4 Optional Files 490 18.7.5 選擇安裝文件夾 491 18.7.6 確認安裝 492 18.7.7 進度 492 18.7.8 結束安裝 493 18.7.9 運行應用程序 493 18.7.10 卸載 493 18.8 小結 493 18.9 練習 494 第Ⅲ部分 Web 編 程 第19章 Web編程基礎 497 19.1 概述 497 19.2 ASP .NET運行庫 498 19.3 創建簡單的Web頁面 498 19.4 服務器控件 504 19.5 事件處理程序 505 19.6 輸入的有效性驗證 509 19.7 狀態管理 512 19.7.1 客戶端的狀態管理 513 19.7.2 服務器端的狀態管理 515 19.8 身份驗證和授權 517 19.8.1 身份驗證的配置 518 19.8.2 使用安全控件 522 19.9 讀寫SQL Server數據庫 524 19.10 小結 530 19.11 練習 531 第20章 Web高級編程 532 20.1 母版頁 532 20.2 站點導航 537 20.3 用戶控件 539 20.4 個性化配置 541 20.4.1 個性化配置組 543 20.4.2 組件的個性化配置 543 20.4.3 定制數據類型中的個性化配置 543 20.4.4匿名用戶的個性化配置 544 20.5 Web Parts 545 20.5.1 WebPartManager控件 546 20.5.2 WebPartZone控件 546 20.5.3 EditorZone控件 548 20.5.4 CatalogZone控件 550 20.5.5 ConnectionsZone控件 551 20.6 JavaScript 554 20.6.1 Script元素 555 20.6.2 變量的聲明 555 20.6.3 定義函數 555 20.6.4 語句 556 20.6.5 對象 556 20.7 小結 560 20.8 練習 560 第21章 Web服務 561 21.1 Web服務推出之前 561 21.1.1 遠程過程調用(RPC) 562 21.1.2 SOAP 563 21.2 使用Web服務的場合 563 21.2.1 賓館旅行社代理應用程序 564 21.2.2 圖書發布應用程序 564 21.2.3 客戶應用程序的類型 564 21.2.4 應用程序的體系結構 564 21.3 Web服務的體系結構 565 21.3.1 可以調用的方法 565 21.3.2 調用方法 566 21.3.3 SOAP和防火墻 567 21.3.4 WS-I基本個性化配置 568 21.4 Web服務和.NET Framework 568 21.4.1 創建Web服務 568 21.4.2 客戶程序 570 21.5 創建簡單的ASP .NET Web服務 571 21.6 測試Web服務 572 21.7 執行Windows客戶程序 574 21.8 異步調用服務 577 21.9 執行ASP .NET客戶程序 580 21.10 傳送數據 581 21.11 小結 584 21.12 練習 584 第22章 Ajax編程 586 22.1 Ajax概述 586 22.2 UpdatePanel控件 587 22.3 Timer控件 591 22.4 UpdateProgress控件 592 22.5 Web服務 594 22.6 擴展控件 598 22.7 小結 600 22.8 練習 600 第23章 部署Web應用程序 601 23.1 Internet Information Services 601 23.2 IIS配置 602 23.3 復制Web站點 604 23.4 發布Web站點 606 23.5 Windows安裝程序 607 23.5.1 創建安裝程序 607 23.5.2 安裝Web 應用程序 609 23.6 小結 610 23.7 練習 610 第Ⅳ部分 數 據 訪 問 第24章 文件系統數據 613 24.1 流 613 24.2 用于輸入和輸出的類 614 24.2.1 File類和Directory類 615 24.2.2 FileInfo類 616 24.2.3 DirectoryInfo類 617 24.2.4 路徑名和相對路徑 618 24.2.5 FileStream對象 618 24.2.6 StreamWriter對象 624 24.2.7 StreamReader對象 626 24.2.8 讀寫壓縮文件 632 24.3 序列化對象 635 24.4 監控文件結構 639 24.5 小結 645 24.6 練習 646 第25章 XML 647 25.1 XML文檔 647 25.1.1 XML元素 647 25.1.2 屬性 648 25.1.3 XML聲明 649 25.1.4 XML文檔的結構 649 25.1.5 XML名稱空間 650 25.1.6 格式良好并有效的XML 651 25.1.7 驗證XML文檔 651 25.2 在應用程序中使用XML 654 25.2.1 XML文檔對象模型 655 25.2.2 選擇節點 663 25.3 小結 670 25.4 練習 671 第26章 LINQ簡介 672 26.1 LINQ的變體 673 26.2 第一個LINQ查詢 673 26.2.1 用var關鍵字聲明結果變量 675 26.2.2 指定數據源:from子句 675 26.2.3 指定條件:where子句 675 26.2.4 指定元素:select子句 676 26.2.5 完成:使用foreach循環 676 26.2.6 延遲執行的查詢 676 26.3使用LINQ方法語法和?表達式 676 26.3.1 LINQ擴展方法 676 26.3.2 查詢語法和方法語法 677 26.3.3 ?表達式 677 26.4 排序查詢結果 679 26.5 orderby子句 680 26.6 用方法語法排序 681 26.7 查詢大型數據集 682 26.8 合計運算符 685 26.9 查詢復雜的對象 688 26.10 投射:在查詢中創建新對象 691 26.11 投射:方法語法 693 26.12 單值選擇查詢 693 26.13 Any和All 694 26.14 多級排序 696 26.15 多級排序方法語法:ThenBy 698 26.16 組合查詢 698 26.17 Take和Skip 700 26.18 First和FirstOrDefault 702 26.19 集運算符 703 26.20 Join查詢 706 26.21 資源和進一步閱讀 707 26.22 小結 707 26.23 練習 707 第27章 LINQ to SQL 709 27.1 對象相關映射 709 27.2 安裝SQL Server和Northwind示例數據 710 27.2.1 安裝SQL Server Express2005 710 27.2.2 安裝Northwind示例數據庫 711 27.3 第一個LINQ to SQL查詢 712 27.4 瀏覽LINQ to SQL關系 717 27.5 進一步探討LINQ to SQL 720 27.6 LINQ to SQL中的組合、排序和其他高級查詢 723 27.7 顯示生成的SQL 725 27.8 用LINQ to SQL綁定數據 729 27.9 用LINQ to SQL更新綁定數據 733 27.10 小結 734 27.11 練習 735 第28章 ADO .NET和LINQ over DataSet 736 28.1 ADO .NET概述 736 28.1.1 ADO .NET名稱的來源 737 28.1.2 ADO .NET的設計目標 738 28.2 ADO .NET類和對象概述 739 28.2.1 提供者對象 739 28.2.2 用戶對象 740 28.2.3 使用System.Data名稱空間 741 28.3 用DataReader讀取數據 742 28.4 用DataSet讀取數據 749 28.4.1 用數據填充DataSet 749 28.4.2 訪問DataSet中的表、行和列 749 28.5 更新數據庫 752 28.5.1 給數據庫添加行 755 28.5.2 刪除行 761 28.6 在DataSet中訪問多個表 762 28.6.1 ADO .NET中的關系 762 28.6.2 用關系導航 763 28.7 XML和ADO .NET 770 28.8 ADO .NET中的SQL支持 773 28.8.1 DataAdapter對象中的 SQL命令 773 28.8.2 直接執行SQL命令 776 28.8.3 調用SQL存儲過程 778 28.9 使用LINQ over DataSet和ADO .NET 780 28.10 小結 784 28.11 練習 784 第29章 LINQ to XML 785 29.1 LINQ to XML函數構造方法 785 29.2 保存和加載XML文檔 789 29.2.1 從字符串中加載XML 791 29.2.2 已保存的XML文檔內容 792 29.3 處理XML片段 792 29.4 通過LINQ to XML生成 XML 794 29.5 查詢XML文檔 798 29.6 小結 804 29.7 練習 804 第Ⅴ部分 其 他 技 術 第30章 屬性 809 30.1 什么是屬性 809 30.2 反射 812 30.3 內置屬性 815 30.3.1 System.Diagnostics.ConditionalAttribute 815 30.3.2 System.Obsolete Attribute 817 30.3.3 System.Serializable Attribute 818 30.3.4 System.Reflection.AssemblyDelaySignAttribute 821 30.4 定制屬性 824 30.4.1 BugFixAttribute 824 30.4.2 System.AttributeUsageAttribute 826 30.5 小結 830 第31章 XML文檔說明 831 31.1 添加XML文檔說明 831 31.1.1 XML文檔說明的注釋 833 31.1.2 使用類圖添加XML文檔說明 839 31.1.3 生成XML文檔說明文件 842 31.1.4 帶有XML文檔說明的應用程序示例 844 31.2 使用XML文檔說明 846 31.2.1 編程處理XML文檔說明 846 31.2.2 用XSLT格式化XML文檔說明 848 31.2.3 文檔說明工具 849 31.3 小結 850 31.4 練習 851 第32章 網絡 852 32.1 聯網概述 852 32.1.1 名稱的解析 855 32.1.2 統一資源標識符 856 32.1.3 TCP和UDP 857 32.1.4 應用協議 857 32.2 網絡編程選項 859 32.3 WebClient 859 32.4 WebRequest和WebResponse 861 32.5 TcpListener和TcpClient 868 32.6 小結 876 32.7 練習 876 第33章 GDI+簡介 877 33.1 圖形繪制概述 877 33.1.1 Graphics類 878 33.1.2 對象的刪除 878 33.1.3 坐標系統 879 33.1.4 顏色 884 33.2 使用Pen類繪制線條 885 33.3 使用Brush類繪制圖形 887 33.4 使用Font 類繪制文本 890 33.5 使用圖像進行繪制 893 33.5.1 使用紋理畫筆繪圖 895 33.5.2 使用鋼筆繪制圖像 897 33.5.3 雙倍緩沖 898 33.6 GDI+的高級功能 900 33.6.1 剪切 900 33.6.2 System.Drawing.Drawing2D 901 33.6.3 System.Drawing.Imaging 901 33.7 小結 901 33.8 練習 902 第 34 章 Windows Presentation Foundation 903 34.1 WPF的概念 904 34.1.1 WPF給設計人員帶來的好處 904 34.1.2 WPF給C#開發人員帶來的好處 906 34.2 基本WPF應用程序的組成 906 34.3 WPF基礎 916 34.3.1 XAML語法 917 34.3.2 桌面和Web應用程序 919 34.3.3 Application對象 920 34.3.4 控件基 920 34.3.5 控件的布局 928 34.3.6 控件的樣式 936 34.3.7 觸發器 941 34.3.8 動畫 942 34.3.9 靜態和動態資源 944 34.4 用WPF編程 949 34.4.1 WPF用戶控件 950 34.4.2 實現依賴屬性 950 34.5 小結 959 34.6 練習 960 第35 章 Windows Communication Foundation 961 35.1 WCF是什么 961 35.2 WCF概念 962 35.2.1 WCF通信協議 962 35.2.2 地址、端點和綁定 963 35.2.3 合同 964 35.2.4 消息模式 965 35.2.5 行為 965 35.2.6 主機 965 35.3 WCF編程 966 35.3.1 定義WCF服務合同 973 35.3.2 自存儲的WCF服務 979 35.4 小結 985 35.5 練習 986 第36章 Windows Workflow Foundation 987 36.1 活動 990 36.1.1 DelayActivity 990 36.1.2 SuspendActivity 991 36.1.3 WhileActivity 992 36.1.4 SequenceActivity 994 36.1.5 定制活動 997 36.2 工作流運行庫 1002 36.3 數據綁 1007 36.4 小結 1010 序言
標簽:
上傳時間: 2013-11-16
上傳用戶:xinyuzhiqiwuwu
C51 中的關鍵字關鍵字 用途 說明auto 存儲種類說明 用以說明局部變量,缺省值為此break 程序語句 退出最內層循環case 程序語句 Switch 語句中的選擇項char 數據類型說明 單字節整型數或字符型數據const 存儲類型說明 在程序執行過程中不可更改的常量值continue 程序語句 轉向下一次循環default 程序語句 Switch 語句中的失敗選擇項do 程序語句 構成do..while 循環結構double 數據類型說明 雙精度浮點數else 程序語句 構成if..else 選擇結構enum 數據類型說明 枚舉extern 存儲種類說明 在其他程序模塊中說明了的全局變量flost 數據類型說明 單精度浮點數for 程序語句 構成for 循環結構goto 程序語句 構成goto 轉移結構if 程序語句 構成if..else 選擇結構int 數據類型說明 基本整型數long 數據類型說明 長整型數register 存儲種類說明 使用CPU 內部寄存的變量return 程序語句 函數返回short 數據類型說明 短整型數signed 數據類型說明 有符號數,二進制數據的最高位為符號位sizeof 運算符 計算表達式或數據類型的字節數static 存儲種類說明 靜態變量struct 數據類型說明 結構類型數據swicth 程序語句 構成switch 選擇結構typedef 數據類型說明 重新進行數據類型定義union 數據類型說明 聯合類型數據unsigned 數據類型說明 無符號數數據void 數據類型說明 無類型數據volatile 數據類型說明 該變量在程序執行中可被隱含地改變while 程序語句 構成while 和do..while 循環結構ANSIC 標準關鍵字關鍵字 用途 說明bit 位標量聲明 聲明一個位標量或位類型的函數sbit 位標量聲明 聲明一個可位尋址變量
標簽: C51
上傳時間: 2013-10-08
上傳用戶:waves_0801
C51基本結構程序設計1. 掌握if語句來實現選擇結構,能利用if語句編寫相應的分枝結構的程序。在嵌套if語句中,一定要搞清楚else與哪個if結合的問題。2.掌握switch語句來實現多向分枝選擇結構,能利用switch語句編寫相應的分枝結構的程序。 3. 掌握循環語句的即初始化、循環體、循環控制及結束四個部分,并能進行循環語句的程序設計。分別掌握for 語句、while語句以及do-while語句的使用語法及方法,能利用這三種循環結構進行循環程序設計,理解這三種語句的異同。4.理解并掌握continue、break語句在循環結構和選擇結構中的作用。對于goto語句,理解該語句優缺點。C51語言是結構化編程語言。結構化語言的基本元素是模塊,它是程序的一部分.只有一個出口和一個入口.不允許有偶然的中途插入或以模塊的其它路徑退出。結構化編程語言在沒有妥善保護或恢復堆棧和其它相關的寄存器之前,不應隨便跳入或跳出一個模塊。因此使用這種結構化語言進行編程,當要退出中斷時,堆棧不會因為程序使用了任何可以接受的命令而崩潰。 結構化程序由若干模塊組成,每個模塊中包含著若干個基本結構,而每個基本結構中可以有若干條語句。歸納起來,C51程序有順序結構、選擇結構、循環結構共三種結構。
上傳時間: 2013-11-01
上傳用戶:四只眼
1、程序的基本格式先介紹二條偽指令:EQU ——標號賦值偽指令ORG ——地址定義偽指令PIC16C5X在RESET后指令計算器PC被置為全“1”,所以PIC16C5X幾種型號芯片的復位地址為:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般來說,PIC的源程序并沒有要求統一的格式,大家可以根據自己的風格來編寫。但這里我們推薦一種清晰明了的格式TITLE This is ⋯⋯ ;程序標題;--------------------------------------;名稱定義和變量定義;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片復位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 goto MAIN ;在復位地址處轉入主程序ORG 0 ;在0000H開始存放程序;-----------------------------------------;子程序區;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序區;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由偽指令定義為6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋goto LOOP;-------------------------------------------END ;程序結束注:MAIN標號一定要處在0頁面內。2、程序設計基礎
上傳時間: 2013-11-14
上傳用戶:cjf0304
//遙控解碼子程序,LC7461,用戶碼為11C//external interrupt0void isr_4(){ unsigned char r_count;//定義解碼的個數 unsigned long use_data=0;//定義16位的用戶碼,只用到13位 unsigned long use_code=0;//定義16位的用戶反碼,只用到13位 unsigned long data=0;//定義16位數據碼,包括8位數據碼和反碼 unsigned char data_h=0;//數據反碼 unsigned char data_l=0;//數據碼 _clrwdt();// _delay(7000);//7461解碼,延時7000// _delay(7000);//7461解碼,延時7000//_delay(7000);//7461解碼,延時7000 if(remote==1) goto error; while(remote==0);//wait to high //_delay(9744);count_delay=0; while(count_delay<143); if(remote==1) goto error; /////用戶碼解碼use_data//////////add////////////////////////// for(r_count=13;r_count>0;r_count--) { while(remote==0);//wait to high count_delay=0; while(count_delay<24);//_delay(1680); _c=remote; if(_c==1) { _lrrc(&use_data); count_delay=0; while(count_delay<32);//_delay(2200);//wait to low } else _lrrc(&use_data); } _nop(); //if(remote==1) //_delay(1680);//wait to low while(remote==1);//wait to low _nop(); ////////用戶碼解碼finish/////////add/////////add//////// /////用戶碼反碼解碼use_code//////////add////////////////////////// for(r_count=13;r_count>0;r_count--) { while(remote==0);//wait to high count_delay=0; while(count_delay<24);//_delay(1680); _c=remote; if(_c==1) { _lrrc(&use_code); count_delay=0; while(count_delay<32);//_delay(2200);//wait to low } else _lrrc(&use_code); } _nop(); //if(remote==1) // _delay(1680);//wait to low while(remote==1);//wait to low _nop(); ////////用戶碼反碼解碼finish/////////add/////////add//////// ////數據碼解碼開始////data_l為用戶碼,data_h為數據碼反碼//////////// for(r_count=16;r_count>0;r_count--) { while(remote==0);//wait to high count_delay=0; while(count_delay<24);//_delay(1680); _c=remote; if(_c==1) { _lrrc(&data); count_delay=0; while(count_delay<32);//_delay(2200);//wait to low } else _lrrc(&data); } ////數據碼解碼結束//////////////////////////////////////////////// data_l=data; data_h=data>>8; ///用戶碼////// use_data>>=3; use_code>>=3; use_code=~use_code; //////// ////如果用戶碼等與0x11c并且數據碼和數據反碼都校驗一致,解碼成功 //if((~data_h==data_l)&&use_data==0x11c)//使用用戶碼 //跳過用戶碼 if(~data_h==data_l)//如果數據碼和數據反碼(取反后)相等,解碼正確 { _nop(); r_data=data_l;//r_data為解出的最終數據碼 } //否則解碼不成功 _nop(); _nop();error: //r_data=nocode; _nop(); _nop(); _nop();}
上傳時間: 2014-03-27
上傳用戶:shenlan
C語言編程基礎:1. 十六進制表示字節0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數賦給一個8位的字節變量,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變量var先增一;var—表示對變量后減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執行該語句,即死循環。語句后的分號表示空循環體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由于一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反后,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) )
上傳時間: 2013-11-02
上傳用戶:zengduo
目錄 C語言基礎知識 C 語言簡介 C 語言的特點… C 語言的發展和標準化…數據類型、運算、表達式和編譯預處理 數據類型… 基本類型與數據表示 整數類型和整數的表示… 實數類型和實數的表示… 字符類型和字符的表示… 運算符、表達式與計算… 算術運算符 算術表達式 表達式的求值… 變量——概念、定義和使用… 變量的定義0 變量的使用:取值與賦值 預處理 文件包含命令… 宏定義與宏替換…邏輯判斷與運算… 關系運算和邏輯運算 復雜條件的描述0 i f語句循環控制 whi le語句 for語句… 循環程序常用的若干機制 增量和減量運算符(++、--) 逗號運算符 控制結構和控制語句 do-while循環結構… 流程控制語句… goto語句… 開關語句…函數 概述… 函數定義和程序的函數分解… 函數定義… 函數調用…數組 數組的概念、定義和使用 數組變量定義… 數組的使用 數組的初始化…結構 結構(struct) 結構說明與變量定義 結構變量的初始化和使用 結構與函數 處理結構的函數0指針 指針的概念 指針操作… 指針作為函數的參數 與指針有關的一些問題… 指針與數組 指向數組元素的指針 基于指針運算的數組程序設計 數組參數與指針 字符指針與字符數組0
上傳時間: 2013-11-16
上傳用戶:asdkin
軟件測試:一個編譯器測試軟件,支持下列C語言運算符:+ - * / % ^(乘方) 負 (int) (double) "字符串" [](數組) > < == >= <= != && ! ++ -- = += -= *= /= %= ^=,支持下列關鍵字:void int double string if else for while do goto break continue return,支持下列數據類型:int double string int[] double[] string[],支持下列系統函數:int max(int,int),double max(double,double),int[] newint(int),double[] newdouble(int),string[] newstring(int),void delete(int[]),void delete(double[]),void delete(string[]),支持任意用戶定義函數,支持函數重載。不支持全局變量。如果發現錯誤,請告訴我
上傳時間: 2013-12-15
上傳用戶:sy_jiadeyi
DS18B20和PIC單片機通訊源程序 DS18B20和PIC單片機通訊源程序 -------------------------------------------------------------------------------- PIC單片機 www.pic16.com ORG PIC54 goto MAIN ORG 0
上傳時間: 2015-05-11
上傳用戶:515414293
1. PL/0 語言介紹 ●PL/0 程序設計語言是一個較簡單的語言,它以賦值語句為基礎,構造概念有順序、條件和重復(循環)三種。PL/0 有子程序概念,包括過程定義(可以嵌套)與調用且有局部變量說明。PL/0語言編譯程序采用以語法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨立的子程序供語法分析程序調用。語法分析的同時,提供了出錯報告和出錯恢復的功能。在源程序沒有錯誤編譯通過的情況下,調用類PCODE解釋程序解釋執行生成的類PCODE代碼。 ●保留字(關鍵字):所謂保留字是指在Pascal語言中具有特定的含義。標準Pascal語言中的保留字一共有35個,Turbo Pascal語言一共有51個。下面是Pascal語言的保留字:AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNTION,goto,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH,EXPORTS,SHR,STRING,ASM,OBJECT,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES,INHERITED,INLINE,INTERFACE,LIBRARY,XOR,SHL
上傳時間: 2015-07-17
上傳用戶:zm7516678