SlideShare a Scribd company logo
1 of 12
ตัวดำเนินกำรทำงคณิตศำสตร์
พิจารณาคาสั่งต่อไปนี้
a = b + c;
ความหมายของคาสั่งนี้คือการบวกค่าของตัวแปร b เข้ากับตัวแปร c แล้วเก็บผลลัพธ์ลงในตัวแปร
a
ดังนั้น การเขียนสมการในภาษาซีคือ
"การนาผลลัพธ์ของการคานวณในด้านขวาของเครื่องหมายเท่ากับ (=) ไปใส่ในตัวแปรทาง
ด้านซ้าย"
สาหรับตัวดาเนินการทางคณิตศาสตร์ได้แก่ + (บวก), - (ลบ), * (คูณ), / (หาร), % (มอดดูโล
หรือ มอด หรือ หารเอาเศษ)
 ตัวดำเนินกำรทำงคณิตศำสตร์อย่ำงย่อ
การเพิ่มค่า (increment)/ลดค่า (decrement) ด้วยสัญลักษณ์ ++, พิจารณา
code ต่อไปนี้
/*1*/ int a = 1;
/*2*/ b = ++a;
บรรทัดที่ 1 เป็นการประกาศตัวแปรชนิดจานวนเต็มชื่อ a และกาหนดค่าเริ่มต้นให้เท่ากับ 1
บรรทัดที่ 2 เป็นการเพิ่มค่าตัวแปร a ขึ้น 1 ค่า แล้วจึง copy ค่าของตัวแปร a ไปให้ตัว
แปร b
code ดังกล่าวมีรูปแบบเต็มดังนี้
/*1*/ int a = 1, b;
/*2*/ a = a+1;
/*3*/ b = a;
หรือกล่าวได้ว่าเป็นการเพิ่มค่า a ขึ้น 1 ค่า ก่อนที่จะกาหนดค่านั้นให้ตัวแปร b
นอกจากเราจะเพิ่มค่าตัวแปรโดยใช้ a++ ได้ด้วยโดยมีความหมายแตกต่างกันเล็กน้อย
ดังนี้
/*1*/ int a = 1, b;
/*2*/ b = a;
/*3*/ a = a+1;
หรือกล่าวได้ว่าเป็นการกาหนดค่าในตัวแปร b ให้กับตัวแปร a ก่อน แล้วค่อยเพิ่มค่าใน
ตัวแปร a ขึ้น 1 ค่า
ในทานองเดียวกัน เราสามารถลดค่าของตัวแปรใดๆ ด้วยเครื่องหมาย -- ได้เช่นกัน
การลดรูปคาสั่ง
พิจารณาตัวอย่างต่อไปนี้
/*1*/ int a = 5, b = 10;
/*2*/ a = a+b;
code ในบรรทัดที่ 2 เป็นการบวกค่าของตัวแปร a กับตัวแปร b แล้วคืนผลลัพธ์
กลับไปเก็บไว้ในตัวแปร a (เท่ากับ 15)
ซึ่งสามารถลดรูปได้ดังนี้
/*1*/ int a = 5, b = 10;
/*2*/ a += b;
ในทานองเดียวกัน เราสามารถนาหลักการลดรูปนี้ไปใช้กับตัวดาเนินการ - (ลบ), *
(คูณ), / (หาร), % (มอด) ได้
 ตัวดำเนินกำรเปรียบเทียบ
เราสามารถกาหนดการทางานของโปรแกรมให้เป็นไปตามเงื่อนไขต่างๆ ที่ต้องการได้
โดยตรวจสอบเงื่อนไขด้วยตัวดาเนินการเปรียบเทียบ
เครื่องหมาย ความหมาย
== เท่ากับ
!= ไม่เท่ากับ
< น้อยกว่า
<= น้อยกว่าหรือเท่ากับ
> มากกว่า
>= มากกว่าหรือเท่ากับ
ผลลัพธ์จากการใช้ตัวดาเนินการเปรียบเทียบจะมีค่าเป็น จริง/true/1 และ
เท็จ/false/0 เท่านั้น ดังตัวอย่างต่อไปนี้
/*1*/ int a = 5, b = 10;
/*2*/ a == 7;
/*3*/ a != b;
ดังนั้นบรรทัดที่ 2 จะให้ผลลัพธ์เป็นเท็จ (a มีค่า 5 ซึ่งไม่เท่ากับ 7) และบรรทัดที่ 3 จะ
ให้ผลลัพธ์เป็นจริง (a ไม่เท่ากับ b)
ตัวดำเนินกำรตรรกศำสตร์
เมื่อต้องการนาผลจากการตรวจสอบเงื่อนไขมาใช้ร่วมกัน เราสามารถนาตัวดาเนินการ
ตรรกศาสตร์ (AND, OR, NOT) มาใช้ได้
ซึ่งผลลัพธ์จากการใช้ตัวดาเนินการเปรียบเทียบจะมีค่าเป็น จริง/true/1 และ เท็จ/false/0
เช่นเดียวกับตัวดาเนินการเปรียบเทียบ ดังตัวอย่างต่อไปนี้
เครื่องหมาย ความหมาย
&& AND
|| OR
! NOT
/*1*/ int a = 3;
/*2*/ a >=0 && a<=10;
/*3*/ a >=0 && a<=10 && (a%2 == 0);
/*4*/ a >=0 && a<=10 && !(a%2 == 0);
บรรทัดที่ 2 จะให้ผลลัพธ์เป็นจริง (ค่า a = 3 อยู่ระหว่าง 0 ถึง 10)
บรรทัดที่ 3 จะได้ผลลัพธ์เป็นเท็จ (a = 3 ซึ่ง mod 2 แล้วเท่ากับ 1 ไม่เท่ากับ 0)
บรรทัดที่ 4 จะได้ผลลัพธ์เป็นจริง (a = 3 ซึ่ง mod 2 แล้วเท่ากับ 1 ไม่เท่ากับ 0 ได้
ผลลัพธ์เป็นเท็จ แต่ผลนั้นถูก NOT ทาให้เป็นจริง)
กำรเปลี่ยนชนิดของตัวแปร (casting)
ในการดาเนินการใดๆ (คณิตศาสตร์/เปรียบเทียบ/ตรรกศาสตร์) ระหว่างตัวแปร 2 ตัว, ตัวแปร
ดังกล่าวจาเป็นจะต้องมีชนิดเดียวกัน
แต่ในการใช้งานจริงอาจจาเป็นต้องดาเนินการกับตัวแปรต่างชนิด ดังนั้นเราอาจต้องแปลงตัวแปร
ให้เป็นชนิดเดียวกันก่อน
โดยการแปลงแบ่งออกเป็น 2 แบบดังนี้
การแปลงชนิดตัวแปรแบบอัตโนมัติ
เมื่อมีการดาเนินการระหว่างสองตัวแปรต่างชนิดกัน ตัวแปลภาษาจะแปลงชนิดให้อัตโนมัติ โดย
เลือกแปลงตัวแปรที่มีขอบเขตเล็กกว่าเช่น
/*1*/ int a = 2;
/*2*/ float b = 3.5, sum;
/*3*/ sum = a + b;
จะเห็นว่าตัวแปร a เป็นจานวนเต็มซึ่งมีขอบเขตเล็กกว่าตัวแปร b ซึ่งเป็นชนิดทศนิยม (ศึกษา
ขอบเขตของตัวแปรได้จากตารางชนิดของตัวแปรในภาษาซี)
ดังนั้นตัวแปร a จะถูกแปลงเป็นชนิดทศนิยมก่อนทาการบวกในบรรทัดที่ 3 ต่อไป
พิจารณาคาสั่งด้านล่าง
/*1*/ int a = 2, sum;
/*2*/ float b = 3.5;
/*3*/ sum = a + b;
ถึงแม้ว่าตัวแปร a จะถูกแปลงเป็นชนิดทศนิยมในขั้นตอนการบวก แต่ผลลัพธ์นั้นถูกนาไป
เก็บในตัวแปร sum ซึ่งเป็นชนิดจานวนเต็มและ มีขนาดเล็กกว่าชนิดทศนิยม
เพื่อให้ตัวแปรที่มีขนาดเล็กกว่าสามารถเก็บข้อมูลนี้ได้ ตัวแปรภาษาจึงต้องแปลงผลลัพธ์
เป็นชนิดจานวนเต็มโดยการตัดทศนิยมออก ค่าตัวแปร sum จึงเท่ากับ 3
กำรแปลงชนิดตัวแปรแบบกำหนดเอง
นอกจากการแปลงชนิดตัวแปรแบบอัตโนมัติแล้ว เรายังสามารถแปลงชนิดตัวแปรให้เป็นตามที่
เราต้องการได้ดังตัวอย่างต่อไปนี้
int a = 8;
float b = 7.7;
char c = 'Z';
int cast1;
float cast2;
cast1 = (int)b; /*แปลงจาก float เป็น int*/
cast1 = (int)c; /*แปลงจาก char เป็น int โดยจะอยู่ในรูปของรหัส ASCII (Z มี
ค่าเท่ากับ 90) สามารถดูรายละเอียดได้ที่ http://th.wikipedia.org/wiki/แอ
สกี*/
cast1 = (int)20.1; /*แปลงจาก float เป็น int*/
cast2 = (float)a; /*แปลงจาก int เป็น float*/
cast2 = (float)c; /*แปลงจาก char เป็น float*/
cast2 = (float)'T'; /*แปลงจาก char เป็น float*/

More Related Content

Viewers also liked (9)

บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
ความเป็นมาของภาษาC
ความเป็นมาของภาษาCความเป็นมาของภาษาC
ความเป็นมาของภาษาC
 
Ppt progresivisme dan perilaku guru
Ppt progresivisme dan perilaku guruPpt progresivisme dan perilaku guru
Ppt progresivisme dan perilaku guru
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
Présentation Com'Unique
Présentation Com'UniquePrésentation Com'Unique
Présentation Com'Unique
 
Numéricable : Module 3
Numéricable : Module 3Numéricable : Module 3
Numéricable : Module 3
 
Ppt progresivisme dan perilaku guru
Ppt progresivisme dan perilaku guruPpt progresivisme dan perilaku guru
Ppt progresivisme dan perilaku guru
 
Vichy - Enquêtes consommateurs et e-commerce
Vichy - Enquêtes consommateurs et e-commerceVichy - Enquêtes consommateurs et e-commerce
Vichy - Enquêtes consommateurs et e-commerce
 

Similar to บทที่ 3

งานนำเสนอ1
 งานนำเสนอ1 งานนำเสนอ1
งานนำเสนอ1
Ing Gnii
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Nookky Anapat
 
ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางคณิตศาสตร์ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางคณิตศาสตร์
เทวัญ ภูพานทอง
 
Computer programming
Computer  programmingComputer  programming
Computer programming
Preaw Jariya
 
3.ประเภทของข้อมูลและตัวดำเนินการ
3.ประเภทของข้อมูลและตัวดำเนินการ3.ประเภทของข้อมูลและตัวดำเนินการ
3.ประเภทของข้อมูลและตัวดำเนินการ
mansuang1978
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซี
เทวัญ ภูพานทอง
 
จำนวนจริง
จำนวนจริงจำนวนจริง
จำนวนจริง
Piyanouch Suwong
 
จำนวนเต็ม เศษส่วน และทศนิยม
จำนวนเต็ม เศษส่วน และทศนิยมจำนวนเต็ม เศษส่วน และทศนิยม
จำนวนเต็ม เศษส่วน และทศนิยม
jinda2512
 
งานนำเสนอ1อ ทรงศักดิ์
งานนำเสนอ1อ ทรงศักดิ์งานนำเสนอ1อ ทรงศักดิ์
งานนำเสนอ1อ ทรงศักดิ์
Aeew Autaporn
 
การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถาม
kruthanyaporn
 

Similar to บทที่ 3 (20)

นิพจน์
นิพจน์นิพจน์
นิพจน์
 
งานนำเสนอ1
 งานนำเสนอ1 งานนำเสนอ1
งานนำเสนอ1
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางคณิตศาสตร์ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางคณิตศาสตร์
 
เวทคณิตน่ารู้(The Vedic mathematics Ver.Thai)
เวทคณิตน่ารู้(The Vedic mathematics Ver.Thai)เวทคณิตน่ารู้(The Vedic mathematics Ver.Thai)
เวทคณิตน่ารู้(The Vedic mathematics Ver.Thai)
 
Computer programming
Computer  programmingComputer  programming
Computer programming
 
Computer programming
Computer programmingComputer programming
Computer programming
 
3.ประเภทของข้อมูลและตัวดำเนินการ
3.ประเภทของข้อมูลและตัวดำเนินการ3.ประเภทของข้อมูลและตัวดำเนินการ
3.ประเภทของข้อมูลและตัวดำเนินการ
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซี
 
207
207207
207
 
Ch2
Ch2Ch2
Ch2
 
Unit9
Unit9Unit9
Unit9
 
จำนวนจริง
จำนวนจริงจำนวนจริง
จำนวนจริง
 
การใช้สูตรในการคำนวณ โปรแกรม Microsoft Excel
การใช้สูตรในการคำนวณ โปรแกรม Microsoft Excelการใช้สูตรในการคำนวณ โปรแกรม Microsoft Excel
การใช้สูตรในการคำนวณ โปรแกรม Microsoft Excel
 
ชนิดของข้อมูลและตัวแปร
ชนิดของข้อมูลและตัวแปรชนิดของข้อมูลและตัวแปร
ชนิดของข้อมูลและตัวแปร
 
จำนวนเต็ม เศษส่วน และทศนิยม
จำนวนเต็ม เศษส่วน และทศนิยมจำนวนเต็ม เศษส่วน และทศนิยม
จำนวนเต็ม เศษส่วน และทศนิยม
 
งานนำเสนอ1อ ทรงศักดิ์
งานนำเสนอ1อ ทรงศักดิ์งานนำเสนอ1อ ทรงศักดิ์
งานนำเสนอ1อ ทรงศักดิ์
 
การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถาม
 
3.4 ตัวดำเนินการและนิพจน์
3.4 ตัวดำเนินการและนิพจน์3.4 ตัวดำเนินการและนิพจน์
3.4 ตัวดำเนินการและนิพจน์
 
C lab5 2
C lab5 2C lab5 2
C lab5 2
 

บทที่ 3