The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

หน่วยที่ 4 ประเภทของข้อมูลฯ

Discover the best professional documents and content resources in AnyFlip Document Base.
Search

หน่วยที่4 ประเภทของข้อมูล

หน่วยที่ 4 ประเภทของข้อมูลฯ

ประเภทของข้อมูล

การประกาศขอ้ มูลในการเขียนโปรแกรมจะเป็นการ
กาหนดชื่อของขอ้ มูล หรือกาหนดประเภทของขอ้ มูลข้นึ มา
ใหม่ แบ่งออกไดเ้ ป็น 4 กลุ่มดงั ต่อไปน้ี

ข้อมูลชนิดซิมเปิ ล (simple type)
ข้อมูลประเภทสตริง (string type)
ขอ้ มูลประเภทโครงสร้าง (structure type)
ขอ้ มูลประเภทพอยเตอร์ (pointer type)

ข้อมูลชนิดซิมเปิ ล(simpletype)

1. ข้อมูลประเภทลำดบั (Ordinal Type)

ข้อมูลชนิดจำนวนเตม็ (Integer Data Type)

ประเภท ช่วงของข้อมูลทเ่ี กบ็ ได้ ขนาดหน่วยความจา

char -128 – 127 1 ไบต์
unsigned char 0 – 255 1 ไบต์
signed char -128 .. 127 1 ไบต์
int -32,768 .. 32,767 2 ไบต์
unsigned int 0 .. 65,353 2 ไบต์
long -2,147,487,648 .. 2,147,487,687 4 ไบต์
unsigned long int 0 .. 4,294,967,296 4 ไบต์

ข้อมูลชนิดซิมเปิ ล(simple type)

ข้อมูลประเภทตวั อกั ขระ (Character Data Type) จะเป็นตวั อกั ขระหน่ึง
ตวั ประกอบดว้ ยขอ้ มูลที่เป็นตวั อกั ษร ตวั เลข และอกั ขระพิเศษ ขอ้ มูล
ประเภทน้ีจะเป็นขอ้ มูลแบบลาดบั ได้

‘A’, ‘B’, ‘C’ ‘\n’ รหสั ข้ึนบรรทดั ใหม่
‘\t’ รหสั เวน้ วรรค 1 tab

‘\a’ เสียง Beep

ข้อมูลประเภทตรรกะ (Boolean Data Type) : จะเป็นค่าทางลอจิก ไดแ้ ก่
จริง (True) กบั เทจ็ (False) จะใชใ้ นคาสัง่ ควบคุมเพ่ือตดั สินใจการทางาน
ในการเรียงลาดบั จะให้คา่ ท่ีเป็นเทจ็ มีลาดบั ก่อนค่าท่ีเป็นจริง บางคร้ังจะ
แทนค่าจริงดว้ ยเลขจานวนเตม็ 1 หรือค่าที่มากวา่ 1 และแทนค่าเทจ็
ดว้ ยเลข 0

ข้อมูลชนิดซิมเปิ ล(simple type)

2. ข้อมูลประเภทจำนวนจริง (Real Data Type)

ขอ้ มูลประเภทน้ีจะเป็นจานวนจริงหรือทศนิยม ขอ้ มูลประเภทน้ีจะ
จดั ลาดบั ก่อนหลงั ไดย้ าก จึงไม่เป็นขอ้ มูลชนิดลาดบั เนื่องจากทศนิยมมีได้
หลายตาแหน่ง

ประเภท ช่วงของข้อมูลทเี่ กบ็ ได้ ขนำดหน่วยควำมจำ

float 3.4 x 10-38 ถึง 3.4 x 1038 4 ไบต์
double 1.7 x 10-308 ถึง 1.7 x 10308 8 ไบต์
long double 3.4 x 10-4032 ถึง 3.4 x 104032 10 ไบต์

ข้อมูลประเภทสตริง(string type)

ขอ้ มูลประเภทน้ีจะเป็นการนาอกั ขระมาต่อเรียงกนั เป็นขอ้ ความต้งั แต่

หน่ึงตวั ข้ึนไป เก็บตวั อกั ขระได้ 255 ตัว อยใู่ นเคร่ืองหมาย ‘ ’ จะมีการเติม

ตวั อกั ษรวา่ ง NULL (\0) เป็นตวั สุดทา้ ย
อยา่ งเช่นการเกบ็ สตริงคาวา่ “COMPUTER” จะใชเ้ น้ือท่ีในการเกบ็ 9

ไบต์ โดยแต่ละไบตเ์ ป็นดงั น้ี

‘C’ ‘O’ ‘M’ ‘P’ ‘U’ ‘T’ ‘E’ ‘R’ ‘\0’

การประกาศตวั แปรและค่าคงท่ี

ค่าคงท่ี (Constant) เป็นค่าในหน่วยความจาที่มีค่าคงทต่ี ลอด
โปรแกรม

รูปแบบ const int a;
const int cont = 100;
const แบบขอ้ มลู ช่ือคา่ คงท่ี;
const แบบขอ้ มูล ช่ือค่าคงที่ = ค่าขอ้ มลู ;

การประกาศค่าคงทด่ี ้วย #define การประกาศค่าคงที่ดว้ ยวธิ ีน้ีจะ
ไมต่ อ้ งระบุประเภทของขอ้ มูล และไมต่ อ้ งมีเคร่ืองหมาย ;

รูปแบบ #define PI 3.14
#define X (5+3)/2
#define ชื่อค่ำคงท่ี ค่ำทตี่ ้องกำรเกบ็

การประกาศตวั แปร

การสร้างตวั แปรข้ึนมาใชง้ านเรียกวา่ การประกาศตวั แปร ใน
การเขียนโปรแกรมคอมพวิ เตอร์ส่วนใหญ่จะตอ้ งมีการประกาศตวั
แปรเสมอ

รูปแบบ
type variable_list; หรือ ประเภทของข้อมูล <ชื่อตัวแปร,....>;

ตัวอย่าง (สามารถประกาศคร้ังละหลายตวั ถา้ เป็น
int Data1,Data2; ประเภทเดียวกนั โดยใชเ้ คร่ืองหมาย , ค้นั )

int Data1;
int Data2;
float Data2;

กำรประกำศค่ำตวั แปรให้สอดคล้องกบั ข้อมูลทจี่ ะนำไปใช้
โดยมรี ูปแบบดังนี้
type

ชนิดของตวั แปร ซ่ึงอำจจะป็ น char, int, float, double
หรือตวั แปรชนิดอ่ืนๆ เป็ นต้น
variable name
ช่ือของตัวแปร ถ้ำมมี ำกกว่ำ 1 ตัวให้ใช้เครื่องหมำยคอมม่ำค่นั

ชนิดของข้อมูลในภำษำซี

1. ตัวแปรแบบ char เป็นตวั แปรที่ใชส้ าหรับเก็บขอ้ มูลที่
เป็นตวั อกั ษรขนาด 1 ตวั

2. ตวั แปรแบบ integer เป็นตวั แปรที่ใชส้ าหรับการเกบ็ คา่
ตวั เลขที่เป็นจานวนเตม็ ท่ีมีค่าระหวา่ ง -32768 ถึง 32767

3. ตัวแปรแบบ long เป็นตวั แปรท่ีเก็บคา่ เป็นจานวนเตม็ ท่ีมี
จานวนไบตเ์ ป็น 2 เท่าของจานวนเดิม

4. ตวั แปรแบบ float เป็นตวั แปรที่ใชเ้ กบ็ ขอ้ มูลทเ่ี ป็นเลข
ทศนิยม ใชพ้ ้ืนที่ในการเกบ็ 4 ไบต์ แสดงเป็น เลข
ทศนิยมไดไ้ ม่เกิน 6 ตาแหน่ง

5. ตวั แปรแบบ double เป็นตวั แปรท่ีเก็บขอ้ มูลท่ีเป็นเลข
ทศนิยมเหมือนกบั float แต่จะใชพ้ ้ืนที่ในการเก็บมาก
กวา่ เดิม 2 เท่า คือมีขนาด 8 ไบต์
6. ตวั แปรแบบ unsigned แสดงวา่ เป็นตวั แปรที่เก็บค่า
เป็นจานวนเตม็ แบบไม่คิดเคร่ืองหมาย (เป็นบวก
เท่าน้นั )

ตวั อย่ำงกำรประกำศตัวแปร
char n;
ประกาศค่าตวั แปรชื่อ n เป็นขอ้ มูลชนิด character
float a,b,c;
ประกาศค่าตวั แปรช่ือ a,b,c เป็นขอ้ มูลชนิด float
int number=1;
ประกาศคา่ ตวั แปรช่ือ number เป็นขอ้ มูลชนิด integer และ
กาหนดใหต้ วั แปร count มีคา่ เทา่ กบั 1
char name[15];
ประกาศตวั แปรช่ือ name เป็นลกั ษณะตวั แปรชุดเกบ็ ชื่อยาวไม่
เกิน 15 ตวั อกั ษร

การต้งั ชื่อ

การประกาศตวั แปรจะตอ้ งมีการกาหนดชื่อใหก้ บั ตวั แปร เพ่ือให้
โปรแกรมทางาน กฎการต้งั ชื่อในภาษาซียงั ใชก้ บั ช่ือต่างๆ ในโปรแกรมได้
อีกดว้ ย มีรูปแบบดงั น้ี

1. ช่ือจะตอ้ งไม่ซ้ากบั คาสงวน (Reserved word) และคามาตรฐานที่
คอมไพเลอร์รู้จกั

2. จะตอ้ งข้ึนตน้ ดว้ ยตวั อกั ษร (A-Z,a-z) หรือเคร่ืองหมาย _ (Underscore)
เท่าน้นั

3. ตวั ต่อไปตอ้ งเป็นตวั อกั ษรหรือตวั เลขหรือเคร่ืองหมาย _
4. การต้งั ชื่อจะตอ้ งไม่มีช่องวา่ ง
5. ตวั อกั ษรตวั เลก็ และตวั อกั ษรตวั ใหญ่จะมีความหมายแตกต่างกนั

การต้งั ช่ือ

คาสงวน เป็นคาท่ีมีความหมายที่โปรแกรมรู้จกั โดยมีรูปแบบการใชง้ านที่

แน่นอน ส่วนคามาตรฐานเป็นคาท่ีมีความหมายอยแู่ ลว้ โปรแกรมสามารถเรียกใช้

งานไดเ้ ลย คาสงวนในภาษาซีไดแ้ ก่

คำสงวนใน C มำตรฐำน (ANSI Standard C)

auto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for singned void

default goto sizeof volatile

do if static while

การต้งั ช่ือ

คำสงวนท่ีเพมิ่ ใน Borland C

asm _cs _ds _es
far huge
_ss cdecl pascal _export

interrupt near

ตวั ดาเนินการ

ตวั ดาเนินการเลขคณิต

ตวั ดาเนินการ กระบวนการ ข้อมูลทีถ่ ูกกระทา ข้อมูลผลลพั ธ์

+ บวก (Addition) จานวนเตม็ , จานวนจริง จานวนเตม็ , จานวนจริง

- ลบ (Subtraction) จานวนเตม็ , จานวนจริง จานวนเตม็ , จานวนจริง

* คูณ (Multiplication) จานวนเตม็ , จานวนจริง จานวนเตม็ , จานวนจริง

/ หาร (real number Division) จานวนเตม็ , จานวนจริง จานวนจริง

% การหารแบบเอาเศษ (Modulus) จานวนเตม็ จานวนเตม็
++ การเพ่มิ คา่ ข้ึนหน่ึง (Increment) จานวนเตม็ จานวนเตม็
-- การลดค่าลงหน่ึง (Decrement) จานวนเตม็ จานวนเตม็

ตวั ดาเนินการ

ลาดบั การทางานก่อนหลงั

ตวั ดาเนนิ การ การทางาน ลาดบั การทางาน
()
การทาใน การทางานในวงเลบ็ มีลาดบั การทางานสูงสุด
* , / หรือ %
วงเลบ็ ถา้ หากมีวงเลบ็ ซอ้ นกนั จะทาวงเลบ็ ในสุด
+ หรือ - ก่อน

การคูณ ถา้ หาแมีตวั ดาเนินการหลายตวั ในประโยค
การหาร DIV เดียวกนั จะทาจากซา้ ยไปขวา

การหาร MOD

การบวก ลบ ถา้ หามีตวั ดาเนินการหลายตวั ในประโยค
เดียวกนั จะทาจากซา้ ยไปขวา

ตวั ดาเนินการ

ตัวอย่าง

3 * (4 % (6 / 2)) + 5
3 * (4 % 3) + 5
3 * 1 +5

8

ตวั ดาเนินการ

ตวั ดาเนินการเพม่ิ ค่าและลดค่า

เพม่ิ ค่า ++x หรอื x++ ลดค่า --x หรอื x--

x = 10; เพม่ิ ค่าก่อน ***เคร่ืองหมำย
y = ++x เพมิ่ ค่าหลัง อย่หู น้ำทำก่อน
อย่หู ลงั ทำหลงั
x = 10;
y = x++

ถ้าให้ x = 10 และ j = 2 ลดค่าหลังการคูณ
x*j-- (10*2)-1 = 19 ลดค่าก่อนการคูณ
X*--j 10*(2-1) = 10

ตวั ดาเนินการ

ตวั ดาเนินการเปรียบเทียบ
ตวั ดาเนินการเปรียบเทียบ (Relation Operators) จะนาขอ้ มูลสองค่า

มาเปรียบเทียบกนั โดยขอ้ มูลท้งั สองค่าจะตอ้ งเป็นขอ้ มูลประเภทเดียวกนั
ผลลพั ธ์ท่ีไดจ้ ะเป็นค่าทางลอจิกคือจริงหรือเทจ็

ตัวดาเนินการ กระบวนการ 6>2 จริง
เท่ากบั เทจ็
== ไม่เท่ากบั 7==4
!= นอ้ ยกวา่ หรือเท่ากบั
<= มากกวา่ หรือเทา่ กบั
>= มากกวา่
> นอ้ ยกวา่
<

ตวั ดาเนินการ

ตวั ดาเนินการทางตรรกะ(Logical Operator)

ตวั ดาเนินการทางตรรกะ ประกอบดว้ ยการทางาน AND, OR และ
NOT เมื่อกระทากบั ค่าใด ผลลพั ธ์ท่ีออกมาจะเป็นจริงหรือเทจ็ ตวั ดาเนินการ
ทางตรรกะแสดงไดด้ งั ตารางต่อไปน้ี

ตวั ดำเนนิ กำร กำรกระทำ ตวั ดำเนินกำร ลำดบั กำรทำงำน

&& AND คา่ สองคา่ ถา้ ค่าสองคา่ เป็ น !1

จริงผลลพั ธจ์ ะเป็ นจริง > >= < <= 2

| | OR ค่าสองคา่ ถา้ คา่ ท้งั สองเป็ นเท็จ == != 3
ผลลพั ธ์จะเป็ นเท็จ
&& 4
! เปลี่ยนค่าจากจริงเป็ นเท็จ จากเท็จ
|| 5
เป็ นจริง

ตวั ดาเนินการ

ตตวั วัออยย่ำา่ งง กำรกระทำต่อไปนีผ้ ลลพั ธ์ทไี ด้จะเป็ นจริงหรือเทจ็

ถ้ำ X=6 , Y=13 และ Z=4.2
( X != Y / 2) || (Z <= Y) && (!( Z == X / 2)
วธิ ที ำ ( 6 != 13 / 2) || (4.2 <= 13) && (!(4.2 == 6 / 2)
( 6 != 6.5 ) || (4.2 <= 13) && (!(4.2 == 3 )

จริง || จริง && จริง

จริง

?

p q pq pq p q
T T T T FF
T F F T FT
F T F T TF
F F F F TT

p q p && q p | | q !p !q
T T T T FF
T F F T FT
F T F T TF
F F F F TT


Click to View FlipBook Version