งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

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

งานนำเสนอที่คล้ายกัน


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

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

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

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

4 ข้อมูลชนิดอย่างง่าย (Simple Type)
ข้อมูลประเภทลำดับ (Ordinal Type) ข้อมูลจำนวนเต็ม ชนิด ตัวอย่าง integer ...,-3,-2,-1,0,1,2,3,... binary 0 , 1 Octal 0124 , 076 , 04 hexadecimal 0x17, 0xd ,0x5f

5 ข้อมูลชนิดอย่างง่าย (Simple Type)
ข้อมูลจำนวนเต็ม ชนิดข้อมูล ช่วงของข้อมูลที่เก็บไว้ int unsigned int signed int short int unsigned short int signed short int long int -2,147,483, ,147,483,647

6 ข้อมูลชนิดอย่างง่าย (Simple Type)
ข้อมูลประเภทลำดับ (Ordinal Type) ข้อมูลอักขระ (Character Data Type) ข้อมูลประเภทนี้จะเป็นตัวอักขระหนึ่งตัว ซึ่งเป็นไปตาม ตารางรหัส ASCII ได้แก่ ตัวอักษร ตัวเลข อักขระพิเศษ ชนิดข้อมูล ตัวอย่าง char 'C' , 'a' , '\n' , '#' , '{' , '0' , '$'

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

8 ข้อมูลชนิดอย่างง่าย (Simple Type)
ข้อมูลประเภทจำนวนจริง (Real Data Type) ไม่เป็นข้อมูลชนิดลำดับ เนื่องจากทศนิยมมีได้หลายตำแหน่ง ชนิด ตัวอย่าง ช่วงของข้อมูลที่เก็บไว้ float 11.25, -1.5E4, 2.5e-02 3.4E E+38 double 1.7E E+308 long double 3.4E E+4932

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

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

11 การประกาศค่าคงที่และตัวแปร
ตัวแปร (Variables) หมายถึง ค่าในหน่วยความจำที่สามารถเปลี่ยนค่าได้ ชื่อตัวแปรจะเป็นตำแหน่งหน่วยความจำที่เก็บข้อมูลอยู่ การประกาศตัวแปรสามารถทำได้ดังนี้ ตัวอย่างเช่น Type Variables_list int count; float data1 , data2;

12 ตัวอย่างที่ 1 ผลการทำงาน ? #include <stdio.h>
ตัวอย่างที่ 1 #include <stdio.h> const int taxrate = 7; float itemcost , salestax; int main() { printf("Please Enter Cost of item : "); scanf("%f" , &itemcost); salestax = (taxrate * itemcost) / 100; printf(" item Cost is = %.2f \n" , itemcost); printf(" Sales tax is %.2f\n" , salestax); return(0); } Output Please Enter Cost of item : 500 item Cost is = Sales tax is 35.00 Output Please Enter Cost of item : 500 ผลการทำงาน ?

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

14 ตัวดำเนินการเลขคณิต (Arithematic Operator)
ความหมาย ชนิดของข้อมูล ตัวอย่าง + บวก ตามชนิดของข้อมูล 5 + 2 - ลบ 5 - 2 * คูณ 5 * 2 / หาร 5 / 2 % หารเอาผลลัพธ์เฉพาะเศษ ของการหาร( Modulo ) จำนวนเต็ม 5%2 ++ การเพิ่มค่าขึ้นหนึ่ง X++, ++X -- การลดค่าลงหนึ่ง X-- , --X

15 ตัวอย่างที่ 2 ค่าตัวแปร x ค่าตัวแปร y การดำเนินการ ค่าจาก การกระทำ
ตัวอย่างที่ 2 ค่าตัวแปร x ค่าตัวแปร y การดำเนินการ ค่าจาก การกระทำ ผลลัพธ์ ที่เก็บ 10 5 x = y + 2 7 X = 7 x = x/y 2 X = 2 10.0 x = x/y 2.0 X = 2.0 9 x = x%y 1 X = 1 14 -3 -14 3 -2 X = -2

16 ตัวอย่างที่ 3 การดำเนินการ ผลลัพธ์ ชนิดผลลัพธ์ จำนวนเต็ม จำนวนจริง
ตัวอย่างที่ 3 การดำเนินการ ผลลัพธ์ ชนิดผลลัพธ์ 13 / 5 * 3 6 จำนวนเต็ม 6 * 5 / 10 * 16 (6 * 5) / (10 * 2) + 10 11 (6 * 5.0) / (10 * ) 1.0 จำนวนจริง (6 * 5.0) / (10 * (2 + 10)) 0.25 3 * (4 % (6 / 2)) + 5 8

17 ตัวอย่างที่ 4 ค่าตัวแปร x การดำเนินการ ค่าจากการกระทำ 7 x = x+1 8
ตัวอย่างที่ 4 ค่าตัวแปร x การดำเนินการ ค่าจากการกระทำ 7 x = x+1 8 x = x-1 6 x = x++ x = ++x x = x-- x = --x Y = ++x Y มีค่าเป็น 8 Y = x++ Y มีค่าเป็น 7

18 จากตัวอย่างที่ 4 สรุปได้ว่า
จากตัวอย่างที่ 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)
ความหมาย ชนิดของข้อมูล ตัวอย่าง ผลลัพธ์ < น้อยกว่า boolean 5 < 4 <= น้อยกว่าหรือเท่ากับ 5 <= 5 1 == เท่ากับ 0 == 0 > มากกว่า 5 > 4 >= มากกว่าหรือเท่ากับ 5 >= 4 != ไม่เท่ากับ 0 != 0

20 ตัวดำเนินการลอจิก (Logic Operator)
ความหมาย ชนิดของข้อมูล ตัวอย่าง ผลลัพธ์ && AND boolean 1 && -1 1 || OR 1 || 0 ! NOT !4 ตารางค่าความจริง AND ตารางค่าความจริง OR ตารางค่าความจริง NOT A B A && B 1 A B A || B 1 A !A 1

21 ตัวอย่างที่ 5 ผลการทำงาน ? #include <stdio.h> int main() {
ตัวอย่างที่ 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; A = 0; B = 1; A = 0; B = 0; return(0); } A B A OR B | 1 | 1 | | | 1 | 0 | | | 0 | 1 | | | 0 | 0 | | ผลการทำงาน ?

22 การยุบนิพจน์โดยใช้ (Compound Assignment)
ตัวดำเนินการที่ยุบแล้ว x = x + y x += y x = x - y x -= y x = x * y x *= y x = x / y x /= y x = x % y x %= y z = (x+1) + (y+1) z = ++x + ++y

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

24 การเปลี่ยนประเภทของข้อมูล
x y นิพจน์ z int z = x + y float double z = x * y char short long z = (x + y) / 4.6 long then float ผลลัพธ์จะเก็บในข้อมูลประเภทที่ใหญ่กว่าเสมอ

25 การเปลี่ยนประเภทของข้อมูล
ภาษาซีสามารถเปลี่ยนประเภทของข้อมูลให้เป็นไปตามที่ผู้ใช้ต้องการได้ โดยการนำชนิดข้อมูลไว้หน้าข้อมูลเช่น x นิพจน์ ผลลัพธ์ int float x float (int)(x ) (float)( x +1)

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

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


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

งานนำเสนอที่คล้ายกัน


Ads by Google