1 / 30

ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)

ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3). ประเภทของข้อมูล. ข้อมูลในภาษาซี แบ่งได้เป็น 4 กลุ่ม ข้อมูลชนิดอย่างง่าย (Simple Type) ข้อมูลประเภทแถวอักขระ (String Type) ข้อมูลชนิดโครงสร้าง (Structure Type) ข้อมูลชนิดศรชี้ (Pointer Type).

Download Presentation

ประเภทของข้อมูลและตัวดำเนินการ Data Types and Operator (บทที่ 3)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ประเภทของข้อมูลและตัวดำเนินการData Types and Operator (บทที่ 3)

  2. ประเภทของข้อมูล ข้อมูลในภาษาซี แบ่งได้เป็น 4 กลุ่ม • ข้อมูลชนิดอย่างง่าย (Simple Type) • ข้อมูลประเภทแถวอักขระ (String Type) • ข้อมูลชนิดโครงสร้าง (Structure Type) • ข้อมูลชนิดศรชี้ (Pointer Type)

  3. ข้อมูลชนิดอย่างง่าย (Simple Type) • ข้อมูลประเภทลำดับ (Ordinal Type) • ข้อมูลจำนวนเต็ม • ข้อมูลอักขระ • ข้อมูลตรรกะ • ข้อมูลประเภทจำนวนจริง (Real Type)

  4. ข้อมูลชนิดอย่างง่าย (Simple Type) • ข้อมูลประเภทลำดับ (Ordinal Type) • ข้อมูลจำนวนเต็ม

  5. ข้อมูลชนิดอย่างง่าย (Simple Type) • ข้อมูลจำนวนเต็ม

  6. ข้อมูลชนิดอย่างง่าย (Simple Type) • ข้อมูลประเภทลำดับ (Ordinal Type) • ข้อมูลอักขระ (Character Data Type) ข้อมูลประเภทนี้จะเป็นตัวอักขระหนึ่งตัว ซึ่งเป็นไปตาม ตารางรหัส ASCII ได้แก่ ตัวอักษร ตัวเลข อักขระพิเศษ

  7. ข้อมูลชนิดอย่างง่าย (Simple Type) • ข้อมูลประเภทลำดับ (Ordinal Type) • ข้อมูลตรรกะ (Boolean Data Type) จะเป็นค่าทางลอจิก • ค่าเท็จ (False) แทนค่าด้วยเลข 0 • ค่าจริง (True) แทนค่าด้วยเลข 1 - ค่าจริง คือ ค่าที่ไม่เท่ากับ 0

  8. ข้อมูลชนิดอย่างง่าย (Simple Type) • ข้อมูลประเภทจำนวนจริง (Real Data Type) ไม่เป็นข้อมูลชนิดลำดับ เนื่องจากทศนิยมมีได้หลายตำแหน่ง

  9. ข้อมูลประเภทแถวอักขระ (String Type) • เป็นการนำตัวอักขระมาเรียงต่อกันเป็นข้อความตั้งแต่หนึ่งตัวเป็นต้นไป สามารถเก็บตัวอักขระได้ 255 ตัว โดยตัวอักขระจะต้องอยู่ในเครื่องหมาย “” • ภาษาซีมีการเติมตัวอักษรว่าง Null ( \0 ) เป็นตัวสุดท้ายของสตริง Example ใช้เนื้อที่ในการเก็บทั้งสิ้น 9 Bytes

  10. การประกาศค่าคงที่และตัวแปรการประกาศค่าคงที่และตัวแปร ค่าคงที่ (Constant) • หมายถึง ค่าในหน่วยความจำที่มีค่าคงที่ตลอดโปรแกรม • การประกาศค่าคงที่ ทำได้ 2 ลักษณะ คือ • ประกาศ ให้ค่าคงที่ ชื่อว่า a เป็นชนิด Integer Const int a ; // ERROR • ประกาศ ให้ค่าคงที่ ชื่อว่า b เป็นชนิด Integer เก็บค่า 12 ไว้ Const int b = 12 ;

  11. การประกาศค่าคงที่และตัวแปรการประกาศค่าคงที่และตัวแปร ตัวแปร (Variables) • หมายถึง ค่าในหน่วยความจำที่สามารถเปลี่ยนค่าได้ • ชื่อตัวแปรจะเป็นตำแหน่งหน่วยความจำที่เก็บข้อมูลอยู่ • การประกาศตัวแปรสามารถทำได้ดังนี้ ตัวอย่างเช่น

  12. ตัวอย่างที่ 1 Output Please Enter Cost of item : 500 Output Please Enter Cost of item : 500 item Cost is = 500.00 Sales tax is 35.00 ผลการทำงาน ?

  13. ตัวดำเนินการ (Operator) ภาษาซีมีตัวดำเนินการ ดังต่อไปนี้ • ตัวดำเนินการเลขคณิต (Arithematic Operator) • ตัวดำเนินการลอจิก (Logic Operator) • ตัวดำเนินการเปรียบเทียบ (Relation Operator)

  14. ตัวดำเนินการเลขคณิต (Arithematic Operator)

  15. ตัวอย่างที่ 2

  16. ตัวอย่างที่ 3

  17. ตัวอย่างที่ 4

  18. จากตัวอย่างที่ 4 ถ้า x มีค่าเป็น 7 y = + + x แล้ว อธิบายได้ว่า x มีค่าเป็น 7 ต่อมา เพิ่มค่า x ขึ้นหนึ่ง แล้วส่งให้ตัวแปร y ทำให้ y มีค่าเป็น 8 สรุปได้ว่า - ถ้าวางตัวดำเนินการไว้หน้าตัวแปร จะทำการเพิ่มค่าก่อนแล้วจึงส่งค่าให้กับ y - ถ้าวางตัวดำเนินการไว้หลังตัวแปร จะทำการส่งค่าให้กับ y ก่อนแล้วจึงเพิ่มค่า x อีกหนึ่ง ถ้า x มีค่าเป็น 7 y = x + + แล้ว อธิบายได้ว่า x มีค่าเป็น 7 ทำให้ y มีค่าเป็น 7 ด้วย และเพิ่มค่า x ขึ้นหนึ่ง ส่งผลให้ xมีค่าเป็น 8

  19. ตัวดำเนินการเปรียบเทียบ (Relation Operator)

  20. ตัวดำเนินการลอจิก (Logic Operator) ตารางค่าความจริง AND ตารางค่าความจริง OR ตารางค่าความจริง NOT

  21. ตัวอย่างที่ 5 #include <stdio.h> int main() { int A , B; printf(" A B A OR B\n"); A = 1; B = 1; printf("| %d | %d | %d |\n", A, B, A||B); A = 1; B = 0; printf("| %d | %d | %d |\n", A, B, A||B); A = 0; B = 1; printf("| %d | %d | %d |\n", A, B, A||B); A = 0; B = 0; printf("| %d | %d | %d |\n", A, B, A||B); return(0); } A B A OR B | 1 | 1 | 1 | | 1 | 0 | 1 | | 0 | 1 | 1 | | 0 | 0 | 0 | ผลการทำงาน ?

  22. การยุบนิพจน์โดยใช้ (Compound Assignment)

  23. ขนาดของหน่วยความจำของข้อมูลเรียงจากน้อยไปมากขนาดของหน่วยความจำของข้อมูลเรียงจากน้อยไปมาก long double double float unsigned long int long int unsigned int int short char

  24. การเปลี่ยนประเภทของข้อมูลการเปลี่ยนประเภทของข้อมูล ผลลัพธ์จะเก็บในข้อมูลประเภทที่ใหญ่กว่าเสมอ

  25. การเปลี่ยนประเภทของข้อมูลการเปลี่ยนประเภทของข้อมูล ภาษาซีสามารถเปลี่ยนประเภทของข้อมูลให้เป็นไปตามที่ผู้ใช้ต้องการได้ โดยการนำชนิดข้อมูลไว้หน้าข้อมูลเช่น

  26. ตัวอย่างที่ 6 #include <stdio.h> int main() { int i , j; scanf("%d %d" , &i , &j ); printf(" i < j: %d\n" , i<j ); printf(" i <= j: %d\n" , i<=j ); printf(" i == j: %d\n" , i==j ); printf(" i > j: %d\n" , i>j ); printf(" i >= j: %d\n" , i>=j ); return(0); } ผลการทำงาน 1 6 i<j: i<=j: i==j: i>j: i>=j: 1 6 i<j:1 i<=j:1 i==j:0 i>j:0 i>=j:0 6 -1 6 -1 i< j:0 i<= j: 0 i== j:0 i> j: 1 i>= j: 1

  27. ตัวอย่างที่ 7 #include <stdio.h> int main() { int i , j; scanf("%d %d" , &i , &j ); printf(" i && j: %d\n" , i && j ); printf(" i || j : %d\n" , i || j ); printf(" !i : %d\n" , !i ); printf(" !j : %d\n" , !j ) ; return(0); } ผลการทำงาน 2 -1 i && j: i || j : !i : !j : 2 -1 i && j:1 i || j : 1 !i : 0 !j : 0 0-2 0-2 i && j:0 i || j : 1 !i : 1 !j : 0

  28. ลำดับการดำเนินงานของ Operator วงเล็บ • () • ! (Not) , ++ , -- , - • * , / , % • + , - • < , > , <= , >= • == , != • && (And) • || (Or) • = , *= , /= , %= , += , -=, ติดลบ ในกรณีอยู่ในลำดับเดียวกันจะทำจากซ้ายไปขวา

  29. ตัวอย่างที่ 8 #include <stdio.h> int main() { int i , j; printf("2+3 && 1 : %d\n" , 2+3 && 1); printf("2+3 && 0 : %d\n" , 2+3 && 0); printf("-3 < 1 && 1 : %d\n" , -3 < 1 && 1); printf("12/3*5 > 10 < 5: %d\n" , 12/3*5 > 10 < 5); return(0); } 2+3 && 1 : 2+3 && 0 : -3 < 1 && 1 : 12/3*5 > 10 < 5: 2+3 && 1 : 1 2+3 && 0 : 0 -3 < 1 && 1 : 1 12/3*5 > 10 < 5: 1 ผลการทำงาน ?

  30. จบประเภทของข้อมูลและตัวดำเนินการData Types and Operator Question ?

More Related