Professional Documents
Culture Documents
= C programming By…iamch mmy =: บทที่ 9 Operators หน้า
= C programming By…iamch mmy =: บทที่ 9 Operators หน้า
บทที่ 9 Operators
5+3=8 6–2=4 5 * 7 = 35
8/3=2 8%3=2
10 / 6 = 1 หารเอาผลลัพธ์ 10%6=4 หารเอาเศษ
7/2=3 7%2=1
7%2=1
เราจะอ่านว่า เจ็ด ม๊อด สอง เท่ากับ หนึ่ง
เราสามารถใช้ตัวดาเนินการคานวณเหล่านี้ ทาการคานวณแล้วเก็บค่าไว้ในตัวแปรหรือแสดง
ผลลัพธ์ออกมาเลยก็ได้ ดังตัวอย่างต่อไปนี้
โค้ด
int x = 7, y = 3; ประกาศตัวแปร ทั้งหมด 5 ตัว
int sum, mod, div; คือ x, y sum, mod และ div
sum = x + y;
mod = x % y; คานวณแล้วเก็บค่าไว้ในตัวแปร โดยใช้ตัว
ดาเนินการ + % และ / ตามลาดับ
div = x / y;
printf("sum = %d\n", sum);
printf("x + y = %d\n", x + y);
printf("mod = %d\n", mod);
printf("div = %d\n", div);
printf("%d + %d + %d = %d", sum, mod, div, sum + mod + div);
ผลลัพธ์คือ
sum = 10
x + y = 10
mod = 1
div = 2
10 + 1 + 2 = 13
โค้ด int x = 3 + 4 * 2;
printf("%d", x);
ผลลัพธ์คือ
11
ทาไมผลลัพธ์จึงเป็น 11 ทาไมไม่เท่ากับ 14 !!
นั่นเป็นเพราะว่าคอมพิวเตอร์จะทาการคูณ และหาร ก่อนบวก และลบเสมอ
ผลลัพธ์คือ 14
• คอมพิวเตอร์จะทาการคานวณในวงเล็บก่อนเสมอ
( )
ลองมาดูอีกตัวอย่าง
โค้ด int x = 1 + 5 % ( 8 - 4 / 2 * 3 ) * 4;
printf("%d", x);
ผลลัพธ์คือ
5
เห็นตัวเลขและเครื่องหมายดาเนินการหลายตัวแบบนี้อย่าเพิ่งท้อใจนะ
ไปดูคาอธิบายกัน
นาความรู้เรื่องลาดับการทางานของตัวดาเนินการคานวณมาใช้ ช่วยกันหาคาตอบโจทย์นี้กัน
1+4 บวกกันเลย
ตัวอย่างที่ 1 การใช้ตัวดาเนินการคานวณ
เพือ่ น ๆ ลองทบทวนดูนะ
และนาโค้ดโปรแกรมในตัวอย่าง
ไปใช้ในโปรแกรม Dev-C++
ได้ผลลัพธ์เหมือนเราไหมนะ ?
ตัวดาเนินการ == ใช้ในการเปรียบเทียบ
ส่วน = ใช้กาหนดค่าให้ตัวแปร
ผลลัพธ์คือ
value of true = 1
ลาดับการทางานของตัวดาเนินการเปรียบเทียบ
> >=
ตัวอย่างที่ 2 การใช้ตัวดาเนินการเปรียบเทียบ
คาอธิบายโปรแกรม
บรรทัดที่ 5 int x = 4;
ประกาศตัวแปรชื่อ x เป็นประเภทตัวเลขจานวนเต็ม มีค่าเท่ากับ 4
บรรทัดที่ 6 printf("The value of (x==4) is %d.\n", x==4);
ให้เปรียบเทียบค่าว่า x มีค่าเท่ากับ 4 จริงหรือไม่ ในตัวอย่างนี้เราได้กาหนดค่า x เท่ากับ 4
ไว้ในบรรทัดที่ 5 ดังนั้น 4==4 จึงเป็นจริง ให้ค่าเป็น 1 ผลลัพธ์ คือ The value of (x==4) is 1.
บรรทัดที่ 7 printf("The value of (x!=4) is %d.\n", x!=4);
ให้เปรียบเทียบค่าว่า x มีค่าไม่เท่ากับ 4 จริงหรือไม่ (ในตัวอย่างนี้คือไม่จริง) ดังนั้นจึงให้ค่า 0
ออกมา ผลลัพธ์ คือ The value of (x!=4) is 0.
บรรทัดที่ 8 printf("The value of (4*x-2<=3) is %d.\n", 4*x-2<=3);
ให้เปรียบเทียบค่าว่า 4*x-2 มีค่าน้อยกว่าหรือเท่ากับ 3 จริงหรือไม่ (ในตัวอย่างนี้คือไม่จริง)
ให้ค่าเป็น 0 ผลลัพธ์ คือ The value of (4*x-2<=3) is 0.
เพือ่ น ๆ ลองนาโค้ดโปรแกรม
ในตัวอย่าง
ไปใช้ในโปรแกรม Dev-C++ ดูนะ
ตัวดาเนินการทางตรรกศาสตร์ ใช้เพื่อเชื่อมประโยคให้เป็นประโยคที่ซับซ้อนขึ้นและช่วยใน
การสร้างประโยคแบบเงื่อนไข
ตัวดาเนินการทางตรรกศาสตร์ ได้แก่
ตัวอย่าง
การดาเนินการ คาตอบ ค่าที่ให้
(2<3) && (3>1) จริง 1
(2>3) || (4<1) เท็จ 0
! (2> 3) จริง 1
ตัวอย่างที่ 3 การใช้ตัวดาเนินการตรรกศาสตร์
คาอธิบายโปรแกรม
บรรทัดที่ 5 int x = 5;
ประกาศตัวแปรชื่อ x เป็นตัวแปรประเภทตัวเลขจานวนเต็ม มีค่าเท่ากับ 5
บรรทัดที่ 6 if((x + 3 > 7 || (x <= 5 || x % 3 == 0)) && x < 1)
ให้แทนค่า x ด้วยเลข 5 และดาเนินการทีละขั้น ได้ดังนี้
if((1 || (1 || 0)) && 0)
if((1 || 1) && 0)
if(1 && 0)
if(0) ได้ค่าเป็นเท็จ (0) จะไม่เข้าไปทาคาสั่งข้างในวงเล็บปีกกา จึงไม่มีการ
แสดงผลข้อความใด ๆ ออกมาทางหน้าจอ
เพือ่ น ๆ ลองนาโค้ดโปรแกรมในตัวอย่าง
ไปใช้ในโปรแกรม Dev-C++ ดูนะ
เมือ่ เข้าใจแล้วก็เข้าไปทาแบบฝึกหัดเลย
คาศัพท์ภาษาอังกฤษน่ารู้ประจาบทที่ 9
++ จบบทที่ 9 ++