ประเภทของข้อมูลและ
ตัวดำำเนินกำร
Data Types and
Operator
ใช้สำำหรับ Turbo C++ Version
3.0
ประเภทของข้อมูลประเภทของข้อมูล
ข้อมูลในภำษำซี แบ่งได้
เป็น 4 กลุ่ม
 ข้อมูลชนิดอย่ำงง่ำย
(Simple Type)
 ข้อมูลประเภทแถวอั...
ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย
(Simple Type)(Simple Type)
 ข้อมูลประเภทลำำดับ (Ordinal Type)
 ข้อมูลจำำนวนเต็ม
...
ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย
(Simple Type)(Simple Type)
ข้อมูลประเภทลำำดับ (Ordinal
Type)
 ข้อมูลจำำนวนเต็ม
ชน...
ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย
(Simple Type)(Simple Type)
• ข้อมูลจำำนวนเต็ม
ชนิดข้อมูล ช่วงของข้อมูลที่เก็บไว้
in...
ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย
(Simple Type)(Simple Type)
 ข้อมูลประเภทลำำดับ (Ordinal Type)
 ข้อมูลอักขระ (Char...
ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย
(Simple Type)(Simple Type)
 ข้อมูลประเภทลำำดับ (Ordinal Type)
 ข้อมูลตรรกะ (Boole...
ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย
(Simple Type)(Simple Type)
 ข้อมูลประเภทจำำนวนจริง (Real Data Type)
ไม่เป็นข้อมูลช...
ข้อมูลประเภทแถวอักขระข้อมูลประเภทแถวอักขระ
(String Type)(String Type)
 เป็นการนำาตัวอักขระมาเรียงต่อกันเป็นข้อความตั้งแต่...
ค่าคงที่ (Constant)
 หมายถึง ค่าในหน่วยความจำาที่มีค่าคงที่ตลอด
โปรแกรม
 การประกาศค่าคงที่ ทำาได้ 2 ลักษณะ คือ
ประกาศ ใ...
ตัวแปร (Variables)
 หมายถึง ค่าในหน่วยความจำาที่สามารถ
เปลี่ยนค่าได้
 ชื่อตัวแปรจะเป็นตำาแหน่งหน่วยความจำาที่
เก็บข้อมูล...
ตัวอย่างที่ตัวอย่างที่ 11
#include <stdio.h>
const int taxrate = 7;
float itemcost , salestax;
void main(void)
{
printf("P...
ตัวดำาเนินการตัวดำาเนินการ (Operator)(Operator)
ภาษาซีมีตัวดำาเนินการ ดังต่อไปนี้
 ตัวดำาเนินการเลขคณิต (Arithematic Oper...
ตัวดำาเนินการเลขคณิตตัวดำาเนินการเลขคณิต
(Arithematic Operator)(Arithematic Operator)
operator
ความ
หมาย
ชนิดของ
ข้อมูล
ตั...
ตัวอย่างที่ตัวอย่างที่ 22
ค่าตัว
แปร x
ค่าตัว
แปร y
การ
ดำาเนิน
การ
ค่าจาก
การก
ระทำา
ผลลัพธ์
ที่เก็บ
10 5 x = y + 2 7 X =...
การดำาเนินการ
ผลลั
พธ์
ชนิด
ผลลัพธ์
13 / 5 * 3 6
จำานวนเ
ต็ม
6 * 5 / 10 * 2 + 10 16
จำานวนเ
ต็ม
(6 * 5) / (10 * 2) + 10 11...
ค่าตัว
แปร x
การดำาเนินการ
ค่าจาก
การกระทำา
7 x = x+1 8
7 x = x-1 6
7 x = x++ 8
7 x = ++x 8
7 x = x-- 6
7 x = --x 6
7 Y = ...
จากตัวอย่างที่จากตัวอย่างที่ 44
ถ้า x มีค่าเป็น 7
y = + + x แล้ว
อธิบายได้ว่า x มีค่าเป็น 7
ต่อมา เพิ่มค่า x ขึ้นหนึ่ง
แล้...
ตัวดำาเนินการเปรียบเทียบตัวดำาเนินการเปรียบเทียบ
(Relation Operator)(Relation Operator)
operator
ความ
หมาย
ชนิด
ของ
ข้อมูล...
ตัวดำาเนินการลอจิกตัวดำาเนินการลอจิก
(Logic Operator)(Logic Operator)
operator
ความ
หมาย
ชนิด
ของ
ข้อมูล
ตัวอย่า
ง
ผลลัพ
ธ...
#include <stdio.h>
void main()
{
int A , B;
printf(" A B A OR Bn");
A = 1; B = 1;
printf("| %d | %d | %d |n", A, B, A||B);...
การยุบนิพจน์โดยใช้การยุบนิพจน์โดยใช้
(Compound Assignment)(Compound Assignment)
นิพจน์ ตัวดำาเนินการที่
ยุบแล้ว
x = x + y ...
ขนาดของหน่วยความจำาของขนาดของหน่วยความจำาของ
ข้อมูลเรียงจากน้อยไปมากข้อมูลเรียงจากน้อยไปมาก
char
short
int
unsigne
d int
l...
การเปลี่ยนประเภทของการเปลี่ยนประเภทของ
ข้อมูลข้อมูล
x y นิพจน์ z
int int z = x + y int
float float z = x + y float
int flo...
การเปลี่ยนประเภทของการเปลี่ยนประเภทของ
ข้อมูลข้อมูล
ภาษาซีสามารถเปลี่ยน
ประเภทของข้อมูลให้เป็นไปตาม
ที่ผู้ใช้ต้องการได้ โด...
#include <stdio.h>
void main()
{
int i , j;
scanf("%d %d" , &i , &j );
printf(" i < j: %dn" , i<j );
printf(" i <= j: %dn"...
#include <stdio.h>
void main()
{
int i , j;
scanf("%d %d" , &i , &j );
printf(" i && j: %dn" , i && j );
printf(" i || j :...
ลำาดับการดำาเนินงานของลำาดับการดำาเนินงานของ
OperatorOperator
1. ()
2. ! (Not) , ++ , -- , -
3. * , / , %
4. + , -
5. < , ...
#include <stdio.h>
void main()
{
int i , j;
printf("2+3 && 1 : %dn" , 2+3 && 1);
printf("2+3 && 0 : %dn" , 2+3 && 0);
prin...
จบประเภทของข้อมูลและ
ตัวดำาเนินการ
Data Types and
Operator
Question ?
Upcoming SlideShare
Loading in …5
×

3.ประเภทของข้อมูลและตัวดำเนินการ

2,520 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,520
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

3.ประเภทของข้อมูลและตัวดำเนินการ

  1. 1. ประเภทของข้อมูลและ ตัวดำำเนินกำร Data Types and Operator ใช้สำำหรับ Turbo C++ Version 3.0
  2. 2. ประเภทของข้อมูลประเภทของข้อมูล ข้อมูลในภำษำซี แบ่งได้ เป็น 4 กลุ่ม  ข้อมูลชนิดอย่ำงง่ำย (Simple Type)  ข้อมูลประเภทแถวอักขระ (String Type)  ข้อมูลชนิดโครงสร้ำง (Structure Type)  ข้อมูลชนิดศรชี้ (Pointer
  3. 3. ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย (Simple Type)(Simple Type)  ข้อมูลประเภทลำำดับ (Ordinal Type)  ข้อมูลจำำนวนเต็ม  ข้อมูลอักขระ  ข้อมูลตรรกะ  ข้อมูลประเภทจำำนวนจริง (Real Type)
  4. 4. ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย (Simple Type)(Simple Type) ข้อมูลประเภทลำำดับ (Ordinal Type)  ข้อมูลจำำนวนเต็ม ชนิด ตัวอย่ำง integer ...,-3,-2,-1,0,1,2,3,... binary 0 , 1 Octal 0124 , 076 , 04 hexadecimal 0x17, 0xd ,0x5f
  5. 5. ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย (Simple Type)(Simple Type) • ข้อมูลจำำนวนเต็ม ชนิดข้อมูล ช่วงของข้อมูลที่เก็บไว้ int -32768...32767 unsigned int 0...65535 signed int -32768...32767 short int -32768...32767 unsigned short int 0...65535 signed short int -32768...32767 long int -2,147,483,648...2,147,483,647
  6. 6. ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย (Simple Type)(Simple Type)  ข้อมูลประเภทลำำดับ (Ordinal Type)  ข้อมูลอักขระ (Character Data Type) ข้อมูลประเภทนี้จะเป็นตัวอักขระหนึ่งตัว ซึ่งเป็นไปตำม ตำรำงรหัส ASCII ได้แก่ ตัวอักษร ตัวเลข อักขระพิเศษ ชนิดข้อมูล ตัวอย่ำง char 'C' , 'a' , 'n' , '#' , '@' '{' , '0' , '$'
  7. 7. ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย (Simple Type)(Simple Type)  ข้อมูลประเภทลำำดับ (Ordinal Type)  ข้อมูลตรรกะ (Boolean Data Type) จะเป็นค่ำทำงลอจิก ชนิด ตัวอย่ำง boolean 1 , 0 , -4  ค่ำเท็จ (False) แทนค่ำด้วยเลข 0  ค่ำจริง (True) แทนค่ำด้วยเลข 1 - ค่ำจริง คือ ค่ำที่ไม่เท่ำกับ 0
  8. 8. ข้อมูลชนิดอย่ำงง่ำยข้อมูลชนิดอย่ำงง่ำย (Simple Type)(Simple Type)  ข้อมูลประเภทจำำนวนจริง (Real Data Type) ไม่เป็นข้อมูลชนิดลำำดับ เนื่องจำกทศนิยมมีได้หลำยตำำแหน่ง ชนิด ตัวอย่ำง ช่วงของข้อมูล ที่เก็บไว้ float 11.25, -1.5E4, 2.5e-02 3.4E-38...3.4E+38 double 11.25, -1.5E4, 2.5e-02 1.7E-308...1.7E+308 long double 11.25, -1.5E4, 2.5e-02 3.4E-4932... 1.1E+4932
  9. 9. ข้อมูลประเภทแถวอักขระข้อมูลประเภทแถวอักขระ (String Type)(String Type)  เป็นการนำาตัวอักขระมาเรียงต่อกันเป็นข้อความตั้งแต่หนึ่งตัวเป็นต้น ไป สามารถเก็บตัวอักขระได้ 255 ตัว โดยตัวอักขระจะต้องอยู่ใน เครื่องหมาย “ ”  ภาษาซี มีการเติมตัวอักษรว่าง Null ( 0 ) เป็นตัวสุดท้ายของสตริง Example 'C' 'O' 'M' 'P' 'U' 'T' 'E' 'R' 'O' ใช้เนื้อที่ในการเก็บทั้งสิ้น 9 Bytes
  10. 10. ค่าคงที่ (Constant)  หมายถึง ค่าในหน่วยความจำาที่มีค่าคงที่ตลอด โปรแกรม  การประกาศค่าคงที่ ทำาได้ 2 ลักษณะ คือ ประกาศ ให้ค่าคงที่ ชื่อว่า a เป็นชนิด Integer Const int a ; ประกาศ ให้ค่าคงที่ ชื่อว่า b เป็นชนิด Integer เก็บค่า 12 ไว้ Const int b = 12 ; การประกาศค่าคงที่และการประกาศค่าคงที่และ ตัวแปรตัวแปร
  11. 11. ตัวแปร (Variables)  หมายถึง ค่าในหน่วยความจำาที่สามารถ เปลี่ยนค่าได้  ชื่อตัวแปรจะเป็นตำาแหน่งหน่วยความจำาที่ เก็บข้อมูลอยู่  การประกาศตัวแปรสามารถทำาได้ดังนี้ ตัวอย่างเช่น Type Variables_list int count; float data1 , data2; การประกาศค่าคงที่และการประกาศค่าคงที่และ ตัวแปรตัวแปร
  12. 12. ตัวอย่างที่ตัวอย่างที่ 11 #include <stdio.h> const int taxrate = 7; float itemcost , salestax; void main(void) { printf("Please Enter Cost of item : "); scanf("%f" , &itemcost); salestax = (taxrate * itemcost) / 100; printf(" item Cost is = %.2f n" , itemcost); printf(" Sales tax is %.2fn" , salestax); return; } 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. 13. ตัวดำาเนินการตัวดำาเนินการ (Operator)(Operator) ภาษาซีมีตัวดำาเนินการ ดังต่อไปนี้  ตัวดำาเนินการเลขคณิต (Arithematic Operator)  ตัวดำาเนินการลอจิก (Logic Operator)  ตัวดำาเนินการเปรียบเทียบ (Relation Operator)
  14. 14. ตัวดำาเนินการเลขคณิตตัวดำาเนินการเลขคณิต (Arithematic Operator)(Arithematic Operator) operator ความ หมาย ชนิดของ ข้อมูล ตัวอย่าง + บวก ตามชนิดของ ข้อมูล 5 + 2 - ลบ ตามชนิดของ ข้อมูล 5 - 2 * คูณ ตามชนิดของ ข้อมูล 5 * 2 / หาร ตามชนิดของ ข้อมูล 5 / 2 % หารเอา ผลลัพธ์เฉพาะ เศษ 5%2
  15. 15. ตัวอย่างที่ตัวอย่างที่ 22 ค่าตัว แปร x ค่าตัว แปร y การ ดำาเนิน การ ค่าจาก การก ระทำา ผลลัพธ์ ที่เก็บ 10 5 x = y + 2 7 X = 7 10 5 x = x/y 2 X = 2 10.0 5 x = x/y 2.0 X = 2.0 9 2 x = x%y 1 X = 1 14 -3 x = x%y 2 X = 2 -14 3 x = x%y -2 X = -2
  16. 16. การดำาเนินการ ผลลั พธ์ ชนิด ผลลัพธ์ 13 / 5 * 3 6 จำานวนเ ต็ม 6 * 5 / 10 * 2 + 10 16 จำานวนเ ต็ม (6 * 5) / (10 * 2) + 10 11 จำานวนเ ต็ม (6 * 5.0) / (10 * 2 + 10) 1.0 จำานวนจ ริง ตัวอย่างที่ตัวอย่างที่ 33
  17. 17. ค่าตัว แปร x การดำาเนินการ ค่าจาก การกระทำา 7 x = x+1 8 7 x = x-1 6 7 x = x++ 8 7 x = ++x 8 7 x = x-- 6 7 x = --x 6 7 Y = ++x Y มีค่าเป็น 8 7 Y = x++ Y มีค่าเป็น 7 ตัวอย่างที่ตัวอย่างที่ 44
  18. 18. จากตัวอย่างที่จากตัวอย่างที่ 44 ถ้า x มีค่าเป็น 7 y = + + x แล้ว อธิบายได้ว่า x มีค่าเป็น 7 ต่อมา เพิ่มค่า x ขึ้นหนึ่ง แล้วส่งให้ตัวแปร y ทำาให้ y มีค่าเป็น 8 ถ้า x มีค่าเป็น 7 y = x + + แล้ว อธิบายได้ว่า x มีค่าเป็น 7 ทำาให้ y มีค่าเป็น 7 ด้วย และเพิ่มค่า x ขึ้นหนึ่ง ส่งผล ให้ x มีค่าเป็น 8 สรุปได้ว่า - ถ้าวางตัว ดำาเนินการไว้ หน้าตัวแปร จะ ทำาการเพิ่มค่า ก่อนแล้วจึงส่งค่า ให้กับ y - ถ้าวางตัวดำาเนิน การไว้หลัง
  19. 19. ตัวดำาเนินการเปรียบเทียบตัวดำาเนินการเปรียบเทียบ (Relation Operator)(Relation Operator) operator ความ หมาย ชนิด ของ ข้อมูล ตัวอย่ าง ผลลัพ ธ์ < น้อยกว่า boolean 5 < 4 0 <= น้อยกว่าหรือ เท่ากับ boolean 5 <= 5 1 == เท่ากับ boolean 0 == 0 1 > มากกว่า boolean 5 > 4 1 >= มากกว่าหรือ เท่ากับ boolean 5 >= 4 1 != ไม่เท่ากับ boolean 0 != 0 0
  20. 20. ตัวดำาเนินการลอจิกตัวดำาเนินการลอจิก (Logic Operator)(Logic Operator) operator ความ หมาย ชนิด ของ ข้อมูล ตัวอย่า ง ผลลัพ ธ์ && AND boolean 1 && -1 1 || OR boolean 1 || 0 1 ! NOT boolean !4 0 A B A && B 1 1 0 0 1 0 1 0 1 0 0 0 A B A || B 1 1 0 0 1 0 1 0 1 1 1 0 A !A 1 0 0 1 ตารางค่าความ จริง AND ตารางค่าความ จริง OR ตารางค่าความ จริง NOT
  21. 21. #include <stdio.h> void main() { int A , B; printf(" A B A OR Bn"); 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); } A B A OR B | 1 | 1 | 1 | | 1 | 0 | 1 | | 0 | 1 | 1 | | 0 | 0 | 0 | ตัวอย่างที่ตัวอย่างที่ 55 ผลการ ทำางาน ?
  22. 22. การยุบนิพจน์โดยใช้การยุบนิพจน์โดยใช้ (Compound Assignment)(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. 23. ขนาดของหน่วยความจำาของขนาดของหน่วยความจำาของ ข้อมูลเรียงจากน้อยไปมากข้อมูลเรียงจากน้อยไปมาก char short int unsigne d int long int unsigned long int float double long double
  24. 24. การเปลี่ยนประเภทของการเปลี่ยนประเภทของ ข้อมูลข้อมูล x y นิพจน์ z int int z = x + y int float float z = x + y float int float z = x + y float int double z = x * y double char float z = x + y float short long z = (x + y) / 4.6 long then float ผลลัพธ์จะเก็บในข้อมูลประเภทที่ใหญ่กว่าเสมอ
  25. 25. การเปลี่ยนประเภทของการเปลี่ยนประเภทของ ข้อมูลข้อมูล ภาษาซีสามารถเปลี่ยน ประเภทของข้อมูลให้เป็นไปตาม ที่ผู้ใช้ต้องการได้ โดยการนำา ชนิดข้อมูลไว้หน้าข้อมูลเช่นx นิพจน์ ผลลัพธ์ int float x float float (int)(x + 2.5 ) int int (float)( x +1) float
  26. 26. #include <stdio.h> void main() { int i , j; scanf("%d %d" , &i , &j ); printf(" i < j: %dn" , i<j ); printf(" i <= j: %dn" , i<=j ); printf(" i == j: %dn" , i==j ); printf(" i > j: %dn" , i>j ); printf(" i >= j: %dn" , i>=j ); return; } ผลการ ทำางาน 6 -1 ตัวอย่างที่ตัวอย่างที่ 66 1 6 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: 1 1 6 i < j: 1 i <= j: 1 i == j: 0 i > j: 0 i >= j: 0
  27. 27. #include <stdio.h> void main() { int i , j; scanf("%d %d" , &i , &j ); printf(" i && j: %dn" , i && j ); printf(" i || j : %dn" , i || j ); printf(" !i : %dn" , !i ); printf(" !j : %dn" , !j ) ; return; } ผลการ ทำางาน 0 -2 ตัวอย่างที่ตัวอย่างที่ 77 2 -1 i && j: i || j : !i : !j : 0 -2 i && j: 0 i || j : 1 !i : 1 !j : 0 2 -1 i && j: 1 i || j : 1 !i : 0 !j : 0
  28. 28. ลำาดับการดำาเนินงานของลำาดับการดำาเนินงานของ OperatorOperator 1. () 2. ! (Not) , ++ , -- , - 3. * , / , % 4. + , - 5. < , > , <= , >= 6. == , != 7. && (And) 8. || (Or) 9. = , *= , /= , %= , += , -=, ในกรณีอยู่ในลำาดับเดียวกัน จะทำาจากซ้ายไปขวา วงเล็บ ติดลบ
  29. 29. #include <stdio.h> void main() { int i , j; printf("2+3 && 1 : %dn" , 2+3 && 1); printf("2+3 && 0 : %dn" , 2+3 && 0); printf("-3 < 1 && 1 : %dn" , -3 < 1 && 1); printf("12/3*5 > 10 < 5: %dn" , 12/3*5 > 10 < 5); return; } 2+3 && 1 : 2+3 && 0 : -3 < 1 && 1 : 12/3*5 > 10 < 5: ตัวอย่างที่ตัวอย่างที่ 88 ผลการ ทำางาน ? 2+3 && 1 : 1 2+3 && 0 : 0 -3 < 1 && 1 : 1 12/3*5 > 10 < 5: 1
  30. 30. จบประเภทของข้อมูลและ ตัวดำาเนินการ Data Types and Operator Question ?

×