Download this file (chapter2_Basic-to-c.ppt)

Download Report

Transcript Download this file (chapter2_Basic-to-c.ppt)

บทที่ 2 การใช้ คาสั่ งพืน้ ฐานของภาษา C#
อาจารย์ ชนิดา คาเพ็ง
สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ และเทคโนโลยี
SharpDevelop เครื่ องมือพัฒนาแอพพลิเคชัน
SharpDevelop เป็ นเครื่ องมือในการพัฒนาโปรแกรม.NET แบบ
OpenSource โดยมีคุณสมบัติหลักดังต่อไปนี้
 สร้าง/แก้ไข/บันทึก โปรแกรมที่เขียนด้ วยภาษา C# ได้
 คอมไพล์ (แปล) และรันโปรแกรมภาษา C#
 สนับสนุนการพัฒนาโปรแกรมทั้งแบบ Console Application ,
Windows Application , Mobile Application และ ASP.NET
Application
 รองรับ 3 ภาษา ได้แก่ C#,VB.NET,Boo
ติดตั้ง Sharp Develop 3.0
หรื อ download ได้ที่ http://www.icsharpcode.net/OpenSource/SD/Download/
Solution, Project และ Form
 การสร้าง Application จะเรี ยกว่า Solution ซึ่ งประกอบด้วย
Project ต่างๆ แต่ละโปรแกรมจะมีฟอร์มต่างๆ และมีไฟล์ชนิด
ต่างๆ
 Solution คือ กลุ่มของ Project (หรื ออาจจะมี Project เดียว)ที่ถูก
จัดการไปพร้อมๆ กัน
 Project คือ กลุ่มของไฟล์ต่างๆ ที่ถูกสร้างขึ้นมาเพื่อให้ทาภารกิจ
หนึ่งๆ
New Project Dialog
ชนิดของโปรเจ็กต์
ส่ วนประกอบของหน้ าจอโปรแกรม
Menu bar
Toolbar
Solution
Explorer
Toolbox
Windows Form
Designer
Properties
Window
IDE (Integrated Development Environment)








IDE – Integrated Development Environment คือ สภาพของการพัฒนาโปรแกรม
โดยรวมทั้ง Editor , Complier , Debugger ตลอดจนเครื่ องมือที่ใช้ในการออกแบบ และ
ติดต่อฐานข้อมูล ประกอบด้วยส่ วนต่างๆ ดังนี้
เมนูบาร์ (Menu Bar) : ส่ วนที่ใช้เก็บคาสั่ง โดยแบ่งแยกเป็ นหมวดหมู่อย่างชัดเจน
ทูลบาร์ (Toolbar) :ส่ วนที่ใช้เก็บปุ่ มคาสั่งลัดต่างๆ
ทูลบ็อกซ์ (Toolbox): ส่ วนที่ใช้เก็บคอนโทรล/คอมโพเนนต์เพื่อการสร้างแอพพลิเคชัน
Form Designer : ส่ วนที่ใช้ในการออกแบบหน้าตาของแอพพลิเคชัน
Properties Window : ส่ วนที่ใช้กาหนดคุณสมบัติของ Object และ Control ชนิดต่างๆ
Solution Explorer : ส่ วนที่ใช้เก็บองค์ประกอบต่างๆ ของSolution (Solution จะ
ประกอบไปด้วยไฟล์ชนิดต่างๆ ที่จาเป็ นต่อการทางานและควบคุมแอพพลิเคชัน)
Code Editor : ส่ วนที่เราใช้เขียนโปรแกรมเพื่อสั่งงานแอพพลิเคชัน
ตัวอย่ างการสร้ างแอพพลิเคชันแบบ Console
แอพพลิเคชันแบบ Console คือ การแสดงผลการทางานในโหมดของ
ดอส ซึ่งรับคาสัง่ ด้วยการพิมพ์คาสัง่
 ตัวอย่ าง

โครงสร้ างของโปรแกรม C#
รู ปแบบ Class <Identifier> {…….}
namespace HelloW {
class HelloWClass {
static void Main () {
System.Console.WriteLine("Hello World!");
System.Console.ReadLine();
}
}
}
 method Main
 method จะต้องอยูใ่ น class
 class จะต้องอยูใ่ น namespace
โครงสร้ างของโปรแกรม C#

C#
 โปรแกรมจะประกอบด้ วยหลาย namespaces
 Namespace ประกอบด้ วยหลาย classes
 class ประกอบด้ วยหลาย methods
method1
method2
Class
namespace
method2
Class
โครงสร้ างของโปรแกรม C#
Your Namespace Name
Your Class Name
Your declaration part
Your statements
13
C# Overvie
ตัวอย่ าง ชนิดโปรเจ็กที่เลือก Console Application
โครงสร้ างของโปรแกรม C#
namespace HelloW {
class HelloWClass {
static void Main () {
System.Console.WriteLine("Hello World!");
System.Console.ReadLine();
}
}
}

โปรแกรมจะต้ องประกอบด้ วยอย่ างน้ อย 1 Namespace
หลักการตั้งชื่ อ namespaces , class และตัวแปร
ขึ้นต้นด้วยตัวอักษร, underscore (_) หรื อ @
 ห้ามใช้ตวั เลข หรื ออักขระเป็ นตัวเริ่ มต้น
 ใช้ตวั อักษร, ตัวเลข และ underscores(_) ในการตั้งชื่อได้
 ตั้งได้ไม่เกิน 63 ตัวอักษร
 ต้องไม่เป็ นคาสงวน (reserved word)

* Case Sensitive *
Example
URU01 ≠ uRu01 ≠ uru01
คาสงวนของภาษา C# (Reserved Words)
พิจารณาชื่ อตัวแปรต่ อไปนีว้ ่ าถูกต้ องตามกฎการตั้งชื่ อหรื อไม่
 _Y
 Null
 String
 204111Class
 i_j
 Section3
 Student ID
 sECTION3
 HelloWorld!!
 w*h
 first-time
 do
C# Program
 C# syntax is case-sensitive
 ทุก statement จบด้วยเครื่ องหมาย semicolon
่ ายใต้
 Code อยูภ
(;)
{}
 การ comment มี 2 ประเภท คือ
 Comment แบบบรรทัดเดียว ใช้ //
 Comment หลายบรรทัดใช้ /* */ หรื อ
/*--------------------------------------------------------------------------------*/
เครื่ องหมายสิ้นสุ ดคาสั่ ง (;)
;
ตัวแสดงจุดสิ้ นสุ ดแต่ละคาสัง่
ตัวอย่ าง 1
x = 10;
y = 2 + x;
 จบบล็อก ไม่ตอ้ งใส่ ;
ตัวอย่ าง 2
x = 10; y = 2 + x;
คาสั่ งแสดงผล
วิธี1 Console.Write (ข้ อความ);
วิธี2 Console.WriteLine (ข้ อความ);
Console.Write ("Hello");
Console.WriteLine ("Hello World");
string str = "Hello";
Console.Write (str + " World");
22
ทดลองเขียนโปรแกรม
จงเขียนโปรเจ็กต์ชนิด Console Application โดยใช้คาสัง่ Write/
WriteLine และให้โปรแกรมมีผลลัพธ์ดงั นี้

******************************************************
Student ID : …………………………….
Name : ……………………..Faculty :……………………
Major :……………………………………………………
******************************************************
คาสั่ งรับข้ อมูล
วิธี1
วิธี2
Console.Read (); หรื อ
Console.ReadLine ();
ตัวแปร = Console.Read (); หรื อ
ตัวแปร = Console.ReadLine ();
Console.Write ("What is your name? : ");
string name = Console.ReadLine ( );
// Laksamee
Console.Write ("My name is " + name);
Console.Read ( );
24
จงหาข้ อผิดพลาดของโปรแกรมต่ อไปนี้
ชนิดของข้ อมูล
 Numeric (เลขจานวนเต็ม และเลขทศนิ ยม)
 Char (ตัวอักษร)
 String (ข้อความ)
 Boolean (บูลีน)
 Object
26
เลขจานวนเต็ม
Data type
ขนาด
ค่ าของข้ อมูล
sbyte (System.SByte)
1 byte
-128 ถึง 127
short (System.Int16)
2 bytes
-32,768 ถึง 32,767
int (System.Int32)
4 bytes
-2,147,483,648 ถึง
2,147,483,647
long (System.Int64)
27
8 bytes
-263 ถึง (263 – 1)
เลขจานวนเต็มบวก
Data type
ขนาด
ค่ าของข้ อมูล
byte (System.Byte)
1 byte
ushort (System.UInt16)
2 bytes 0 ถึง 65,535
uint (System.UInt32)
4 bytes 0 ถึง 4,294,967,295
ulong (System.UInt64)
8 bytes 0 ถึง 264 -1
28
0 ถึง 255
เลขทศนิยม
Data type
ขนาด
ค่ าของข้ อมูล
float (System.Single)
4 bytes ±1.5 x 10-45 ถึง ±3.4 x 1038
ความแม่นยาของทศนิยมอยูท่ ี่ 7 ตาแหน่ง
double (System.Double)
8 bytes ±5.0 x 10-324 ถึง ±1.7 x 10308
ความแม่นยาของทศนิยมอยูท่ ี่ 15 ตาแหน่ง, มีช่วงของข้อมูลกว้างที่สุด
decimal (System.Decimal) 16 bytes ±1.0 x 10-28 ถึง ±7.9 x 1028
ความแม่นยาของทศนิยมอยูท่ ี่ 28 ตาแหน่ง, ช่วงข้อมูลแคบกว่า double
แต่ให้ค่าละเอียดมากในส่ วนของทศนิยม เหมาะกับการคานวณเรื่ องเงิน
29
ประเภทข้ อมูลทีไ่ ม่ ใช่ Numeric
Data type
char
(System.Char)
string
(System.String)
bool
(System.Boolean)
30
ขนาด
2 bytes
ค่ าของข้ อมูล
ตัวอักษรแบบ Unicode มีเครื่ องหมาย '
(single quote) คร่ อมตัวอักษร เช่น 'A', '1'
ไม่แน่นอน ตัวอักษรแบบ Unicode หลายตัวมารวมกัน
มีเครื่ องหมาย " (double quote) คร่ อม
เช่น "Hello"
1 bit มีค่าที่เป็ นไปได้ 2 ค่า คือ
true และ false
การประกาศตัวแปร (Variable)
วิธี1 [ชนิดของข้ อมูล] ชื่ อตัวแปร;
วิธี2 [ชนิดของข้ อมูล] ชื่ อตัวแปร = [ค่ าเริ่มต้ นของตัวแปร];
int x; int y, z; int Y, Z = 3;
Double d = 10.99;
String D = "Hello World",str;
หมายเหตุ:
ไม่สามารถประกาศตัวแปรซ้ าภายในบล็อก {…} เดียวกัน
31
ตัวอย่ าง: การประกาศตัวแปร
32
การประกาศค่ าคงที่ (Constant)
const [ชนิดของข้ อมูล] ชื่ อตัวแปร = ค่ าคงที;่
 const int x = 1;
 const double pi = 3.14;
หมายเหตุ:
ไม่สามารถเปลี่ยนแปลงค่าคงที่ได้
33
ตัวดาเนินการทางคณิตศาสตร์ (operator)



Arithmetic Operators
 + - * / %
 ++ - = += -= *= /= %=


A = 2+3;
B = 4 % 3;
X++; ++X; X--; --X;
Y += 3;
String Operators
 +

Message = "Hello "+Name

If (A=5 && B>6) {…}
Boolean Operators
 < <= > >= == !=
 ! && || ^

34
นิพจน์ ทางคณิตศาสตร์ (operator)
35

Operators
 +-* /
 % (remainder after division)

Example
 11 + 5  16
 11 / 2  5.5
 11 % 2  1
 5.0 % 2.2  0.6
ลาดับความสาคัญของ Operators
ลาดับ
1
2
3
4
5
6
7
8
9
10
36
Operator
( ), x++, x-+x, -x, ++x, --x, !
*, /, %
+, shift bits left: <<, shift bits right: >>
<, <=, >, >=, is, as
= =, !=
&, |, ^
&&, ||, ?:
=, +=, =,*=, /=, %=, <<=, >>=, &=, ^=, |=
ลาดับความสาคัญของ Operators
1.
2.
3.
4.
( ) parentheses
*, / , %
+–
If equal precedence, left to right
ตัวอย่ าง
int Width,High;
Width=10*5+16*12/5;
High= 16+5+20%2;
37
ทดลองเขียนโปรแกรมคานวณพืน้ ที่สี่เหลีย่ ม
38
แบบฝึ กหัด
1. จงหาผลลัพธ์ของคาสัง่ ต่อไปนี้
2. จงเขียนคาสัง่ ในภาษา C# เพื่อประกาศตัวแปรหรื อค่าคงที่ตามที่กาหนดให้
โดยเลือกใช้ชนิดข้อมูลที่เหมาะสม
2.1 ค่าคงที่ชื่อ MY AGE เพื่อใช้แทนอายุปัจจุบนั ของนักศึกษา
2.2 ตัวแปรชื่อ income เพื่อใช้เก็บเงินเดือนของพอลล่า
2.3 ตัวแปรชื่อ temp c เพื่อเก็บค่าอุณหภูมิบริ เวณขั้วโลกเป็ นองศาเซลเซียส
2.4 ค่าคงที่ชื่อ PI เพื่อใช้แทนค่า 3.1415926535
2.5 ตัวแปรชื่อ myName เก็บค่าเริ่ มต้นเป็ น "Pe-ter"
3. จงเขียนโปรแกรมคานวณพื้นที่วงกลมและเส้นรอบวง โดยให้สามารถ
รับค่ารัศมีจากผูใ้ ช้ได้ โดยกาหนดค่าคงที่ชื่อ PI ใช้แทนค่า 3.141
ตัวอย่างหน้าจอแสดงผล
Enter Radius : 4
Radius of Circle = 4
Area of Circle = 50.256
Round of Circle = 25.128