View
0
Download
0
Category
Preview:
Citation preview
บทท 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
Toolbox
Windows Form Designer
PropertiesWindow
SolutionExplorer
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#
method Main
method จะตองอยใน class
class จะตองอยใน namespace
namespace HelloW {
class HelloWClass {
static void Main () {
System.Console.WriteLine("Hello World!");
System.Console.ReadLine();
}
}
}
รปแบบ Class <Identifier> {…….}
โครงสรางของโปรแกรม C#C#
โปรแกรมจะประกอบดวยหลาย namespacesNamespace ประกอบดวยหลาย classesclass ประกอบดวยหลาย methods
method1
method2
method2
namespace
Class
Class
โครงสรางของโปรแกรม C#
13
Your Class Name
Your declaration part
Your statements
Your Namespace Name
C# Overview
ตวอยาง ชนดโปรเจกทเลอก Console Application
โครงสรางของโปรแกรม C#
โปรแกรมจะตองประกอบดวยอยางนอย 1 Namespace
namespace HelloW {
class HelloWClass {
static void Main () {
System.Console.WriteLine("Hello World!");
System.Console.ReadLine();
}
}
}
หลกการตงชอ namespaces , class และตวแปร ขนตนดวยตวอกษร, underscore (_) หรอ @ หามใชตวเลข หรออกขระเปนตวเรมตน ใชตวอกษร, ตวเลข และ underscores(_) ในการตงชอได ตงไดไมเกน 63 ตวอกษร ตองไมเปนค าสงวน (reserved word)
* Case Sensitive * Example
URU01 ≠ uRu01 ≠ uru01
ค าสงวนของภาษา C# (Reserved Words)
พจารณาชอตวแปรตอไปนวาถกตองตามกฎการตงชอหรอไม_Y
String
i_j
Student ID
HelloWorld!!
first-time
Null 204111Class Section3 sECTION3 w*h 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;
ค าสงแสดงผล
Console.Write ("Hello");
Console.WriteLine ("Hello World");
string str = "Hello";
Console.Write (str + " World");
22
วธ1 Console.Write (ขอความ);
วธ2 Console.WriteLine (ขอความ);
ทดลองเขยนโปรแกรม จงเขยนโปรเจกตชนด Console Application โดยใชค าสง Write/
WriteLine และใหโปรแกรมมผลลพธดงน
******************************************************
Student ID : …………………………….
Name : ……………………..Faculty :……………………
Major :……………………………………………………
******************************************************
ค าสงรบขอมล
Console.Write ("What is your name? : ");string name = Console.ReadLine ( ); // LaksameeConsole.Write ("My name is " + name);Console.Read ( );
24
วธ1 Console.Read (); หรอConsole.ReadLine ();
วธ2 ตวแปร = Console.Read (); หรอตวแปร = Console.ReadLine ();
จงหาขอผดพลาดของโปรแกรมตอไปน
ชนดของขอมล
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) 8 bytes -263 ถง (263 – 1)27
เลขจ านวนเตมบวก
Data type ขนาด คาของขอมล
byte (System.Byte) 1 byte 0 ถง 255
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
เลขทศนยม
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)
2 bytes ตวอกษรแบบ Unicode มเครองหมาย ' (single quote) ครอมตวอกษร เชน 'A', '1'
string(System.String)
ไมแนนอน ตวอกษรแบบ Unicode หลายตวมารวมกนมเครองหมาย " (double quote) ครอมเชน "Hello"
bool(System.Boolean)
1 bit มคาทเปนไปได 2 คา คอtrue และ false
30
การประกาศตวแปร (Variable)
31
วธ1 [ชนดของขอมล] ชอตวแปร;
วธ2 [ชนดของขอมล] ชอตวแปร = [คาเรมตนของตวแปร];
int x; int y, z; int Y, Z = 3;Double d = 10.99;String D = "Hello World",str;
หมายเหต: ไมสามารถประกาศตวแปรซ าภายในบลอก {…} เดยวกน
ตวอยาง: การประกาศตวแปร
32
การประกาศคาคงท (Constant)
const int x = 1; const double pi = 3.14;
หมายเหต: ไมสามารถเปลยนแปลงคาคงทได
33
const [ชนดของขอมล] ชอตวแปร = คาคงท;
ตวด าเนนการทางคณตศาสตร (operator)Arithmetic Operators
+ - * / % ++ -- = += -= *= /= %=
String Operators +
Boolean Operators < <= > >= == != ! && || ^
A = 2+3; B = 4 % 3; X++; ++X; X--; --X; Y += 3;
Message = "Hello "+Name
If (A=5 && B>6) {…}
34
นพจนทางคณตศาสตร (operator) Operators
+ - * /% (remainder after division)
Example11 + 5 1611 / 2 5.511 % 2 15.0 % 2.2 0.6
35
ล าดบความส าคญของ Operatorsล าดบ Operator
1 ( ), x++, x--
2 +x, -x, ++x, --x, !
3 *, /, %
4 +, -
5 shift bits left: <<, shift bits right: >>
6 <, <=, >, >=, is, as
7 = =, !=
8 &, |, ^
9 &&, ||, ?:
10 =, +=, =,*=, /=, %=, <<=, >>=, &=, ^=, |=36
ล าดบความส าคญของ Operators
1. ( ) parentheses
2. *, / , %
3. + –
4. If equal precedence, left to right
37
ตวอยางint Width,High;Width=10*5+16*12/5;High= 16+5+20%2;
ทดลองเขยนโปรแกรมค านวณพนทสเหลยม
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 : 4Radius of Circle = 4Area of Circle = 50.256Round of Circle = 25.128
Recommended