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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

12 12 ตัวอย่างที่ 1 #include 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 ผลการ ทำงาน ? Output Please Enter Cost of item : 500 item Cost is = Sales tax is 35.00

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

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

15 15 ตัวอย่างที่ 2 ค่าตัว แปร x ค่าตัว แปร y การ ดำเนินก าร ค่าจาก การ กระทำ ผลลัพธ์ ที่เก็บ 105x = y + 27X = 7 105x = x/y2X = x = x/y2.0X = x = x%y1X = x = x%y2X = x = x%y-2X = -2

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

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

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

19 19 ตัวดำเนินการเปรียบเทียบ (Relation Operator) operator ความหมาย ชนิดของ ข้อมูล ตัวอย่างผลลัพธ์ < น้อยกว่า boolean 5 < 40 <= น้อยกว่าหรือ เท่ากับ boolean 5 <= 51 == เท่ากับ boolean 0 == 01 > มากกว่า boolean 5 > 41 >= มากกว่าหรือ เท่ากับ boolean 5 >= 41 != ไม่เท่ากับ boolean 0 != 00

20 20 ตัวดำเนินการลอจิก (Logic Operator) operator ความหมาย ชนิดของ ข้อมูล ตัวอย่างผลลัพธ์ &&ANDboolean1 && -11 ||ORboolean1 || 01 !NOTboolean!40 ABA && B ABA || B A!A ตารางค่าความ จริง AND ตารางค่าความ จริง OR ตารางค่าความ จริง NOT

21 21 #include 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 | ตัวอย่างที่ 5 ผลการ ทำงาน ?

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

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

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

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

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

27 27 #include 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); } ผลการ ทำงาน 0 -2 ตัวอย่างที่ 7 2 i && j: i || j : !i : !j : 0 -2 i && j: 0 i || j : 1 !i : 1 !j : 0 2 i && j: 1 i || j : 1 !i : 0 !j : 0

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

29 29 #include 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 > < 5); return(0); } 2+3 && 1 : 2+3 && 0 : -3 < 1 && 1 : 12/3*5 > 10 < 5: ตัวอย่างที่ 8 ผลการ ทำงาน ? 2+3 && 1 : && 0 : 0 -3 < 1 && 1 : 1 12/3*5 > 10 < 5: 1

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


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

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


Ads by Google