41
บทที่ 2 การใช้คาสั่งพื้นฐานของ ภาษา C# อ.ปกรณ์ สุนทรเมธ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์และเทคโนโลยีการเกษตร มทร.ล้านนา น่าน

บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

บทท 2 การใชค าสงพนฐานของภาษา C#

อ.ปกรณ สนทรเมธ

สาขาวชาเทคโนโลยสารสนเทศ คณะวทยาศาสตรและเทคโนโลยการเกษตร

มทร.ลานนา นาน

Page 2: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

SharpDevelop เครองมอพฒนาแอพพลเคชน

SharpDevelop เปนเครองมอในการพฒนาโปรแกรม.NET แบบ OpenSource โดยมคณสมบตหลกดงตอไปน

สราง/แกไข/บนทก โปรแกรมทเขยนดวยภาษา C# ได

คอมไพล (แปล) และรนโปรแกรมภาษา C#

สนบสนนการพฒนาโปรแกรมทงแบบ Console Application , Windows Application , Mobile Application และ ASP.NET Application

รองรบ 3 ภาษา ไดแก C#,VB.NET,Boo

Page 3: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ตดตง Sharp Develop 3.0 หรอ download ไดท http://www.icsharpcode.net/OpenSource/SD/Download/

Page 4: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

Solution, Project และ Form

การสราง Application จะเรยกวา Solution ซงประกอบดวย Project ตางๆ แตละโปรแกรมจะมฟอรมตางๆ และมไฟลชนดตางๆ

Solution คอ กลมของ Project (หรออาจจะม Project เดยว)ทถกจดการไปพรอมๆ กน

Project คอ กลมของไฟลตางๆ ทถกสรางขนมาเพอใหท าภารกจหนงๆ

Page 5: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

New Project Dialog

Page 6: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ชนดของโปรเจกต

Page 7: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

สวนประกอบของหนาจอโปรแกรมMenu bar

Toolbar

Toolbox

Windows Form Designer

PropertiesWindow

SolutionExplorer

Page 8: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

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 : สวนทเราใชเขยนโปรแกรมเพอสงงานแอพพลเคชน

Page 9: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ
Page 10: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ตวอยางการสรางแอพพลเคชนแบบ Console

แอพพลเคชนแบบ Console คอ การแสดงผลการท างานในโหมดของดอส ซงรบค าสงดวยการพมพค าสง

ตวอยาง

Page 11: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

โครงสรางของโปรแกรม C#

method Main

method จะตองอยใน class

class จะตองอยใน namespace

namespace HelloW {

class HelloWClass {

static void Main () {

System.Console.WriteLine("Hello World!");

System.Console.ReadLine();

}

}

}

รปแบบ Class <Identifier> {…….}

Page 12: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

โครงสรางของโปรแกรม C#C#

โปรแกรมจะประกอบดวยหลาย namespacesNamespace ประกอบดวยหลาย classesclass ประกอบดวยหลาย methods

method1

method2

method2

namespace

Class

Class

Page 13: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

โครงสรางของโปรแกรม C#

13

Your Class Name

Your declaration part

Your statements

Your Namespace Name

C# Overview

Page 14: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ตวอยาง ชนดโปรเจกทเลอก Console Application

Page 15: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

โครงสรางของโปรแกรม C#

โปรแกรมจะตองประกอบดวยอยางนอย 1 Namespace

namespace HelloW {

class HelloWClass {

static void Main () {

System.Console.WriteLine("Hello World!");

System.Console.ReadLine();

}

}

}

Page 16: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

หลกการตงชอ namespaces , class และตวแปร ขนตนดวยตวอกษร, underscore (_) หรอ @ หามใชตวเลข หรออกขระเปนตวเรมตน ใชตวอกษร, ตวเลข และ underscores(_) ในการตงชอได ตงไดไมเกน 63 ตวอกษร ตองไมเปนค าสงวน (reserved word)

* Case Sensitive * Example

URU01 ≠ uRu01 ≠ uru01

Page 17: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ค าสงวนของภาษา C# (Reserved Words)

Page 18: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

พจารณาชอตวแปรตอไปนวาถกตองตามกฎการตงชอหรอไม_Y

String

i_j

Student ID

HelloWorld!!

first-time

Null 204111Class Section3 sECTION3 w*h do

Page 19: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

C# Program

C# syntax is case-sensitive ทก statement จบดวยเครองหมาย semicolon (;) Code อยภายใต { } การ comment ม 2 ประเภท คอ

Comment แบบบรรทดเดยว ใช //Comment หลายบรรทดใช /* */ หรอ

/*---------------------------------------------------------------------------------*/

Page 20: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ
Page 21: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

เครองหมายสนสดค าสง (;)

;ตวแสดงจดสนสดแตละค าสง

จบบลอก ไมตองใส ;

ตวอยาง 1

x = 10;

y = 2 + x;

ตวอยาง 2

x = 10; y = 2 + x;

Page 22: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ค าสงแสดงผล

Console.Write ("Hello");

Console.WriteLine ("Hello World");

string str = "Hello";

Console.Write (str + " World");

22

วธ1 Console.Write (ขอความ);

วธ2 Console.WriteLine (ขอความ);

Page 23: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ทดลองเขยนโปรแกรม จงเขยนโปรเจกตชนด Console Application โดยใชค าสง Write/

WriteLine และใหโปรแกรมมผลลพธดงน

******************************************************

Student ID : …………………………….

Name : ……………………..Faculty :……………………

Major :……………………………………………………

******************************************************

Page 24: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ค าสงรบขอมล

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 ();

Page 25: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

จงหาขอผดพลาดของโปรแกรมตอไปน

Page 26: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ชนดของขอมล

Numeric (เลขจ านวนเตม และเลขทศนยม)Char (ตวอกษร)String (ขอความ)Boolean (บลน)Object

26

Page 27: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

เลขจ านวนเตม

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

Page 28: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

เลขจ านวนเตมบวก

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

Page 29: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

เลขทศนยม

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

Page 30: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ประเภทขอมลทไมใช 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

Page 31: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

การประกาศตวแปร (Variable)

31

วธ1 [ชนดของขอมล] ชอตวแปร;

วธ2 [ชนดของขอมล] ชอตวแปร = [คาเรมตนของตวแปร];

int x; int y, z; int Y, Z = 3;Double d = 10.99;String D = "Hello World",str;

หมายเหต: ไมสามารถประกาศตวแปรซ าภายในบลอก {…} เดยวกน

Page 32: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ตวอยาง: การประกาศตวแปร

32

Page 33: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

การประกาศคาคงท (Constant)

const int x = 1; const double pi = 3.14;

หมายเหต: ไมสามารถเปลยนแปลงคาคงทได

33

const [ชนดของขอมล] ชอตวแปร = คาคงท;

Page 34: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ตวด าเนนการทางคณตศาสตร (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

Page 35: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

นพจนทางคณตศาสตร (operator) Operators

+ - * /% (remainder after division)

Example11 + 5 1611 / 2 5.511 % 2 15.0 % 2.2 0.6

35

Page 36: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ล าดบความส าคญของ 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

Page 37: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ล าดบความส าคญของ 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;

Page 38: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

ทดลองเขยนโปรแกรมค านวณพนทสเหลยม

38

Page 39: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

แบบฝกหด

1. จงหาผลลพธของค าสงตอไปน

Page 40: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

2. จงเขยนค าสงในภาษา C# เพอประกาศตวแปรหรอคาคงทตามทก าหนดให โดยเลอกใชชนดขอมลทเหมาะสม

2.1 คาคงทชอ MY AGE เพอใชแทนอายปจจบนของนกศกษา

2.2 ตวแปรชอ income เพอใชเกบเงนเดอนของพอลลา

2.3 ตวแปรชอ temp c เพอเกบคาอณหภมบรเวณขวโลกเปนองศาเซลเซยส

2.4 คาคงทชอ PI เพอใชแทนคา 3.1415926535

2.5 ตวแปรชอ myName เกบคาเรมตนเปน "Pe-ter"

Page 41: บทที่ 2 เริ่มต้นเขียนโปรแกรม C#sat.nan.rmutl.ac.th/.../2014/09/chapter2_Basic-to-c-1.pdf · 2014-09-30 · ดว้ยไฟล์ชนิดต่างๆ

3. จงเขยนโปรแกรมค านวณพนทวงกลมและเสนรอบวง โดยใหสามารถรบคารศมจากผใชได โดยก าหนดคาคงทชอ PI ใชแทนคา 3.141

ตวอยางหนาจอแสดงผล

Enter Radius : 4Radius of Circle = 4Area of Circle = 50.256Round of Circle = 25.128