ความรู้พื้นฐานเกี่ยวกับ C#

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ครั้งที่ 9 Function(ต่อ).
Advertisements

รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
BC320 Introduction to Computer Programming
Introduction to C Programming
ครั้งที่ 8 Function.
Control Statement if..else switch..case for while do-while.
การรับค่าและแสดงผล.
บทที่ 1 หลักการเขียนโปรแกรมเบื้องต้น ภาษา C#
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
ชนิดของข้อมูลและตัวดำเนินการ
LAB # 3 Computer Programming 1
คำสั่งแบบเลือกทำ Week 6.
Week 6 ประกาศค่าตัวแปร.
Visual Basic 6 By Samaporn Yendee VB6.
PHP LANGUAGE.
หน่วยที่ 2 ภาษาโปรแกรม และการออกแบบโปรแกรม
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
การเขียนโปรแกรม ASP การประกาศตัวแปร
ตัวแปรชุด.
เรื่อง ประเภทของข้อมูล
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
การจัดการข้อมูลด้วยคอมพิวเตอร์
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
Relational Operators by Accords (IT SMART CLUB 2006) by Accords 1.
คำสั่งควบคุม (Control Statement)
ข้อมูลพื้นฐานและตัวดำเนินการ
C# Programming Exceed Camp: Day 3.
Javascripts.
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
คำสั่งควบคุมการทำงาน
C# Operation สุพจน์ สวัตติวงศ์ Reference:
การเขียนโปรแกรมภาษาซี
Chapter 4 คำสั่งควบคุมทิศทาง
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
บทที่ 3 ชนิดของข้อมูลและตัวดำเนินการ
ตัวแปรกับชนิดของข้อมูล
โครงสร้างควบคุมการทำงาน
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
โปรแกรมยูทิลิตี้.
คำสั่งควบคุมการทำงานของ ActionScripts
Week 3 Flow Control in PHP
ตัวแปรกับชนิดของข้อมูล
โดย อ. นัฐพงศ์ ส่งเนียม การเขียนโปรแกรมคอมพิวเตอร์ และอัลกอรทึ่ม ( ) Lec04 : [ การแปลงจาก FlowChart.
Week 2 Variables.
Computer Programming for Engineers
คำสั่งควบคุมขั้นตอน Flow control statements
CHAPTER 4 Control Statements
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
บทที่ 3 ชนิดข้อมูล ตัวแปร นิพจน์และตัวดำเนินการ
คำสั่งเกี่ยวกับการรับ และแสดงผล
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
Java Programming Java Structure and Datatype,Variable
อาจารย์ปิยศักดิ์ ถีอาสนา
หลักการเขียนโปรแกรม ( )
Variables and Data Types กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
พื้นฐานการเขียนโปรแกรมด้วย C#
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
บทที่ 2 โครงสร้างของภาษา C.
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
Microsoft Access 2007 นายวุฒิชัย คำมีสว่าง.
การเขียนโปรแกรม (ภาษาซี)
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
ใบสำเนางานนำเสนอ:

ความรู้พื้นฐานเกี่ยวกับ C# C# is a simple, modern, object oriented, and type-safe programming language derived from C and C++. It will immediately be familiar to C and C++ programmers. C# aims to combine the high productivity of Visual Basic and the raw power of C++ From Microsoft C# Language Specification, Microsoft Corporation

Visual C# .NET เครื่องมือพัฒนาโปรแกรมด้วยภาษา C#

วัตถุประสงค์หลักของภาษา C# เป็นภาษาใหม่ที่มีประสิทธิภาพการทำงานเทียบเท่า หรือเหนือกว่า C++ แต่ไม่ยุ่งยากและซับซ้อนเท่า โดยสามารถใช้งานได้ง่ายเหมือนภาษา Visual Basic ทำให้สามารถพัฒนาแอปพลิเคชันในระดับสูงได้ดียิ่งกว่าการใช้ภาษา Visual Basic

คำอธิบาย (Comment) // comment /* multiline comment */

บล็อก (Block) {…} กำหนดจุดเริ่มต้นและสิ้นสุดการทำงานแต่ละส่วน ภายในบล็อก สามารถมีบล็อกย่อยๆ ซ้อนลงไปอีก

ตัวอย่างการใช้บล็อก Class block If block If…then block Else block 1 Class myClass { 2 if (…) { 3 for (…) { 4 … 5 } // end for block 6 } // end if block 7 else { 8 … 9 } // end else block 10 … 11 } // end class block Class block If block If…then block Else block For block

เครื่องหมายสิ้นสุดคำสั่ง (;) ; ตัวแสดงจุดสิ้นสุดแต่ละคำสั่ง จบบล็อก ไม่ต้องใส่ ; ตัวอย่าง 1 x = 10; y = 2 + x; ตัวอย่าง 2 x = 10; y = 2 + x;

Keywords abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual void volatile while

หลักการตั้งชื่อตัวแปร ขึ้นต้นด้วยตัวอักษร, underscore (_) หรือ @ ห้ามใช้ตัวเลข หรืออักขระเป็นตัวเริ่มต้น รูปแบบตัวอักษรพิมพ์ต่างกัน ถือเป็นคนละตัว (case sensitive) เช่น myvar, myVar, MYVAR ถือเป็นคนละตัว

การประกาศตัวแปร (Variable) วิธี1 [ชนิดของข้อมูล] ชื่อตัวแปร; วิธี2 [ชนิดของข้อมูล] ชื่อตัวแปร = [ค่าเริ่มต้นของตัวแปร]; int x; int y, z; int Y, Z = 3; Double d = 10.99; String D = "Hello World",str; หมายเหตุ: ไม่สามารถประกาศตัวแปรซ้ำภายในบล็อก {…} เดียวกัน

การประกาศค่าคงที่ (Constant) const int x = 1; const double pi = 3.14; หมายเหตุ: ไม่สามารถเปลี่ยนแปลงค่าคงที่ได้

ชนิดของข้อมูล Numeric (เลขจำนวนเต็ม และเลขทศนิยม) Char (ตัวอักษร) String (ข้อความ) Boolean (บูลีน) Object

เลขจำนวนเต็ม 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)

เลขจำนวนเต็มบวก 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

เลขทศนิยม 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 แต่ให้ค่าละเอียดมากในส่วนของทศนิยม เหมาะกับการคำนวณเรื่องเงิน

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

สัญลักษณ์พิเศษ char Meaning Value \’ Single quote 0x0027 \” Double quote 0x0022 \\ Backslash 0x005C \0 Null 0x0000 \a Alert 0x0007 \b Backspace 0x0008 char Meaning Value \f Form feed 0x000C \n New line 0x000A \r Carriage return 0x000D \t Horizontal tab 0x0009 \v Vertical tab 0x000B

คำสั่งแสดงผล วิธี1 Console.Write (ข้อความ); วิธี2 Console.WriteLine (ข้อความ); Console.Write ("Hello"); Console.WriteLine ("Hello World"); string str = "Hello"; Console.Write (str + " World");

คำสั่งรับข้อมูล วิธี1 Console.Read (); หรือ Console.ReadLine (); Console.Write ("What is your name? : "); string name = Console.ReadLine ( ); // Laksamee Console.Write ("My name is " + name); Console.Read ( );

operator Arithmetic Operators String Operators Boolean 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) {…}

(เงื่อนไข) ? (ค่าเมื่อเงื่อนไขเป็นจริง) : (ค่าเมื่อเงื่อนไขเป็นเท็จ) Conditional Operator (เงื่อนไข) ? (ค่าเมื่อเงื่อนไขเป็นจริง) : (ค่าเมื่อเงื่อนไขเป็นเท็จ) เป็นวิธีลัดที่ใช้ในการเปรียบเทียบ n = 2; int a = (n = = 0) ? 1 : n; // a = ___

ลำดับความสำคัญของ Operators ประเภท Operator 1 Primary ( ), x++, x-- 2 Unary +x, -x, ++x, --x, !, ~, Cast, value at address: *, address of value: & 3 Multiplicative *, /, % 4 Additive +, - 5 Shift shift bits left: <<, shift bits right: >> 6 Relational <, <=, >, >=, is, as 7 Equality = =, != 8 Logical bitwise &, |, ^ 9 Logical Boolean &&, ||, ?: 10 Assignment =, +=, =,*=, /=, %=, <<=, >>=, &=, ^=, |=

การแปลงประเภทข้อมูล Implicit Conversion เป็นการแปลงข้อมูลที่เกิดขึ้นเองโดยอัตโนมัติ จากข้อมูลที่มีขนาดเล็กกว่าไปเป็นขนาดที่ใหญ่กว่า เช่น จาก int ไปเป็น double int a = 123; long b = a;

การแปลงประเภทข้อมูล (ต่อ) Explicit Conversion (หรือ Cast) เป็นการแปลงข้อมูลตามที่ผู้พัฒนาต้องการ เช่น จาก double ไปเป็น int int x = 123; short z = (short) x; short y = short.Parse(X); float p = 7.5F;

การแปลงประเภทข้อมูล Numeric ตัวอักษร แทนข้อมูล U uint or ulong L long or ulong UL ulong F or f float D or d double M or m decimal float n1 = 7.5F; double n2 = 7.5; double n3 = 7.5D; decimal n4 = 7.5M;

การแปลงประเภทข้อมูลใดๆ [type ใหม่][ตัวแปร] = Convert.To [type ใหม่] ([ค่าเดิม]) int x = Convert.ToInt32 ("123"); // x = 123 double y = Convert.ToDouble (x); // y = (double) 123, x = (int) 123 string s = Convert.ToString (x); // s = "123", x = (int) 123

การกำหนดเงื่อนไข Selection statements : if และ switch…case Iteration statements : while, do…while และ for Jump statements : break, continue, goto, return และ throw

if-else statement if (condition) { … } if (condition) { … } else { ตัวอย่าง bool isEven (int x) { if (x%2 ==0) return true; else return false; } if (condition) { … } else {

else if & Nested if statement if (condition1) { … } else if (condition2) { else { if (condition1) { … if (condition2) { if (condition3) { } ตัวอย่าง char Result; if (Score > 80) Result = ‘A’; else if (Score > 50) Result = ‘B’; else Result = ‘F’;

แบบฝึกหัด if statement (1) จงเขียนโปรแกรมสำหรับคำนวณเกรด โดยรับคะแนนจากผู้ใช้ โดยกำหนดว่า Grade Score A 81 – 100 B 70 – 80 C 60 – 69 D 50 – 59 F 0 – 49 เฉลย เฉลย (เรียก method)

แบบฝึกหัด if statement (2) ค่าบริการน้ำประปาแห่งหนึ่ง มีอัตราดังตาราง จงเขียนโปรแกรมให้สามารถทำการคำนวณค่าใช้บริการน้ำประปาของบริษัทแห่งนี้ หน่วยที่ ราคา / หน่วย (บาท) 10 หน่วยแรก 10 11 - 20 12 21 - 30 15 > 30 20 ตัวอย่าง ถ้าใช้น้ำประปาทั้งหมด 34 หน่วย ต้องชำระค่าใช้บริการทั้งหมด 450 บาท เฉลย

แบบฝึกหัด if statement (3) จงเขียนโปรแกรมสำหรับพิจารณาเงินเดือนจากประสบการณ์ทำงานโดยให้ผู้ใช้ป้อนประสบการณ์ทำงาน โดยกำหนดว่า ถ้าประสบการณ์ 5 ปีขึ้นไป ได้รับเงินเดือน 20,000 บาท ถ้าประสบการณ์ 2 ปีขึ้นไป ได้รับเงินเดือน 15,000 บาท มิเช่นนั้น ได้รับเงินเดือน 12,000 บาท เฉลย

แบบฝึกหัด if statement (4) จงเขียนโปรแกรมแสดงผลยอดเงินคงเหลือในบัญชีเงินฝาก ซึ่งฝากมาแล้ว 1 ปี โดยให้ผู้ใช้ป้อนเงินต้น โดยกำหนดอัตราดอกเบี้ยดังนี้ เงินต้น 100,000 บาทขึ้นไป อัตราดอกเบี้ย 3 % เงินต้น 50,000 บาทขึ้นไป อัตราดอกเบี้ย 2 % เงินต้น ต่ำกว่า 50,000 บาท อัตราดอกเบี้ย 1 % เฉลย (เรียก method)

switch statement switch (expression) { case value1 : statement1; break; case value2 : statement2; case valueN : statementN; default : statement; } expression: ตัวเลข or string string str, color; Console.Write("Enter day of week:"); str = Console.ReadLine(); switch (str) { case "Sunday" : color = "red"; break; case “monday" : case "Monday" : color="yellow"; ... default : color="invalid"; } Console.WriteLine("color of " + str.ToUpper() + " is " + color.ToUpper()); Console.Read (); string str, color; Console.Write("Enter day of week:"); str = Console.ReadLine(); switch (str) { case "Sunday" : color = "red"; break; case "Monday" : color="yellow"; ... default : color="invalid"; } Console.WriteLine("color of " + str.ToUpper() + " is " + color.ToUpper()); Console.Read ();

แบบฝึกหัด switch statement (1) จงเขียนโปรแกรมแสดงเมนูการทำงาน ดังหน้าจอ เลือก 1 ให้แสดงข้อความ "Sub Menu 1 : ADD" เลือก 2 ให้แสดงข้อความ "Sub Menu 2 : SUBTRACT" เลือก 3 ให้แสดงข้อความ "Sub Menu 3 : EXIT" เฉลย

for statement for (counter = first value; counter condition; adjust counter value) { … } for (…) { … }}}

ตัวอย่าง for statement (1) int i, sum; for (i=1; i<5; i++){ sum += i; } Console.Write(sum+" "+i); // sum=_____ i=_____ int sum; for (int i=1; i<5; i++){ sum += i; } Console.Write(sum+" "+i); // sum=_____ i=_____

ตัวอย่าง for statement (2) int num; string s; Console.Write ("Please Enter number : "); s=Console.ReadLine( ); num=int.Parse(s); for (int i=1; i<=num; i++){ for (int j=1;j<=i;j++){ Console.Write(j+" "); } // end for j Console.WriteLine(" "); } // end for i Console.Read( );

while statement while (condition) { … } ตัวอย่าง int Result = 0; int i = 0; while (i < 2) { i += 1; Result += i; } // end while Console.Write (Result + " " + i); // Result=____ i=____

do-while statement do { … } while (condition); while (condition) { … } ตัวอย่าง int Result = 0; int i = 0; do { i += 1; Result += i; } while (i < 2); Console.Write (Result + " " + i); // Result=____ i=____ while (condition) { … }

แบบฝึกหัด for & while statement (1) จงเขียนโปรแกรมเพื่อแสดงผลลัพธ์ดังนี้ 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 เฉลย (for statement) เฉลย (while statement)

แบบฝึกหัด for & while statement (2) จงเขียนโปรแกรมนับว่าหากต้องการเพิ่มค่าจาก 3 จนมากกว่าหรือเท่ากับ 12 จะต้องบวกด้วย 2 ทั้งหมดกี่รอบ เฉลย (for statement) เฉลย (while statement)

แบบฝึกหัด for & while statement (3) จงเขียนโปรแกรมนับว่าหากต้องการลดค่าจาก 100 จนน้อยกว่าหรือเท่ากับ 3 จะต้องหารด้วย 4 ทั้งหมดกี่รอบ เฉลย (for statement) เฉลย (while statement)

แบบฝึกหัด for & while statement (4) พี่มอสมีแฟนคลับ 2,857 คน โดยแต่ละปีจะมีแฟนคลับเพิ่มขึ้นปีละ 8% จงเขียนโปรแกรมคำนวณว่าจะใช้เวลากี่ปี พี่มอสจึงจะมีแฟนคลับมากกว่า 5,000 คน เฉลย (for statement) เฉลย (while statement)

แบบฝึกหัด for & while statement (5) จงเขียนโปรแกรมให้ผู้ใช้ป้อนตัวเลขจำนวนเต็ม 1 จำนวน แล้วหาผลลัพธ์สูตรคูณ โดยแสดงผลลัพธ์เป็นตารางดังนี้ (สมมติผู้ใช้ป้อนเลข 5) 5 * 1 = 5 5 * 2 = 10 … … 5 * 12 = 60 เฉลย (for statement) เฉลย (while statement)

break break; // คำสั่งให้ออกจากลูป โดยหยุดการตรวจสอบเงื่อนไขถัดไป int x=0, i=0; while (i<15) { x++; if ((x%5)==0) { break; } Console.WriteLine("i = " + i + ", x = " +x); i++; } // end while

continue continue; // คำสั่งให้วนลูปถัดไป โดยไม่ทำคำสั่งที่เหลือในลูปนั้น int x=0, i=0; while (i<15) { x++; if ((x%5)==0) { continue; } Console.WriteLine ("i=" + i + ", x=" +x); i++; } // end while

goto วิธี 1 goto statement-label; วิธี 2 goto case-statement; วิธี 3 goto default; คำสั่งให้โปรแกรมกระโดดไปยังตำแหน่งที่ต้องการ

ตัวอย่าง : goto string s; enterTitle: while ((s=Console.ReadLine()) != "x") { switch (s) { case "dr" : Console.Write("INVALID. "); goto default; case "girl" : goto case "mrs"; case "boy" : case "mr" : Console.WriteLine("You are male."); break; case "miss": goto case "mrs"; case "ms" : case "mrs" : Console.WriteLine("You are female."); default : Console.Write("Please enter your title\n"); goto enterTitle; } // end switch } // end while Console.WriteLine("Exit Program");

return return expression; คำสั่งออกจาก method พร้อมการส่งค่า ค่าที่ส่งกลับ สัมพันธ์กับประเภทข้อมูลที่ประกาศ int CalcX (int a) { int x = a * 100; return x; }

Method [modifier] void [name]([param1]…) { … } void sayHello ( ) { void main ( ) (string[ ] args){ sayHello ( ); // Hello sayHello ("Peter"); // Hello Peter } void sayHello ( ) { Console.Write("Hello"); } void sayHello (string name) { Console.Write("Hello " + name); }

Method [modifier][type][name]([param1]…) { … return [value]; } void main ( ) (string[ ] args) { int a = add ( ); // a = _____ int b = add (3,5); // b = _____ double c = add (3,5); // c = _____ string d = add ( ); // d = _____ } int add ( ) { return 2 + 3; } int add (int x, int y) { return x + y; }

แบบฝึกหัด Method (1) จงเขียนโปรแกรมให้ผู้ใช้ป้อนตัวเลขจำนวนเต็ม 1 จำนวน แล้วหาว่าค่าที่รับนั้นเป็นเลขคู่หรือเลขคี่ เช่น รับ 5 -> เลขคี่ รับ 8 -> เลขคู่ เฉลย (ใน main) เฉลย (เรียก method)