1 / 248

Microsoft Visual C# .NET 入門

Microsoft Visual C# .NET 入門. 蘇慶隆 clsu@mail.cjcu.edu.tw. C# 的創立與歷史 變數與資料型態 程式控制流程 陣列與字串 封裝、多型與繼承. 大綱. C# 的創立與歷史 變數與資料型態 程式控制流程 陣列與字串 封裝、多型與繼承. 大綱. C# 的創立與歷史. 近代物件導向程式設計 C# 的創立 何謂 .NET Framework ? C# 與 .NET Framework 的關係. C# 的創立與歷史. 近代物件導向程式設計 C# 的創立

arlen
Download Presentation

Microsoft Visual C# .NET 入門

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microsoft Visual C# .NET 入門 蘇慶隆 clsu@mail.cjcu.edu.tw

  2. C# 的創立與歷史 變數與資料型態 程式控制流程 陣列與字串 封裝、多型與繼承 大綱

  3. C# 的創立與歷史 變數與資料型態 程式控制流程 陣列與字串 封裝、多型與繼承 大綱

  4. C# 的創立與歷史 • 近代物件導向程式設計 • C# 的創立 • 何謂 .NET Framework? • C# 與 .NET Framework的關係

  5. C# 的創立與歷史 • 近代物件導向程式設計 • C# 的創立 • 何謂 .NET Framework? • C# 與 .NET Framework的關係

  6. 近代物件導向程式設計 • C 語言的創立表示近代程式設計的開端 • 源於1960年代之結構化程式設計 • 問世於1970年代,1980年代被廣泛使用 • 程式碼在5000行左右就會有其維護上的困難 • C++ 本質上是物件導向版本的 C 語言 • 問世於1979年,由Bjarne Stroustrup設計 • 1990年代後被廣泛使用

  7. 近代物件導向程式設計-續 • Java 是建立跨平台、可移植程式碼 • 問世於1991年,由James Gosling為主設計 • 對於電腦環境的改變進行革新 • 於1994年網際網路興盛而受到矚目

  8. C# 的創立與歷史 • 近代物件導向程式設計 • C# 的創立 • 何謂 .NET Framework? • C# 與 .NET Framework的關係

  9. C# 的創立 • C# 提出元件導向語言、跨語言溝通 • 由Microsoft 所創立,為Microsoft .NET 一部份 • 問世於2000年,由Anders Hejlsberg為主設計 • Anders 為世界知名電腦語言專家,曾在1980年代開發最快的 Pascal 編譯器,並成功將Pascal 從 Dos 移植到 Windows。

  10. C# 族譜 C C++ Java C#

  11. C# 的創立與歷史 • 近代物件導向程式設計 • C# 的創立 • 何謂 .NET Framework? • C# 與 .NET Framework的關係

  12. 何謂 .NET Framework? • 定義一共通語言執行環境(Common Language Runtime,CLR),管理程式執行狀態。 • .NET 類別函式庫,讓支援.NET的程式語言可以使用CLR進行操作。

  13. C# 的創立與歷史 • 近代物件導向程式設計 • C# 的創立 • 何謂 .NET Framework? • C# 與 .NET Framework的關係

  14. C# 與 .NET Framework的關係 • C# 最初由Microsoft 所主導,用來建立.NET Framework 的程式碼。 • C# 使用.NET Framework 定義的函式庫。 • 因此兩者之間是不可區分的,意味著學習C# 語法同時需了解使用.NET Framework函式庫。

  15. C# 的創立與歷史 變數與資料型態 程式控制流程 陣列與字串 封裝、多型與繼承 大綱

  16. Hello World using System; class HelloWorld { public static void Main() { Console.WriteLine("Hello World C#."); } }

  17. Hello World – 續

  18. 變數與資料型態 • 數值型別 • 參考型別 • 變數宣告 • 變數有效範圍 • 運算子

  19. 變數與資料型態 • 數值型別 • 參考型別 • 變數宣告 • 變數有效範圍 • 運算子

  20. 數值型別

  21. 數值型別-續

  22. 變數與資料型態 • 數值型別 • 參考型別 • 變數宣告 • 變數有效範圍 • 運算子

  23. 參考型別 • 參考型別為類別定義,稍候會詳細說明。 • 參考型別即為 C/C++ 指標概念,為不可修改的固定指標。 • 所有數值型別皆有別於參考型別,屬於基本資料型別。

  24. 變數與資料型態 • 數值型別 • 參考型別 • 變數宣告 • 變數有效範圍 • 運算子

  25. 變數宣告 // 變數原型宣告 type var-name; // 初始化變數原型宣告 type var-name=value; // 動態初始化變數原型宣告 type var-name=function-call();

  26. 變數宣告-續 using System; class Sample2_1 { public static void Main() { int var1; // 變數宣告 int var2 = 10; // 初始化變數宣告 float f = 1.2f; double s1 = 3.0; double s12 = Math.Sqrt( s1 ); // 動態初始化變數 } }

  27. 變數與資料型態 • 數值型別 • 參考型別 • 變數宣告 • 變數有效範圍 • 運算子

  28. 變數有效範圍 class Sample2_2 { public static void Main() { int var1 = 5; { int var2 = 10; } var1 = 6; // var2 = 11; // 外層區塊無法看到內層區塊變數 } }

  29. 變數有效範圍-續 class Sample2_3 { public static void Main() { int var1 = 5; { var1 = var1 + 10; } var1 = var1 + 10; // 此時變數 var1 = 25 } }

  30. 變數與資料型態 • 數值型別 • 參考型別 • 變數宣告 • 變數有效範圍 • 運算子

  31. 運算子 • 算術運算子 • 關係/邏輯運算子 • 指派運算子 • 三元運算子

  32. 運算子 • 算術運算子 • 關係/邏輯運算子 • 指派運算子 • 三元運算子

  33. 算術運算子

  34. 算術運算子-續 using System; class Sample2_4 { public static void Main() { int iresult , i=25; double dresult, d; d = i + 9.2; iresult = i * 18; dresult = d / i; iresult++; Console.WriteLine("iresult = " + iresult); Console.WriteLine("dresult = " + dresult); } }

  35. 算術運算子-續

  36. 運算子 • 算術運算子 • 關係/邏輯運算子 • 指派運算子 • 三元運算子

  37. 關係運算子

  38. 邏輯運算子

  39. 布林真值表

  40. 關係/邏輯運算子-續 using System; class Sample2_5 { public static void Main() { int i = 22, j = 23; bool b1 = true, b2 = false; Console.WriteLine("i < j " + (i < j)); Console.WriteLine("i != j " + (i != j)); Console.WriteLine("i > j " + (i > j)); Console.WriteLine("b1 & b2 " + (b1 & b2)); Console.WriteLine("b1 | b2 " + (b1 | b2)); Console.WriteLine("b1 ^ b2 " + (b1 ^ b2)); } }

  41. 關係/邏輯運算子-續

  42. 運算子 • 算術運算子 • 關係/邏輯運算子 • 指派運算子 • 三元運算子

  43. 指派運算子 // 指派運算子原型宣告 var-name = expression; expression 可以是任何合法的運算式, 其意義是將等號右邊運算式結果指定給等號左邊運算元 例如: int i = 5; // i = 5 int j = i + 3; // j = 8 int a = Math.Sqrt(10); // a = 100 i = j = a; // i = j = a = 100 a = a + 10; // a = 110

  44. 複合指派 // 複合指派運算子原型宣告 var-name operator= expression; operator為任何需要二個運算元的運算子, 例如: int a = 100; a += 10; // 同義 a = a + 10, a = 110 a *= 10; // 同義 a = a * 10, a = 1100 a %= 10; // 同義 a = a % 10, a = 0

  45. 運算子 • 算術運算子 • 關係/邏輯運算子 • 指派運算子 • 三元運算子

  46. 三元運算子 // 三元運算子原型宣告 expression1 ? expression2 : expression3; expression1限定是bool運算式, 意義為若expression1為真時,求expression2, 若expression1為假時,求expression3。 例如: int a = -50; int b = a < 0 ? -a : a; // b = 50

  47. 運算子優先權

  48. C# 的創立與歷史 變數與資料型態 程式控制流程 陣列與字串 封裝、多型與繼承 大綱

  49. 程式控制流程 • 選擇述句 • 迭代述句 • 跳躍述句

  50. 程式控制流程 • 選擇述句 • 迭代述句 • 跳躍述句

More Related