電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
[轉貼][教學]C# 程式設計 - 基礎篇 [只到2-1-3]

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2007-8-28, PM 2:29 星期二    文章主題: [轉貼][教學]C# 程式設計 - 基礎篇 [只到2-1-3] 引言回覆

原作者:babu61509 ( 轉貼前已取得babu61509同意 )
原出處:http://www.getphpbb.com/phpbb/viewtopic.php?t=212&mforum=209774061336771

有問題可以問喔~目前只是草稿階段,所以有可能會多一些章節(?)
這篇會盡量以較精簡且容易了解說法的來寫。
不過還是建議還是買一本書來看 XD

不定時更新( - _-) !!

目前構想的基礎篇目錄 :

Chapter 0 物件導向概念 - 基礎篇
0-0 物件導向 ? 可以吃嗎 ?!
0-1 Class (類別) 的說明
0-2 namespace (命名空間) 的說明
0-3 Object (物件) 的說明

Chapter 1 C#基本結構
1-1 class 宣告
1-2 程式進入點
1-3 "Hello ! C# !"
1-4 註解

Chapter 2 常數、變數與函式
2-1 變數介紹
2-1-1 整數型
2-1-2 浮點數型
2-1-3 字元型
2-1-4 布林型
2-1-5 列舉型
2-2 常數介紹
2-3 函式介紹

Chapter 3 運算元和運算子
3-1 運算元
3-2 運算子

Chapter 4 陣列
4-1 陣列介紹
4-2 多維陣列

Chapter 5 流程控制
5-1 if...else 介紹
5-2 while 介紹
5-3 do...while介紹
5-4 for 介紹
5-5 switch 介紹
5-6 foreach 介紹
5-7 break、continue 介紹

Chapter 6 I/O - 基礎篇
6-1 基本輸出、輸入
6-2 檔案存取
6-3 資料夾處理

=========================== [ 本篇開始 ]
Chapter 0 物件導向概念 - 基礎篇

0-0 物件導向 ? 可以吃嗎 ?!

因為C#是以 物件導向 為基礎的程式語言,所以在學C#之前,要先了解 物件導向 是什麼東東。
以下只是大概說明本篇會用到的 物件導向概念 ,詳細的請自行找相關的書來看!

0-1 Class (類別) 的說明

大家都知道,在設計物品之前要先畫藍圖,決定物品的長寬高,還有其用途。
這種結構就稱為 Class ,Class 主要包含 資料成員(屬性),和 函式成員(動作)。

例 : 假設有個 Class 叫做 Jack ,他的 資料成員(屬性) 就有 身高、體重、年齡 等等,函式成員 就是他會做哪些動作,例如 跑、跳、吃東西 等等。

0-2 namespace (命名空間) 的說明

大家在使用電腦一陣子以後,檔案變多以後,一堆東西混在一起時,要找某個檔案就變的很麻煩。
最好的方式就是建立資料夾,將同類的檔案放在一起,不同的放在別的資料夾。
namespace 就像是那個資料夾,將有相同性質的 Class 分類好,以後要用的時候就很方便。
在C#裡面要使用某namespace的class函式時,是透過 . (點)來使用的。

例 : 假設我告訴你主控台輸出字串要透過System(命名空間)的Console(類別)的WriteLine(函式)來輸出。
那麼用 C# 來寫就是 :

System.Console.WriteLine("字串");

0-3 Object (物件) 的說明

藍圖都畫好了,東西呢 ? 用 Class 架構做出來的東西就叫做 Object(物件) ,至於怎麼用C#做出物件,等到 物件導向概念 - 中階篇 再跟大家說明。
現在大家只要知道 namespace 是分類 class 用的,class 是 object 的架構就可以了。

1-1 class 宣告

如同之前所說,C#是一個以 物件導向 為基礎的程式語言,所以寫程式的第一步驟就是要寫出一個 class ,C#的 class 宣告格式如下 :
代碼:
class [類別名稱]
{
    [類別內容]
}

例 : 寫出一個叫做 HelloCSharp 的 class。
代碼:
class HelloCSharp
{
}

1-2 程式進入點

有一個class沒問題,但是如果有2個以上的class呢 ? 程式要從哪個才能開始執行呢 ?
所以C#就規定要從 靜態的Main函式 開始,用C#語法寫起來就是 static void Main(){},配合上面的的class就變成 :
代碼:
class HelloCSharp
{
    static void Main()
    {
    }
}

這個程式碼就可以執行囉 ! (雖然沒有東西)
上面這個架構就是C#最最基本的架構!

1-3 "Hello ! C# !"

C# 大部分的功能都是透過呼叫函式來達成的,這小節教做出第一個C#程式 !
用的函式就是上面講過的 System.Console.WriteLine()。

System.Console.WriteLine() 功能 : 輸出字串至主控台並換行。

()裡面要放傳給WriteLine()的值,也就是要輸出的字串。

例 : 假設我們要輸出 Hello ! C# ! 到主控台,C#規定字串要用雙引號括起來,且在每行指令後面要加上分號代表該指令行結束,所以輸出 Hello ! C# ! 的指令行如下 :

System.Console.WriteLine("Hello ! C# !");

完整的寫法就是 :
代碼:
class HelloCSharp
{
    static void Main()
    {
        System.Console.WriteLine("Hello ! C# !");
    }
}

1-4 註解

C#的注解符號和C++是一樣的,// 後面的字代表註解,直到換行。
如果好幾行就用 /* 註解 */ 包起來,註解可以放在任何地方,增加程式可讀性。

例 :
代碼:
class HelloCSharp
{
    static void Main()  // �{式從這個函式�}始執行喔!
    {
        // 輸出字串 Hello ! C# !
        System.Console.WriteLine("Hello ! C# !");
    }
}

Chapter 2 常數、變數與函式

2-1 變數介紹

變數是什麼呢 ? 變數就是拿來放程式執行中所需資料的地方,宣告方法如下 :

[變數型態] [變數名稱];

例 : 宣告一個 int 型態的 x 變數。

int x;

當然,也可以再宣告的時候同時給他初始值,格式如下 :

[變數型態] [變數名稱] = [值];

例 : 宣告一個 int 型態的 y 變數,並給他值 10 。

int y = 10;

如果要同時宣告好幾個同型態的變數可以放在同一行喔,只要加上逗號分隔出變數名稱就可以了。

例 : 宣告 int 形態的 x , y , z 變數。

int x,y,z;

至於變數的名稱,C#有以下規定 :

1. 可以由任何字元組成,包含英文字母、數字與Unicode,但是字首不能是數字。
2. 名稱內不可以有空白(space)、換行(enter)、跳謂(tab)字元。
3. 名稱內不能有任何特殊符號(!@#$%之類的),但是底線(_)、星號(*)可以有。
4. 不能使用保留字 (請自行翻找有關書籍,好多- 3-,反正不要取太怪的名稱通常都 ok 的!)

大家注意第一項最後面那邊 ! 沒錯,可以使用Unicode,代表的是...變數名稱可以用『中文』!
不過打程式用中文還要切換..有點麻煩,所以後面用還是以英文的變數名稱為主。

2-1-1 整數型

整數型的變數型態有以下幾種 :
代碼:
變數型態  位元          值域
 sbyte   (8 bits)   -128 ~ 127
 short   (16 bits)   -32767 ~ 32768
 int   (32 bits)   -2147483648 ~ 2147483647
 long   (64 bits)   -9223372036854775808 ~ 9223372036854775807
 byte   (8 bits)   0 ~ 255
 ushort   (16 bits)   0 ~ 65535
 uint   (32 bits)   0 ~ 4294967295
 ulong   (64 bits)   0 ~ 18446744073709551615

例 :

int x = 100; // 宣告 x 並給予值 100

2-1-2 浮點數型

整數型的變數型態有以下幾種 :
代碼:
變數型態  位元          準確度          值域
 float   (32 bits)   7位數   ±1.5 x 10^-45 ~ ±3.4 x 10^38
 double   (64 bits)   14-15位數   ±5.0 x 10^324 ~ ±1.7 x 10^308
 decimal(128 bits)   28-29位數   1.0 x 10^-28 ~ 7.9 x 10^28

例 :

float pi = 3.1416; // 宣告 pi 並給予值 3.1416

2-1-3 字元型
代碼:
變數型態  位元          表達範圍
 char   (16 bits)   u+0000 ~ u+ffff

字元再給予值的時候,需要使用單引號括起來,C#字元型態和C或C++的是不一樣的,是以Unicode來儲存而不是Byte。
字元裡有些特殊字元(控制用的)是以 反斜線\ 開頭的,常用的如下 :
代碼:
\0      代表 null
\n      換行
\r      回到最左邊
\\      反斜線
\'      單引號
\"      雙引號
\u####   Unicode編碼(####為數字)
\x####   16進位Unicode編碼(####為數字)

例 :

char cA = 'A', cB = 'B'; // c1 放入A , c2 放入B

=========================== [ 2007/08/25 更新]
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作