Introduction to Computer Science

Download Report

Transcript Introduction to Computer Science

整合發展環境初步與
簡易C# 程式
鄭士康
國立台灣大學
電機工程學系/電信工程研究所/
資訊網路與多媒體研究所
1
綱要
1.
2.
3.
4.
5.
6.
整合發展環境初步與第一支C#程式
第二支C#程式與錯誤訊息
程式大略解說
偵錯器使用初步
基本輸入與輸出
剪貼視窗內容與列印程式碼
2
綱要
1.
2.
3.
4.
5.
6.
整合發展環境初步與第一支C#程式
第二支C#程式與錯誤訊息
程式大略解說
偵錯器使用初步
基本輸入與輸出
剪貼視窗內容與列印程式碼
3
Visual C# 2008 Express IDE
• 官方網站
http://www.microsoft.com/visualstudio/enus/products/2008-editions/express/
• 善用線上資源
– MSDN
– Beginner Developer Learning Center
4
VC# 2008 Exp. 建立與執行專案
• 檔案>新增>專案>主控台應用程式>專案命
名
• 功能表與工具列
• 程式編寫區
• 方案總管與屬性視窗
• 輸入並編寫程式
• 建置方案/啟動但不偵錯
• 儲存專案
5
第1支C#應用程式
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Text;
namespace Hello
{
class Program{
static void Main(string[] args)
{
Console.WriteLine("Hello!");
}
}
}
6
.NET 架構
VB .NET
C#
C++
原始碼
(Source Code)
建置 (Build)
CIL
(.exe, .dll, etc.)
共同中介語言
(Common Intermediate Language)
碼集(Package)
偵錯, 執行
CLR
(Common Language Runtime)
Win32 (Windows Operating System)
7
傳統高階程式語言架構
原始碼
(Source Code)
C++
編譯 (Compile)
.obj.
二進碼( binary code )
連結(Link)
.exe
二進碼( binary code )
執行(Load, Run)
Win32 (Windows Operating System)
8
.NET 架構優缺點
• 優點
– 跨語言, 跨平台
– 自動處理停用記憶區回收(Garbage Collection)
– 共通資料形別
• 缺點
– 增一層級, 執行效率多少受影響
9
綱要
1.
2.
3.
4.
5.
6.
整合發展環境初步與第一支C#程式
第二支C#程式與錯誤訊息
程式大略解說
偵錯器使用初步
基本輸入與輸出
剪貼視窗內容與列印程式碼
10
第2支C#應用程式
/*
* 第2支C#程式
* 2/6/2009
*/
using System;
namespace SayHello
{
class Program
{
static void Main(string[] args)
{
string message; // 宣告變數
message = "Hello";
Console.WriteLine( message );
}
}
}
11
常見句法錯誤
•
•
•
•
•
拼字錯誤
大小寫錯誤
同一名稱拼字或大小寫不統一
漏掉分號
括弧、雙引號、/*與*/未能配對
12
句法錯誤訊息
• 建置錯誤訊息
• 錯誤清單
• 波狀底線
13
顯示行號
• 工具>選項
• 勾選下方”顯示所有設定”
• 文字編輯器>C#>顯示>行號
14
綱要
1.
2.
3.
4.
5.
6.
整合發展環境初步與第一支C#程式
第二支C#程式與錯誤訊息
程式大略解說
偵錯器使用初步
基本輸入與輸出
剪貼視窗內容與列印程式碼
15
程式解說
•
•
•
•
•
•
註解
保留字(關鍵字)
物件觀念、類別宣告
程式進入點與大括弧
變數與資料型別、字串
程式敘述與分號
16
類別Program
class Program
{
static void Main(string[] args)
{
//. . .
}
}
17
變數
• 資料代名
– 數學: x = 1
– C#:message = “Hello”;
• 變數宣告
18
記憶系統的概念
*J. G. Brookshear, Computer Science – An Overview, 8th edition,
Addison-Wesley, 2005
19
Main Memory
0 0 0 . . .
0 1 0 0 1 0 0 0 ‘H’
0 0 0 . . .
0 1 1 0 0 1 0 1 ‘e’
0 0 0 . . .
0 1 1 0 1 1 0 0 ‘l’
0 0 0 . . .
0 1 1 0 1 1 0 0 ‘l’
0 0 0 . . .
0 1 1 0 1 1 1 1 ‘o’
20
類別Console
• 鍵盤(Keyboard)
• 主控台視窗螢幕(Screen)
21
函式、參數
傳回值
輸入參數
函式
數學: sin(p/2)
C#:Console.WriteLine(“Hello”)
22
命名空間觀念
namespace Hello
{
class Program
{
static void Main(string[] args)
{
//. . .
}
}
}
23
命名空間觀念
• 包裝類別
• 重複使用類別名稱
• 專案與命名空間
• 命名空間System
• 類別System.Console
• 指令using
24
語法錯誤與語義錯誤
• 語法錯誤(syntax error)
– 程式敘述不完整
– 類似文法錯誤
– 建置時可發現,較易處理
• 語義錯誤(semantics error)或邏輯錯誤(logic
error)
– 想法邏輯錯誤或輸入資料錯誤
– 建置成功,但執行結果不符預期
– 難以發現
25
尋找語義錯誤的方法
•
•
•
•
反複閱讀程式碼
紙筆程式追蹤(tracing)
程式複核(walk-through)
使用偵錯器
26
綱要
1.
2.
3.
4.
5.
6.
整合發展環境初步與第一支C#程式
第二支C#程式與錯誤訊息
程式大略解說
偵錯器使用初步
基本輸入與輸出
剪貼視窗內容與列印程式碼
27
利用偵錯器
•
•
•
•
•
•
(欲設中斷點處)右鍵>中斷點>插入中斷點
開始偵錯
區域變數/監看式
偵錯>逐步執行/不進入函式/跳離函式
偵錯>繼續/停止偵錯/重新啟動
取消中斷點
28
綱要
1.
2.
3.
4.
5.
6.
整合發展環境初步與第一支C#程式
第二支C#程式與錯誤訊息
程式大略解說
偵錯器使用初步
基本輸入與輸出
剪貼視窗內容與列印程式碼
29
基本輸出與輸入
/*
* 示範基本輸入, 輸出敘述
* 2/12/2009
*/
using System;
namespace SayHelloIO
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter your name");
string name = Console.ReadLine();
Console.WriteLine("Hello," + name);
}
}
}
30
練習
• 寫一支程式,讓電腦提示問題,由使用者
回答後,電腦複誦(Echo)其內容,可連續提
問及回應。
31
綱要
1.
2.
3.
4.
5.
6.
整合發展環境初步與第一支C#程式
第二支C#程式與錯誤訊息
程式大略解說
偵錯器使用初步
基本輸入與輸出
剪貼視窗內容與列印程式碼
32
列印程式碼
• 檔案>版面設定>列印
33
擷取執行結果視窗
•
•
•
•
游標移至欲擷取之視窗內
Ctrl – Alt – Prt Sc
貼入Word或PowerPoint等文件內
調整背景及文字顏色
34