Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore C# Language

C# Language

Published by koroimt116, 2021-09-27 04:24:52

Description: C#

Search

Read the Text Version

การเขยี นโปรแกรมภาษา C#

Introduction ในปจั จุบันการเขยี นโปรแกรมตระกูล .NET ไม่ได้มแี คก่ ารพัฒนา โปรแกรมบน Desktop เท่าน้ัน แตร่ วมไปถึงการพัฒนาโปรแกรมบนเว็บ และในมอื ถอื ดว้ ย ซ่ึงใน Visual Studio กร็ องรับการเขยี นโปรแกรม ท้ัง 3 รูปแบบนี้ด้วย ได้แก่ - พฒั นาโปรแกรมบน Desktop โดยใช้สว่ นของ Window Form App - พฒั นาโปรแกรมบนเว็บ เชน่ ASP.NET Core MVC เปน็ ตน้ - พัฒนาโปรแกรมบนสมาร์ทโฟน เชน่ Xamarin เปน็ ต้น

ขอบเขตของเน้ือหา - โครงสร้างและไวยากรณ์ภาษารวมถงึ ทฤษฎกี ารเขยี นโปรแกรมดว้ ยภาษา C# - แกโ้ จทย์ปญั หาเพอื่ นําความรูไ้ ปใชง้ านจรงิ ได้

โครงสร้างคาํ ส่งั ภาษา C# using System; //เรียกใช้ Namespace namespace BasicProgramming { // Namespace class Program{ //ชอ่ื คลาส static void Main(string[] args){ // เมธอด main //คําส่งั ตา่ งๆ } } }

องคป์ ระกอบพน้ื ฐาน - ขอบเขต (Block) ใชส้ ญั ลักษณ์ {} เพ่อื บอกขอบเขตการทาํ งาน ของกลมุ่ คาํ ส่งั วา่ มีจุดเร่ิมตน้ และสนิ้ สดุ ท่ตี ําแหน่งใด - เครอื่ งหมายสนิ้ สดุ คําส่งั ใชส้ ญั ลักษณ์ ; - คาํ อธิบาย (Comment) ใชส้ ญั ลกั ษณ์ // หรือ /* */

การแสดงผลทางจอภาพ คาํ ส่งั สาํ หรับแสดงขอ้ มลู ออกทางจอภาพประกอบ ดว้ ย 2 คําส่งั ไดแ้ ก่ Write , WriteLine มโี ครงสร้างดงั นี้ คอื Write(ขอ้ ความ/ตวั เลข/ตวั แปร/เมธอด/ตวั ดาํ เนินการ)

การแสดงผลทางจอภาพ คาํ ส่งั สาํ หรบั แสดงขอ้ มลู ออกทางจอภาพประกอบดว้ ย 2 คําส่งั ไดแ้ ก่ Write , WriteLine มโี ครงสรา้ งดงั น้ี คือ WriteLine(ขอ้ ความ/ตวั เลข/ตวั แปร/เมธอด/ตวั ดาํ เนินการ)

ตวั อย่างเชน่ Console.Write(‘A’) Console.Write(‘C# Langauge’) Console.Write(100) Console.Write(100+100)

การใชป้ กี กาบอกลําดบั การแสดงผล Console.Write(“ชอ่ื ของฉัน คือ {0}”,”C# Langauge”) Console.Write(“ชอื่ ของฉัน คือ {0} อายุ {1}”,”Bell”,30)

การเขยี นคาํ อธิบาย (Comment) วธิ ีท่ี 1 โดยใชเ้ คร่ืองหมาย Slash ( / ) ใชใ้ นการอธิบายคาํ ส่งั ส้นั ๆในรูป แบบบรรทดั เดยี ว วิธีที่ 2 เขียนคาํ อธิบายไว้ในเคร่ืองหมาย /* … */ ใชใ้ นการอธิบายคาํ ส่งั ยาวๆหรือแบบหลายบรรทัด

ตวั แปรและชนิดขอ้ มลู ตวั แปร คอื ชอ่ื ที่ถกู นิยามข้นึ มาเพอื่ ใชเ้ กบ็ ค่าขอ้ มลู สาํ หรบั นําไปใชง้ านในโปรแกรมโดยขอ้ มลู ประกอบดว้ ย ขอ้ ความ ตวั เลข ตวั อักษร หรอื ผลลัพธ์จากการประมวลผลขอ้ มลู

Data Type คําอธิบาย Class และขนาด Bit boolean คา่ ทางตรรกศาสตร์ 8 (เก็บค่า True /False) byte ตัวเลขทไ่ี ม่มจี ุดทศนิยม SByte(8) short Int16 ตัวเลขทไ่ี ม่มีจุดทศนิยม int Int32 long ตวั เลขท่ีไมม่ จี ุดทศนิยม Int64 float ตัวเลขที่ไมม่ จี ุดทศนิยม Single(32) double ตัวเลขทม่ี ีจุดทศนิยม Double (64) char ตัวเลขท่มี ีจุดทศนิยม Char(16) ตัวอักษร ชนดิ ขอมูลจะเปนตัวกาํ หนดคา ท่สี ามารถเกบ็ ไดในตัวแปร ยงิ่ จํานวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คาไดม ากเทาน้ัน

Data Type คา่ ตาสดุ ค่าสงู สดุ boolean คา่ ทางตรรกศาสตร์ 8 (เกบ็ คา่ True /False) byte -128 127 short -32768 32767 int -2147483648 2147483647 long float -9223372036854775808 9223372036854775807 double char 1.4E-45 3.4028235E38 4.9E-324 1.7976931348623157E308 -- ชนิดขอมูลจะเปน ตัวกําหนดคาท่สี ามารถเกบ็ ไดใ นตัวแปร ย่ิงจาํ นวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คา ไดมากเทาน้นั

การนิยามตวั แปร ชนิดขอ้ มลู ชอ่ื ตวั แปร ; ชนิดขอ้ มลู ชอ่ื ตวั แปร = คา่ เรม่ิ ตน้ ; ใหนําคาทางขวามือของเคร่อื งหมาย =

จาํ นวนเตม็ และจํานวนทศนิยม int x = 10; double y = 10.24; float a=3.99f หรือ หรือ หรือ int x; double y; float a; x=10; y=10.24 a=3.99f ใหนาํ คา ทางขวามือของเครอื่ งหมาย = ไปเกบ็ ไวในตวั แปรท่อี ยูดานซา ยมือ

ค่าคงที่ (Constant) มลี ักษณะการการใชง้ านคล้ายกบั ตวั แปร แตค่ า่ คงท่ี คือค่าจะไมส่ ามารถเปลีย่ นแปลงได้ ตอนประกาศใชง้ าน ค่าคงที่ตอ้ งมกี ารประกาศค่าเริ่มตน้ เสมอ

การนิยามค่าคงท่ี (Constant) const ชนิดข้อมลู ชอ่ื ตัวแปร = ค่าเริ่มตน้ ;

การนิยามคา่ คงทีม่ กั จะนิยามเปน็ ตวั พมิ พใ์ หญ่ const float PI = 3.14 ; const int SIZE = 10;

กฎการต้งั ชอื่ ● ข้นึ ตน้ ดว้ ยตวั อักษร A-Z หรอื a-z หรือ @ หรือ _ เครอ่ื งหมายขดี เสน้ ใต้ เทา่ น้ัน ● อกั ษรตวั แรกหา้ มเปน็ ตวั เลข ● ความยาวการต้งั ชอื่ ไมเ่ กนิ 63 ตวั อักษร ● Case Sensitive ตวั พมิ พเ์ ล็ก-พมิ พใ์ หญ่ มคี วามหมายตา่ งกนั ● หา้ มใชอ้ กั ขระพเิ ศษมาประกอบเปน็ ชอื่ ตวั แปร เชน่ {} , % ^ และชอ่ งวา่ ง เปน็ ตน้ ● ไมซ่ ากบั คําสงวนในภาษา C#



Format String สาํ หรบั แสดงผลตวั เลข รู ปแบบอักขระ ความหมาย E หรือ e Exponential (รูปแบบตวั เลขชก้ี าํ ลงั ) F หรือ f Floating Point (เลขทศนิยม) G หรือ g แสดงตวั เลขรูปแบบส้นั ทส่ี ดุ N หรือ n Number ใส่ comma ค่นั ทุกๆ 3 หลัก P หรือ p Percentage (เลขเปน็ % ) X หรือ x Hexadecimal (เลขฐาน 16)

รับค่าผ่านทางคียบ์ อร์ด ● Read() - อ่านค่าตัวอักษรผ่านทางคียบ์ อร์ด (ASCII) ● ReadLine() - อ่านคา่ ผา่ นทางคีย์บอร์ดใช้อา่ น String หรือ Double Float โดยสง่ ค่ากลับมาจะเปน็ String

ตัวดาํ เนินการ (Operator) กลมุ่ ของเคร่ืองหมายหรือสญั ลักษณ์ท่ใี ชใ้ นการเขียนโปรแกรม A+B 1. ตวั ดาํ เนินการ (Operator) 2. ตวั ถกู ดาํ เนินการ (Operand)

ตวั ดาํ เนนิ การทางคณิตศาสตร Operator คาํ อธิบาย + บวก - ลบ * คูณ หาร / หารเอาเศษ %

ฟงั กช์ ่นั ทางคณิตศาสตร์ ชอ่ื ฟงั กช์ ่นั การทาํ งาน Math.Abs(x) คา่ สมั บูรณ์ของ x (|x|) Math.Ceiling(x) ปดั เศษทศนิยมข้นึ ทุกกรณี Math.Floor(x) ปดั เศษทศนิยมทง้ิ ทกุ กรณี Math.Round(x) ปดั เศษทศนิยม >=.5 เปน็ ตน้ ไปปดั เศษข้นึ ถา้ <.5 ใหป้ ดั เศษลง Math.Pow(x,y) x ยกกาํ ลงั y รากทสี่ องของ x Math.Sqrt(x) คา่ คงท่ี π มีคา่ ประมาณ 3.141592653 Math.PI ค่าคงที่ e มคี ่าประมาณ 2.718281828 Math.E

ตวั ดําเนินการเปรียบเทียบ **** ชนิดขอ้ มลู boolean Operator คาํ อธิบาย == เทา่ กบั != ไมเ่ ทา่ กบั > มากกวา่ < น้อยกวา่ >= มากกวา่ เทา่ กบั <= น้อยกวา่ เท่ากับ

ตัวดาํ เนนิ การเพ่มิ คา - ลดคา Operator รูปแบบการเขยี น ความหมาย ++ (Prefix) ++ (Postfix) ++a เพ่มิ คา่ ให้ a ก่อน 1 ค่าแลว้ นําไปใช้ -- (Prefix) a++ นําคา่ ปจั จุบันใน a ไปใชก้ ่อนแล้ว -- (Postfix) คอ่ ยเพมิ่ ค่า --b ลดคา่ ให้ b กอ่ น 1 คา่ แล้วนําไปใช้ b-- นําคา่ ปจั จุบันใน b ไปใชก้ ่อนแล้ว ค่อยลดค่า

Compound Assignment Assignment รูปแบบการเขยี น ความหมาย += x+=y x=x+y -= x-=y x=x-y *= x*=y x=x*y x/=y x=x/y /= x%=y x=x%y %=

ลาํ ดบั ความสําคญั ของตวั ดําเนนิ การ ลําดบั ที่ เครอ่ื งหมาย ลาํ ดบั การทํางาน 1 () 2 ซ้ายไปขวา 3 ++ , -- ซ้ายไปขวา 4 *, / , % ซ้ายไปขวา 5 ซ้ายไปขวา 6 +, - ซ้ายไปขวา < , <= , > , >= ซ้ายไปขวา 7 ซ้ายไปขวา 8 == , != ขวาไปซ้าย 9 && (AND) || (OR) = , += , -= , *= , /= , %=

กรณีศึกษา 1. 5+8 *9 2. 10 - 4+2 3. 10 - (2+1) 4. 5 * 2 – 40 / 5 5. 7+8/2+25

การแปลงชนิดข้อมูล (Type Casting) 1.Widening Casting คอื การแปลงข้อมูลทมี่ ขี นาดเลก็ ไปสขู่ ้อมูลขนาดใหญ่ (แบบอัตโนมตั )ิ byte -> short -> int -> long -> float -> double 2.Narrowing Casting คอื การแปลงข้อมูลท่มี ขี นาดใหญไปสขู่ ้อมลู ท่ีมีขนาดเล็ก (ทาํ เอง) double -> float -> long -> int -> char -> short -> byte

การแปลงชนิดข้อมูล (Type Casting) ขอ้ มลู ทกุ ชนิดสามารถ แปลงเปน็ String ไดท้ ้งั หมด

การแปลงชนิดข้อมูล จะใชใ้ นการแปลงชนิดขอ้ มลู เชน่ 1. แปลงจากชนิดขอ้ มลู หน่ึงไปเปน็ อกี ชนิดหน่ึงได้ 2. แปลงจากตวั เลขเปน็ สตริง 3. แปลงจากสตริงเปน็ ตวั เลข

การแปลงชนิดข้อมลู โดยใชง้ าน Class และ Method ทอ่ี ย่ใู น C# มใี ห้ บรกิ ารอยู่ 4 รูปแบบดว้ ยกนั คือ 1. ใช้ Class Convert 2. ใช้ TryParse 3. ใช้ Parse (แปลงขอ้ ความเปน็ ตวั เลข) 4. toString() - ทาํ ใหเ้ ปน็ String ท้งั หมด

Data Type คําอธิบาย Class และขนาด Bit boolean คา่ ทางตรรกศาสตร์ 8 (เก็บค่า True /False) byte ตัวเลขทไ่ี ม่มจี ุดทศนิยม SByte(8) short Int16 ตัวเลขทไ่ี ม่มีจุดทศนิยม int Int32 long ตวั เลขท่ีไมม่ จี ุดทศนิยม Int64 float ตัวเลขที่ไมม่ จี ุดทศนิยม Single(32) double ตัวเลขทม่ี ีจุดทศนิยม Double (64) char ตัวเลขท่มี ีจุดทศนิยม Char(16) ตัวอักษร ชนดิ ขอมูลจะเปนตัวกาํ หนดคา ท่สี ามารถเกบ็ ไดในตัวแปร ยงิ่ จํานวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คาไดม ากเทาน้ัน

Data Type คา่ ตาสดุ ค่าสงู สดุ boolean คา่ ทางตรรกศาสตร์ 8 (เกบ็ คา่ True /False) byte -128 127 short -32768 32767 int -2147483648 2147483647 long float -9223372036854775808 9223372036854775807 double char 1.4E-45 3.4028235E38 4.9E-324 1.7976931348623157E308 -- ชนิดขอมูลจะเปน ตัวกําหนดคาท่สี ามารถเกบ็ ไดใ นตัวแปร ย่ิงจาํ นวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คา ไดมากเทาน้นั

การใชง้ าน Convert Class byte x = Convert.ToByte(ตวั เลขหรอื สตรงิ ทตี่ อ้ งการแปลงเปน็ byte) short y = Convert.ToInt16(ตวั เลขหรือสตรงิ ทต่ี อ้ งการแปลงเปน็ short) int z = Convert.ToInt32(ตวั เลขหรือสตริงที่ตอ้ งการแปลงเปน็ int) long a = Convert.ToInt64(ตวั เลขหรอื สตริงที่ตอ้ งการแปลงเปน็ long) float b = Convert.ToSingle(ตวั เลขหรอื สตรงิ ทต่ี อ้ งการแปลงเปน็ float) double d = Convert.ToDouble(ตวั เลขหรือสตริงทีต่ อ้ งการแปลงเปน็ double) string d = Convert.ToString(ตวั เลขทต่ี อ้ งการแปลงเปน็ String)

การใชง้ าน Parse Parse(“ขอ้ ความ”) int number1 = Int.parse(“200”); double number2 = double.parse(“4.00”) double number3 = double.parse(textbox.text)

การใช้งาน TryParse TryParse(“ขอ้ ความ”,out result) เกบ็ สถานะการแปลงลงใน success (True/False) เกบ็ ผลลัพธ์ลงใน result success= Int.TryParse(“200”,out result); success= Int.TryParse(“200”,out result);

ความแตกตา่ ง ● Parse(“ขอ้ ความ”) - เปน็ การแปลงขอ้ มลู ชนิด string หรือขอ้ ความใหเ้ ปน็ ขอ้ มลู ชนิดท่ีตอ้ งการ ● TryParse มกี ารจดั การ Exception (ขอ้ ผดิ พลาด) แลว้ สง่ ค่ากลบั มาเปน็ True / False ● toString() แปลงอะไรกไ็ ดเ้ ปน็ String

Assignment 1: โปรแกรมคํานวณคา่ ดชั นีมวลกาย (BMI) ดชั นีมวลกาย (BMI) = นาหนักตวั (กโิ ลกรมั ) สว่ นสงู (เมตร)2 ยกตวั อยา่ ง เชน่ ถ้ามนี าหนัก 60 กิโลกรัม และสงู 1.55 ม. ดัชนีมวลกาย (BMI) = 24.97

โครงสร้างควบคมุ (Control Structure) คอื กลุม่ คําส่งั ท่ีใชค้ วบคุมการทาํ งานของโปรแกรม ● แบบลําดบั (Sequence) ● แบบมเี งือ่ นไข (Condition) ● แบบทาํ ซา (Loop)

แบบมเี งอ่ื นไข (Condition) กลุ่มคําส่งั ท่ีใชต้ ัดสนิ ใจในการเลอื กเงื่อนไขต่างๆ ภายในโปรแกรมมาทาํ งาน ● if ● Switch..Case

รูปแบบคาํ ส่งั แบบเงอ่ื นไขเดยี ว ● if statement เปน็ คําส่งั ทีใ่ ชก้ าํ หนดเงอ่ื นไขในการตดั สนิ ใจทํางานของโปรแกรม ถา้ เงื่อนไขเปน็ จรงิ จะทําตามคําส่งั ตา่ งๆ ที่กาํ หนดภายใตเ้ งอ่ื นไขน้ันๆ if(เงอ่ื นไข){ คาํ ส่งั เม่ือเงอ่ื นไขเปน็ จริง ; }

รูปแบบคําส่งั แบบ 2 เง่ือนไข if(เงอ่ื นไข){ คําส่งั เมื่อเง่อื นไขเปน็ จริง ; }else{ คําส่งั เม่อื เงือ่ นไขเปน็ เท็จ ; }

รูปแบบคําส่งั แบบหลายเง่อื นไข if(เงอื่ นไขท่ี 1){ คาํ ส่งั เมอ่ื เง่อื นไขท่ี 1 เปน็ จริง ; }else if(เง่ือนไขที่ 2){ คําส่งั เมอ่ื เงอื่ นไขที่ 2 เปน็ จริง ; }else if(เงือ่ นไขท่ี 3){ คาํ ส่งั เม่อื เงอ่ื นไขท่ี 3 เปน็ จริง ; }else{ คาํ ส่งั เม่อื ทกุ เง่อื นไขเปน็ เท็จ ; }

โจทย์ปญั หา : โปรแกรมตัดเกรดอย่างงา่ ย คํานวณเกรดจากคะแนนสอบของนักเรียน โดยมีเกณฑ์ดงั นี้ คือ ● คะแนน 80 ข้นึ ไป ได้เกรด A ● คะแนน 70 ข้นึ ไป ได้เกรด B ● คะแนน 60 ข้นึ ไป ได้เกรด C ● คะแนน 50 ข้นึ ไป ได้เกรด D ● น้อยกวา่ 50 คะแนน ไดเ้ กรด F

ขอ้ ควรระวงั การเขียน if เพื่อตรวจสอบเง่ือนไข if(เงอ่ื นไข){ คําส่งั เมอื่ เงือ่ นไขเปน็ จริง ; }if(เง่อื นไข){ คําส่งั เมื่อเงอ่ื นไขเปน็ จริง ; }

ตวั ดําเนนิ การทางตรรกศาสตร Operator คําอธิบาย && AND || OR ! NOT

ตวั ดาํ เนนิ การทางตรรกศาสตร


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook