C# Operation สุพจน์ สวัตติวงศ์ Reference:

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA
Advertisements

Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
ชนิดของข้อมูลในโปรแกรม Interactive C
รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
วิชา องค์ประกอบศิลป์สำหรับคอมพิวเตอร์ รหัส
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
เลขฐานต่าง ๆ อ.มิ่งขวัญ กันจินะ.
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)
BC320 Introduction to Computer Programming
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
CS Assembly Language Programming
ชนิดของข้อมูลและตัวดำเนินการ
บทที่ 2 Operator and Expression
Week 6 ประกาศค่าตัวแปร.
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
NUMBER SYSTEM เลขฐานสิบ (Decimal Number) เลขฐานสอง (Binary Number)
การเขียนโปรแกรม ASP การประกาศตัวแปร
ตัวดำเนินการ (Operator) คือสัญลักษณ์หรือเครื่องหมายแทนการกระทำกับข้อมูล เพื่อบอกให้เครื่องคอมพิวเตอร์ทราบว่าจะต้องดำเนินการใดกับข้อมูลใดบ้าง แบ่งออกเป็น.
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Digital Logic and Circuit Design
A.5 Solving Equations การแก้สมการ.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
ระบบจำนวนเต็ม โดย นางสาวบุณฑริกา สูนานนท์
บทที่ 11 การเขียนโปรแกรมภาษาซี
ตัวแปรและชนิดข้อมูล (Variables and Data Types)
การใช้งานเบื้องต้นของเครื่องคิดเลขทางการเงิน
ข้อมูลพื้นฐานและตัวดำเนินการ
หน่วยที่ นิพจน์ในภาษา C
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
ตัวดำเนินการ(Operator)
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
บทที่ 3 ชนิดของข้อมูลและตัวดำเนินการ
ง40208 การเขียนไดนามิกเว็บเพจ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
นิพจน์และตัวดำเนินการ
ค33211 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 5
ค21201 คณิตศาสตร์เพิ่มเติม 1
ตัวดำเนินการในภาษาซี
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
บทที่ 4 การใช้ตัวดำเนินการ
สัปดาห์ที่ 7 การแปลงลาปลาซ The Laplace Transform.
โปรแกรมยูทิลิตี้.
เครื่องหมายและการดำเนินการ ในภาษา C
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
พื้นฐานการเขียนโปรแกรม
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ค21201 คณิตศาสตร์เพิ่มเติม 1
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
บทที่ 3 ชนิดข้อมูล ตัวแปร นิพจน์และตัวดำเนินการ
โครงสร้างภาษาซี #include <stdio.h> void main() {
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
จำนวนจริง จำนวนอตรรกยะ จำนวนตรรกยะ เศษส่วน จำนวนเต็ม จำนวนเต็มบวก
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
พื้นฐานการเขียนโปรแกรมด้วย C#
ระบบเลขจำนวน ( Number System )
บทที่ 7 เงื่อนไขในภาษาซี
วิธีเรียงสับเปลี่ยนและวิธีจัดหมู่
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
การรับและแสดงผลข้อมูล (Input/Output)
โครงสร้างข้อมูลแบบ สแตก (stack)
CHAPTER 2 Operators.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

สุพจน์ สวัตติวงศ์ tohpus@hotmail.com C# Operation สุพจน์ สวัตติวงศ์ tohpus@hotmail.com Reference: นิรันดร์ ประวิทย์ธนา, เก่ง C# ให้ครบสูตร ฉบับ OOP, วิตตี้กรุ๊ป http://tidno1.exteen.com/20050604/c-tutorial-2

Operation ใน C# Operation ใน C# แบ่งออกเป็น 3 ชนิดคือ Numerical Operation String Operation Boolean Operation

Numerical Operation เป็น Operation ในการคำนวณทางคณิตศาสตร์ สามารถใช้ได้มั้งตัวเลข, เลขทศนิยม และตัวอักษร หลักการเหมือนการคำนวณทางคณิตศาสตร์โดยทั่วไป เครื่องหมายที่ใช้ =, +, -, *, /, %, ++, --, () เป็นต้น

การหาร ในภาษาคอมพิวเตอร์ มีการหารอยู่ 2 แบบคือ Divide หรือ Div (/) คือการหารโดยปกติ หากตัวแปรที่ทำการหารเป็นจำนวนเต็ม Div จะทำการหารโดยตัดเศษทิ้ง หากตัวเป็นจำนวนจริง(ทศนิยม) จะแสดงค่าผลลัพธ์การหารตามปกติ Modulus หรือ Mod(%)คือการหารเอาเศษไว้ใช้งาน Console.WriteLine("17.0%2.0="+(17.0 % 2.0) + " 17%2=" + (17 % 2)); Console.WriteLine("17.0/2.0="+(17.0 / 2.0) + " 17/2=" + (17 / 2)); 17.0%2.0=1 17%2=1 17.0/2.0=8.5 17/2=8

Increment Operator และ Decrement Operator เป้าหมายเพื่อให้กระชับมากขึ้น

ตัวอย่าง int x = 3, y = 2, z; float a, b, c; x = 3; Console.WriteLine("x= " + x); Console.WriteLine("x++ =" + (x++)); x= 3 x++ =3 x= 4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("++x =" + (++x)); x= 3 ++x =4 x= 4 a = 3.0f; Console.WriteLine("a= " + a); Console.WriteLine("a++ =" + (a++)); a= 3 a++ =3 a= 4

ตัวอย่าง char d='A'; Console.WriteLine("d= " + d); d= B

x++ เท่ากับ x+1? จากที่ผ่านมาจะสังเกตุว่า x++ จะดูเหมือนจะเท่ากับ x+1? Console.WriteLine("x= " + x); Console.WriteLine("x++ =" + (x++)); x= 3 x++ =3 x= 4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("x+1 =" + (x+1)); x= 3 x+1 =4

x++ เท่ากับ x+1? x= 4 x++ =4 x+1 =4 x+1 =4 Console.WriteLine("x= " + x); Console.WriteLine("++x =" + (++x)); x= 3 x++ =4 x= 4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("x+1 =" + (x+1)); x= 3 x+1 =4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("x=x+1 =" + (x=x+1)); x= 3 x+1 =4 x= 4

Assignment Operator นอกจากเครื่องหมาย = ยังมี Operator อื่นๆ อีกเช่น +=, -=, *=, /=, %= โดยเครื่องหมายเหล่านี้ทำให้ Code ดูกระชับมากขึ้น Assignment Operator มีความหมายเท่ากับ x+=3; x=x+3; x-=3; x=x-3; x*=3; x=x*3; x/=3; x=x/3; x%=3; x=x%3;

ขั้นตอนการคำนวณของคอมพิวเตอร์ ในตัวดำเนินการทางคณิตศาสตร์ ขั้นตอนการคำนวณของคอมพิวเตอร์ ในตัวดำเนินการทางคณิตศาสตร์  วงเล็บ “( )” ไม่ว่าอย่างไรก็ตาม คอมพิวเตอร์จะทำการคำนวณในวงเล็บให้เสร็จก่อนดำเนินการต่อไป “++”และ “--” กรณีที่เป็น++ อยู่ด้านหน้า เช่น ++x นับจากซ้ายไปขวาหากเจอเครื่องหมายเหล่านี้จะทำก่อน การคูณ “*”และ การหาร “ /”, “%” นับจากซ้ายไปขวา เจอเครื่องหมายใด (คูณ หรือ หาร) ก็จะทำก่อน การบวก และ ลบ “+”,“-” จากซ้ายไปขวาเช่นกัน เจอเครื่องหมายใด (บวก หรือ ลบ) ก็จะทำก่อน  “++”และ “--” กรณีที่เป็น++ อยู่ด้านหลัง เช่น x++ นับจากซ้ายไปขวาหากเจอเครื่องหมายเหล่านี้จะทำก่อน

Exercise int a=2, b=3, c=4; float d=5.0, e=7.0, f=9.0; 5+3 4-5 -8+9 4+-2*-5-(6*2) (20/5)+(9-5)*6/3 a+=5 a*=2 a/=3 a%= 6 144/3 144.0/3 144.0/3.0f 1/2 1.0/2 12%3 12.0%3 3%2 125/10 125/100 125%10 125%10 125%100 125%1000 b+c*d/e f+c*1/2.0 b+c*2.0 (b++) +d ++b b-- (c++)+(++c)

String Operation เป็น Operation ที่ทำงานกับ String ด้วย operator “+” String s1, s2, s3; s1 = "1"; s2 = "6"; s3 = s1 + s2; Console.WriteLine("s1 ===>"+s1+"\ns2 ===>"+s2+"\ns3=s1+s2 ====>"+s3); s1 ===>1 s2 ===>6 s3=s1+s2 ====>16

Boolean Operation หรือ Logical Operation คือ Operation ที่ส่งค่าคืนกลับมาเป็น “True” หรือ “False” เท่านั้น เช่น ==, <=, <, >, >=, !=, &&, || เป็นต้น โดย Logical Operation มีการแบ่งออกเป็น Comparison Operator Logical Operator

Comparison Operator เครื่องหมาย ความหมาย ตัวอย่าง == เท่ากับ a==b < น้อยกว่า a<b <= น้อยกว่าเท่ากับ a<=b > มากกว่า a>b >= มากกว่าเท่ากับ a>=b != ไม่เท่ากับ a!=b

Logical Operator เครื่องหมาย ความหมาย ตัวอย่าง && และ a&&b || หรือ ! ไม่ !b

Exercise int a=2, b=3, c=4; float d=5.0, e=7.0, f=9.0; 2 <=5 10 > 50 (2<5) && (6>1)  (5!=6) || (2>3) a!=null c-c==false 0==(int)true a=2+1==b (a=2+1)==b a+c!=b+3 (a=0)==false (a=1)==true (b<b) && (c>c)  (a!=-a) || (b>e) c!=e=b f==b=b !true !false !(a=b)==false !(a==b)==false

Bitwise Operators เป็น operator อย่างหนึ่งของ Numerical Operation ที่จะกระทำกับทุก ๆ bit ของ operand ในชนิด integer type(sbyte, short, int, long, byte, ushort, uint, ulong) การทำงานของ Bitwise เป็นการคำนวณที่เร็วกว่าการคำนวณในแบบปกติ เครื่องหมาย ความหมาย ตัวอย่าง & Bitwise And a&b | Bitwise Or a|b ^ Bitwise XOR a^b ~ Bitwise complement ~b << Bitwise Shift Left a<<b >> Bitwise Shift Right a>>b

Truth Table AND a b a&b 1

Truth Table OR a b a|b 1

Truth Table XOR a b a^b 1

Truth Table Complement 1

การคำนวณของ Bitwise Operators สมมติ ตัวแปร a =3; b=2; ให้ทำการเปลี่ยน a และ b เป็นเลขฐาน 2 ก่อน จากนั้นจึงนำมาคำนวณกับ Bitwise ดังนี้ a= 112 b= 102 a&b 0000 0011 0000 0010 a|b 0000 0011 0000 0010 a^b 0000 0011 0000 0010 0000 0001 ~b 0000 0010 1111 1101 b<<1 0000 0010 0000 0100 b>>1 0000 0010 0000 0001 ~ & | & << << 2 3 1 -3 4 1

ประโยชน์ของ Bitwise Operators ใช้ในการคำนวณได้เร็วขึ้น สามารถนำมาใช้ในการ คูณ 2 แบบเร็วๆ ได้เช่น 4<<1 = 8 สามารถมาทำผลหาร2 แบบเร็วๆ ได้เช่นกัน เช่น 18>>1 =9 สามารถใช้ในการทำ Flag ได้ โดยเก็บค่าต่างๆไว้ใน Bit int personal = 1; int group = 2; int all = 4; int user_permission = personal | group; if ((personal & user_permission) != 0) Console.WriteLine("access granted");

Bitwise Assignment Operator โดยเครื่องหมายเหล่านี้ทำให้ Code ดูกระชับมากขึ้น และเหมือนกับ Assignment Operator ปกติ Assignment Operator มีความหมายเท่ากับ x&=3; x=x&3; x|=3; x=x|3; x^=3; x=x^3; x<<=3; x=x<<3; x>>=3; x=x>>3;

Exercise int a = 1, b = 2, c = 3, d = 4, e = 5, f = 7, g =8; a|b a&b&c (a&b)|(a&c)  a&(b|c) (a|b)&(a|c) a|(b&c) a^b+c|b a^b d*e/1.0^b f=a|b|d a&b&c a&b|c a|b|d|g  a&b&d&g g>>1 g<<1 b<<2 (4*2)>>1 (16)>>3 ~a

สรุปลำดับการใช้งานของ Operator ทั้งหมดใน C# () ++, -- กรณี วางไว้หน้าตัวแปร *, /, % +, - ==, != && || =, +=, -=, /=, %= ++, -- กรณี วางไว้หลังตัวแปร

Enumerations การกำหนด Constant แบบ Enum กำหนดโดยตรงใน namespace ดังนี้ วิธีใช้งานดังต่อไปนี้ enum Color { red, blue, green } // values: 0, 1, 2 enum Access { personal = 1, group = 2, all = 4 } enum Access1 : byte { personal = 1, group = 2, all = 4 } Color c = Color.blue; // enumeration constants must be qualified Access a = Access.personal | Access.group; if ((Access.personal & a) != 0) Console.WriteLine("access granted");

การใช้เครื่องหมายของ enum ใน C# Enumerations ไม่สามารถใช้ int แทนได้ (ยกเว้นถูกกำหนด Type ไว้ก่อน) Enumeration types ถูก inherit จาก object จึงใช้ method (Equals, ToString, ...)ได้ Class System.Enum ครอบคลุมการทำงานบน enumerations (GetName, Format, GetValues, ...).