รายงานคอม

35
รรรรรร รรรร รรรรรรรรรรรรรรรรรรรรรรร รรรรร (ร 30212) รรรรรร รรรรรรรรรรรรรรรรรร รรรรรร รรรรรรรรร 1. รรร รรรรรรรร รรรรร รรรร รรรรรร 18 2. รรร รรรรรรรรรรรร รรร รรรรร รรรรรร 19 3. รรรรรร รรรรรร รรรรรร รรรรร รรรรรร 26 4. รรรรรร รรรรรร รรรรรรรร รรรรรร 27 5. รรรรรร รรรรรร รรรรร รรรรรร 33 รรรรรรรรรรรรรรรรรรร 6/3 รรรร

Upload: areeya-onnom

Post on 31-Oct-2014

415 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: รายงานคอม

รายงานวิ�ชา การเขี ยนโปรแกรมเพื่��องานอาช พื่

(ง 30212)

เร��อง ตั�วิแปรช�ดและตั�วิแปรอ�กขีระ

จั�ดทำ�าโดย1. นาย ภาน�พื่งศ์! ทำองด เล�ศ์ เลขีทำ �

182. นาย ศ์�กด�"ศ์ร�ณย! อ�นพื่�นพื่ร เลขีทำ �

193. นางสาวิ อ�งสนา เหม�อนเทำ ยน เลขี

ทำ � 26

4. นางสาวิ อาร ยา อ&อนน'อม เลขีทำ � 27

5. นางสาวิ ส�ภาพื่ร ชวินชม เลขีทำ � 33

ช�(นม�ธยมศ์*กษาป,ทำ � 6/3

เสนอ

Page 2: รายงานคอม

อาจัารย! ทำรงศ์�กด�" โพื่ธ�"เอ �ยม

ภาคเร ยนทำ � 1 ป,การศ์*กษา 2555

โรงเร ยนเฉล�มพื่ระเก ยรตั�สมเด/จัพื่ระศ์ร นคร�นทำร! กาญจันบุ�ร

ค�าน�า

รายงานเล่�มน�เป็ นส่�วนหน��งของส่าระว�ชา การเขยนโป็รแกรมเพื่��องานอาชพื่ ( ง 30212 ) รายงานเล่�มน�มเน��อหาส่าระที่�เก�ยวข�องก บตั วแป็รช#ดแล่ะตั วแป็รอ กขระ ซึ่��งมเน��อหาครอบค#มถึ�งการเขยนโป็รแกรมภาษา C โดยการใช�ค+าส่ �งแล่ะตั วแป็รตั�างๆ ที่างคณะจั ดที่+าหว งเป็ นอย�างย��งว�ารายงานเล่�มน�อาจัจัะมป็ระโยชน/ไม�มากก1น�อยส่+าหร บผู้3�ที่�ตั�องการศึ�กษาค�นคว�า หร�อหาความร3 �เพื่��มเตั�ม ในเร��องของตั วแป็รช#ดแล่ะตั วแป็รอ กขระ

หากผู้�ดพื่ล่าดป็ระการใด ขออภ ยมา ณ ที่�น�ด�วย

จั ดที่+าโดยคณะผู้3�จั ดที่+า ช �น ม.6/3

Page 3: รายงานคอม

ส่ารบ ญเร��อง หน�าป็ระส่�ที่ธิ�ภาพื่การเก1บข�อม3ล่แบบตั วแป็รช#ด

1-7ตั วอย�างตั วแป็รช#ด 7-8

การอ�างอ�งพื่��นที่�หน�วยความจั+าของตั วแป็รช#ด 8-11ข�อความ 11-12

ตั วอย�างข�อความ 12

ฟั8งก/ช นที่�ใช�จั ดการเก�ยวก บข�อความ13-15

ป็ระส่�ที่ธิ�ภาพื่การเก1บข�อม3ล่แบบตั วแป็รอ กขระ15-18

Mind Map 19แบบฝึ:กห ดที่�ายบที่ 20

เฉล่ยแบบฝึ:กห ด 21

เอกส่ารอ�างอ�ง 22

Page 4: รายงานคอม

ป็ระส่�ที่ธิ�ภาพื่การเก1บข�อม3ล่แบบตั วแป็รช#ดตั วแป็รช# ด  (array)    array เป็ นกล่#� มของ ข�อม3 ล่ชน�ด

เดยวก นที่�ก+าหนดให�จั ดเก1บเรยงก นเป็ นล่+าด บตัามจั+านวนที่�ตั�องการ มช�� อตั วแป็รเหม�อนก นตั�างก นที่�ด ชน(index)ระบ#ตั+า แหน�งของตั วแป็รในช#ดน �น การเก1บข�อม3ล่เป็ นตั วแป็รช#ด ที่+าให�ง�ายในการตั �งช��อตั วแป็รจั+านวนมาก เข�าถึ�งข�อม3ล่ได�เร1ว แตั�ถึ�าเก1บข�อม3ล่ไม�ครบจัะที่+าให�เส่ยเน��อที่�หน�วยความจั+าโดยไม�จั+าเป็ น          ป็ระเภที่ของตั วแป็รช#ด อาจัแบ�งตัามล่ กษณะของจั+านวนตั วเล่ขของด ชน ค�อ

1. ตั วแป็รช#ด 1 ม�ตั� (one dimension

arrays หร�อ single dimension arrays)  เป็ นตั วแป็รช#ดที่�มตั วเล่ขแส่ดงขนาดเป็ นเล่ขตั วเดยว เช�น word[20] ,num[25] , x[15]

Page 5: รายงานคอม

2. ตั วแป็รช#ดหล่ายม�ตั� (multi-dimension arrays) เป็ นตั วแป็รช#ดที่�ช��อมตั วเล่ขแส่ดงขนาดเป็ นตั วเล่ขหล่ายตั ว ที่�น�ยมใช�ก นม 2 ม�ตั� ก บ 3 ม�ตั�

2.1 ตั วแป็รช#ด 2 ม�ตั� มเล่ขแส่ดงขนาด 2 ตั ว เช�น a[3][5] , name[5][6]

2.2 ตั วแป็รช#ด 3 ม�ตั� มเล่ขแส่ดงขนาด 3 ตั ว เช�น a[3][5][6] , name[5][6][8]

การป็ระกาศึแล่ะการก+าหนดค�าตั วแป็รช#ด 1 ม�ตั�การป็ระกาศึตั วแป็รช#ด 1 ม�ตั� ใช�ค+าส่ �ง ด งน�

Type arrayname[size];type  ค�อ ชน�ดของตั วแป็ร เช�น int char float 

arrayname ค�อช��อของตั วแป็ร array

size ค�อ ขนาดของตั วแป็รเ ช� น int a[12]; เ ป็ น ก า ร ป็ ร ะ ก า ศึ

ตั วแป็ร array ช��อ a เป็ น array ของข�อม3ล่ป็ระเภที่ integer มส่ ม า ช� ก ไ ด� จั+า น ว น 12 ตั ว ค� อ  a[0] a[1] a[2] a[3] …

a[11] โดยมการจัองเน��อที่�ในหน�วยความจั+าเป็รยบเที่ยบได�ด งร3ป็ 

ตั วอย�าง ร3ป็การป็ระกาศึตั วแป็ร array ช#ด 1 ม�ตั�

โดยส่มาช�กแตั�ล่ะตั วจัะ ใช� เน�� อที่� เที่� าก บตั วแป็รป็ระ เภที่ integer ที่�ไม�ได�อย3�ใน array  ค�อ 2 ไบตั/ ตั�อ ตั วแป็ร 1 ตั วด งน �นเน��อที่�หน�วยความจั+าที่�ใช�ที่ �งหมดจั�งเที่�าก บจั+านวนส่มาช�ก ค3ณ ด�วย 2

ไบตั/ การก+าหนดค�าให�แก�ตั วแป็ร array  อาจัก+าหนดพื่ร�อมก บการป็ระกาศึ

Page 6: รายงานคอม

เช�น int num1[3]={56,25,89}; เป็ นการป็ระกาศึว�าตั วแป็ร num1 เป็ น array ป็ระเภที่ integer ม ส่มาช�ก3ตั วโดย nu

m1[0]=56; ส่�วน num1[1]=25; แล่ะ num1[2]=89;

int a[ ]={200,230};   ป็ ร ะ ก า ศึ ว� า  a เ ป็ นตั วแป็ร array ป็ระเภที่ integer ที่�มส่มาช�ก 2 ตั ว โดย a[0] มค�า เป็ น 200 แล่ะ a[1] มค�าเป็ น 230 

แตั�ไม�ส่ามารถึป็ระกาศึว�า  int value[ ] ; โดยถึ�าจัะไม�ระบ#จั+านวนส่มาช�ก ตั�องระบ#ค�าของแตั�ล่ะส่มาช�กที่�ถึ3กล่�อมรอบด�วย { }

โดยระหว�างส่มาช�กค �นด�วยเคร��องหมาย , (คอมม�า) ด งตั วอย�าง int

a[ ]={200,230}; หร�อ ป็ระกาศึตั วแป็ร โดยย งไม�ก+าหนดค�า เช�น int money[5]; แล่�วไป็ก+าหนดค�าให�ส่มาช�กแตั�ล่ะตั วในภายหล่ ง เช�น money[0] = 250; money[4] = 500;

float num[5]; เป็ นการป็ระกาศึตั วแป็ร array ของตั วแป็ร จั+านวนที่�มที่ศึน�ยมได� ค�อ float ในช��อ num ซึ่��งมส่มาช�กได� 5 ตั ว ค�อ num[0] num[1]… num[4] มการจัองเน��อที่�ในหน�วยความจั+าเป็รยบเที่ยบได� ด งร3ป็

ตั วอย�างร3ป็การป็ระกาศึตั วแป็ร array

โดยส่มาช�กแตั�ล่ะตั วใช�หน�วยความจั+า 4 ไบตั/ ด งน �นที่ �งหมดจัะใช�หน�วยความจั+า 4 ค3ณ 5 ค�อ 20 ไบตั/ โดยส่มาช�ก ค�อ num[0] มค�าเ ป็ น  2.00 แ ล่ ะ  num[3] ม ค� า เ ป็ น  55.52 ส่� ว น  num[1] ,

num[2] แล่ะ num[4] ย งไม�มค�าส่�วนการก+าหนดค�าของตั วแป็ร 

Page 7: รายงานคอม

array ป็ระเภที่ float เป็ นไป็ในล่ กษณะเดยวก บ array ป็ระเภที่ integer ป็ระกาศึพื่ร�อมก บก+าหนดค�าให�เล่ยโดยล่�อมรอบด�วย { }  แล่ะค�าของส่มาช�กแตั�ล่ะตั วค �นด วย , (คอมม�า)

เช�น Float num[5] =

{2.00,1.25,5.36,6.32,246.10};  โดยค�าของ num[0] =

2.00  ส่�วนของ num[1] = 1.25 ค�าของ num[2] = 5.36 ค�าของ num[3] = 6.32 แล่ะ num[4] = 246.10  ตัามล่+า ด บ หร�อป็ระกาศึตั วแป็รก�อนแล่�วไป็ก+าหนด ค�าภายหล่ ง

เช�น float salary[10];salary[0] = 25000.00;salary[9] = 55600.00;

char a[12];  เ ป็ น ก า ร ป็ ร ะ ก า ศึตั วแป็ร array ช�� อ  a เป็ น array ของ ตั วแป็รอ กขระ char มส่มาช�กได� 12 ตั ว ค�อ a[0] a[1] … a[11] โดยการใช�เน�� อที่� ในหน�วยความจั+าเป็รยบเที่ยบได� ด งร3ป็

    

                                                           ตั วอย�าง ร3ป็การป็ระกาศึตั วแป็ร char

โ ด ย ที่� ส่ ม า ช� ก แ ตั� ล่ ะ ตั ว ใ ช� เ น�� อ ที่� 1 ไ บ ตั/ ด ง น � น array ป็ ร ะ เ ภ ที่  char ช# ด น� ใ ช� เ น�� อ ที่� เ ป็ น 12 x 1 ค� อ  12

bytes ส่�วนการก+าหนดค�าให�ก บ array  ป็ระเภที่น� จัะพื่�จัารณา ใน

Page 8: รายงานคอม

ห วข�อตั� างหากเพื่ราะ เป็ นตั วแป็รป็ระ เภที่ ข�อความ (string

variable) ซึ่��งมล่ กษณะแตักตั�างไป็จัากพื่วก integer แล่ะ float

การป็ระกาศึแล่ะการก+าหนดค�าตั วแป็รช#ด 2 ม�ตั� (two dimension arrays)

array 2 ม�ตั� มการจั ดการจั ดเก1บเป็รยบเที่ยบคล่�ายก บ ตัาราง 2 ม�ตั� ม�ตั�ที่� 1 เป็รยบเหม�อนแถึว(row) ของตัาราง ม�ตั�ที่� 2 เป็รยบคล่�ายก บส่ดมภ/ (column) ของตัาราง  ด งร3ป็ 

    

ตั วอย�าง ร3ป็การป็ระกาศึตั วแป็รช#ด 2 ม�ตั�

ร3ป็น�เป็ น array ของ x[6] ซึ่��งมส่มาช�กที่ �งหมด 6 ตั ว เป็รยบเหม�อนเก1บไว�ในตัารางช�องล่ะ 1 ตั ว ด งน �นจั+านวนส่มาช�กจัะมจั+านวน เที่�าก บ จั+านวนแถึว ค3ณ จั+านวนส่ดมภ/ โดยหน�วยความจั+าที่�ใช�เที่�าก บหน�วยความจั+าที่�ใช�โดยตั วแป็รแตั�ล่ะตั ว ค3ณ ด�วยจั+านวนตั วแป็รที่ �งหมดใน array เช�น ในร3ป็ ถึ�าเป็ น array ของ จั+านวนเตั1ม ส่มาช�กแตั�ล่ะตั วใช�หน�วยความจั+า 2 ไบตั/ หน�วยความจั+าที่�ใช�ที่ �ง ค�อ 2 x 6

ค�อ 12 ไบตั/เราอาจัพื่�จัารณา  array 2 ม�ตั� ว�าเป็ น array ของ array  1

ม�ตั� ด งร3ป็

    

Page 9: รายงานคอม

ตั วอย�าง ร3ป็การแส่ดง array 2 ม�ตั�

ในร3ป็ม array 1 ม�ตั� 3 ช#ด ค�อ table[0]

table[1] แล่ะ table[2]  ตั�างก1เป็ นส่มาช�กใน array 2 ม�ตั� ที่�ช��อ table ด งน �น array ช��อ table จัะมส่มาช�กที่ �งหมด ค�อ ส่มาช�กของ array ที่ �งส่าม ค�อ table[0][0] , table[0][1]

…  ถึ�ง table[2][3] ที่ �งหมด 12 ตั ว โดยในส่มาช�กเหล่�าน�  บางตั+าแหน�งมข�อม3ล่แล่�ว เช�น table[0][0] มข�อม3ล่เป็ น 10 โดยการป็ระกาศึตั วแป็ร array 2 ม�ตั� มร3ป็แบบ ค�อ type arrayname [r] [c];

เม��อ type ค�อ ชน�ดของข�อม3ล่ เช�น int , float ,char

arrayname ค�อ ช��อของ array เช�น num , word ,x

r , c   ค�อ จั+านวนแถึวแล่ะจั+านวนส่ดมภ/ ตัามล่+าด บโดยตั วเล่ขก+าก บตั+าแหน�ง (ด ชน) เป็ น ในแถึว r เป็ น  0,1,2

… , r-1 ในส่ดมภ/  c เป็ น  0,1,2 … , c-1 เช�น  int num[3]

[4]; หมายความว�า ม array ของ integer ที่�มจั+านวน 3 แถึว 4

ส่ดมภ/ ด งน �นมส่มาช�กที่ �งหมด 12 ตั วเร��มด�วย  num[0][0], num[0][1] ,num[0][2],num[0][3],num[1][0],…,num[2][3]การก+าหนดค�าอาจัก+าหนดในข �นตัอนป็ระกาศึตั วแป็ร

เช�น char word[ ][ ] = {“Bodin”,”decha”,”Computer”,”Pentium”};

Page 10: รายงานคอม

หมายความว�า word เป็ นตั วแป็ร array  2 ม�ตั� ขนาด 4 x 9 ของส่มาช�กที่�เป็ นอ กขระ โดยแตั�ล่ะส่มาช�ก มขนาด 1 ไบตั/ โดย word[0] = “Bodin”   word[1] = “dehca”  word[2] = “Computer” ส่�วน word[3] = “Pentium“ หร�อ ป็ระกาศึ โดยย งไม�ก+าหนดค�า แล่�วก+าหนดค�าภายหล่ ง

เช�น int  num[2][2];num[0][1]=3;

ตั วแป็ร array 3 ม�ตั�  มการป็ระกาศึ ด งน�type  arrayname[p] [r][c];type ค�อ ชน�ดของตั วแป็ร เช�น int ,float,char

arrayname ค�อช��อของตั วแป็รr,c,p ค�อตั วเล่ขแส่ดงจั+านวนในม�ตั�ที่� 1 ม�ตั�ที่� 2 แล่ะม�ตั�ที่� 3

ของ array  ตัามล่+าด บโดยตั วเล่ขก+าก บตั+าแหน�ง(ด ชน)เป็ นด งน�

p  เป็ น    0,1,2 .. , p-1

r   เป็ น    0,1,2, … ,r-1

c   เป็ น    0,1,2 … ,c-1

ล่ กษณะของ array 3 ม�ตั� อาจัเป็รยบเที่ยบเพื่��อที่+าความเข�าใจั ว�าเป็ น arrays of arrays ด งร3ป็

Page 11: รายงานคอม

ตั วอย�าง ร3ป็การป็ระกาศึตั วแป็ร array 3 ม�ตั�

table [3][5][4] (อาจัเขยนเป็ น table[5][4][3] หร�อแบบอ��นที่�ให�ผู้ล่ถึ�งจั+านวนที่�เที่�าก นก1ได� แตั�เวล่าเขยนโป็รแกรมจัะตั�องที่+าเข�าใจัให�ตัล่อดว�าเราเขยนแบบใดจัะได�ไม�ส่ บส่นในการเขยนโป็รแกรม)

หร�อ อาจัพื่�จัารณาว�า เป็ น array of arrays ด งร3ป็

ตั วอย�าง ร3ป็การแส่ดงตั วแป็ร array 3 ม�ตั�เช�น table[3][4][5] table[0][0][0] ถึ�ง table[0][0]

[0] เป็ นส่มาช�กในtable[0][0] โดย table[0][0] ถึ�งtable[0][4]

เป็ นส่มาช�กใน table[0] แล่ะ table[0] ถึ�ง table[2] เป็ นส่มาช�กใน table (ซึ่��งก1ค�อ table[3[[5][4] ) โดยจั+านวนส่มาช�กใน array เที่�าก บ r *c *p เช�น array  ในร3ป็ มส่มาช�กที่ �งหมด 3 *

5 * 4 ค�อ  60 ส่มาช�ก ส่�วนการก+าหนดค�าของส่มาช�กของ array แตั�ส่มาช�กก1เป็ นที่+านองเดยวก บ array 1 ม�ตั� แล่ะ array 2 ม�ตั� เช�นเดยวก บจั+านวนหน�วยความจั+าที่�ใช�ก1ค�อหน�วยความจั+าที่�ส่มาช�กแตั�ล่ะตั วใช� ค3ณด�วยจั+านวนส่มาช�กที่ �งหมด ที่+านองเดยวก น array ย งส่ามารถึ ม array 4 ม�ตั� ฯล่ฯ ได� แตั�ป็กตั�ไม�ใคร�

Page 12: รายงานคอม

ได�ใช�แล่ะเขยนร3ป็อธิ�บายได�ยาก เขยนได�แตั�ในร3ป็ส่ ญล่ กษณ/ type

arrayname[ ]…[ ] บางคนอาจัอธิ�บายส่มาช�กของ array 3 ม�ตั� ด งร3ป็

 

ตั วอย�าง ร3ป็ส่ ญล่ กษณ/ type arrayname

ตั วอย�าง ให�น กเรยนศึ�กษาโป็รแกรม array5_1.c แล่�วพื่� จั า ร ณ า ว� า โ ป็ ร แ ก ร ม น� จั ะ ที่+า ง า น อ ย� า ง ใ ด แ ล่ ะ ค� า ตั� า ง ๆใน array  เป็ นเที่�าใดบ�าง แล่�วล่อกโป็รแกรม แล่�วคอมไพื่ล่/แล่ะให�โป็รแกรมที่+างาน แล่�วพื่�จัารณาว�าคาดคะเนถึ3กตั�องหร�อไม�/* array5_1.c */#include <stdio.h>#include <conio.h>main(){    clrscr();    float  num[50];    float sum;    int i,time;    printf(”\n Enter the time of input that you want.  :”);    scanf(”%d”,&time);    sum = 0;    for (i=0;(i+1)<=time;i++)    {

printf(”Please type the floating number for %d round :”,i+1);

scanf(”%f”,&num[i]);

Page 13: รายงานคอม

sum = sum + num[i];    }

printf(”\n Input = %d time sum.of them = %4.2f   average of data is%4.2f”, time , sum , sum/time) ;}

ตั วอย�าง ให�น กเรยนศึ�กษาโป็รแกรม array5_2.c แล่�วพื่� จั า ร ณ า ว� า โ ป็ ร แ ก ร ม น� จั ะ ที่+า ง า น อ ย� า ง ใ ด แ ล่ ะ ค� า ตั� า ง ๆใน array  เป็ นเที่�าใดบ�าง แล่�วล่อกโป็รแกรม แล่�วคอมไพื่ล่/แล่ะให�โป็รแกรมที่+างาน แล่�วพื่�จัารณาว�าคาดคะเนถึ3กตั�องหร�อไม�/* array5_2.c */#include <stdio.h>#include <conio.h>main(){

clrscr();float num[5][4] ;char name[5][20] ={ “Chattam

Sermsub”,”Sompol Somsuk”,”Kanokporn Kanok”, “Apinya Sittipa”,”Wimolsiri  Sirimol”};

int time,i,j;num[0][0] = 1.0;  num[0][1] = 1.5;  num[0][2]

= 2.0; num[0][3] = 2.5; num[1][0] = 1.5; num[1][1] = 2.0; num[1][2] = 2.5; num[1][3] = 3.0;                                

num[2][0] = 1.0; num[2][1] = 1.5; num[2][2] = 2.0;  num[2][3] = 2.5;                               

num[3][0]= 1.5; num[3][1] = 2.0; num[3][2] = 2.5;    num[3][3] = 3.0;                                    num[4][0]= 1.5; num[4][1] = 2.0; num[4][2] = 2.5;    num[4][3] = 3.0;                               

printf(”Enter number of  Student :”);scanf(”%d”,&time);for (i=0;(i+1)<=time;i=i+1)

{

Page 14: รายงานคอม

printf(”\n Student no. %d  is %s \t has num.”,i+1,name[i]);

for (j=0;(j+1)<=4;j++)printf(”, %4.2f  “,num[i][j]);

    }}

การอ�างอ�งพื่��นที่�หน�วยความจั+าของตั วแป็รช#ดการอ�างอ�งพื่��นที่�หน�วยความจั+าของตั วแป็รช#ด หมายถึ�ง การน+า

ข�อม3ล่ล่งตัารางข�อม3ล่การอ�านค�าข�อม3ล่จัากตัารางข�อม3ล่ การก+าหนดค�าข�อม3ล่ล่งตัารางข�อม3ล่ การป็ระมวล่ผู้ล่โดยใช�ข�อม3ล่จัากตั วแป็รช#ดพื่��นที่�ที่�ตั�องการ

1. การป็>อนข�อม3ล่ล่งพื่��นที่�หน�วยความจั+าตั วแป็รช#ด การป็>อนข�อม3ล่จั ดเก1บล่งพื่��นที่�หน�วยความจั+าตั วแป็รช#ด ตั�อง

อ�างอ�งช��อตั วแป็รตัามด�วยหมาย เล่ขพื่��นที่� หากตั�องน+าข�อม3ล่เข�า 10

พื่��นที่� จัะตั�องเขยนค+าส่ �งอ�างถึ�งที่ �ง 10 พื่��นที่�ใน 10 ค+าส่ �ง ด งน �นเพื่��อความส่ะดวกรวดเร1วในการควบค#มนาเข�าข�อม3ล่ล่งพื่��นที่�หน�วยความจัา จั�งใช�ค+าส่ �งควบค#มวนซึ่+�าช�วยด+าเน�นงาน ในที่�น�ยกตั วย�าง การวนซึ่+�าควบค#มการนาข�อม3ล่ล่งพื่��นที่�ตั วแป็รช#ดด�วยค+าส่ �ง for ด งน�

ตั วอย�าง ค+าส่ �งวนซึ่+�าเพื่��อรบข�อม3ล่ล่งพื่��นที่�หน�วยความจั+าตั วแป็รช#ดแบบ 1 ม�ตั� จั+านวน 5 พื่��นที่�

for (n = 1 ; n <= 5 ; n++) { printf ( “ Score = “ ) ; scanf ( “ %d “ , &score [ n ] ) ; } อธิ�บาย

Page 15: รายงานคอม

1. ควบค#มให�วนซึ่+�า 5 รอบ เพื่��อร บข�อม3ล่คะแนน จั ดเก1บในหน�วยความจั+าตั วแป็รช#ด ช��อ score จั+านวน 5 พื่��นที่� จัากคาส่ �ง scanf

2. ส่+าหร บ n ค�าแรก ค�อ ค�า 1 แล่ะเพื่��มค�าที่ล่ะ 1 แตั�ไม�เก�น 5

ตั วอย�างคาส่ �ง วนซึ่+�าเพื่��อร บข�อม3ล่ล่งพื่��นที่�หน�วยความจั+าตั วแป็รช#ดแบบ 2 ม�ตั� ขนาดตัารางข�อม3ล่ 2 แถึว 3 คอล่ มน/ for (n = 0; n < 2 ; n++) { } for (m = 0 ; m <= 3 ; m++) { printf ( “ Score = “ ) ; scanf ( “ %d “ , &score [ n ] [ m] ) ; }

อธิ�บาย กรณวนซึ่+�าแบบซึ่�อนระบบจัะอ�านตั �งแตั� for วงรอบแรก เข�ามาที่างานจันวงในส่#ด จัากน �นจั�งวนซึ่+�า ในส่#ดให�ครบรอบ แล่�วจั�งไป็เพื่��มค�าวงนอก ที่าเช�นน�จันกว�าค�าของวงนอกจัะถึ�งค�าส่#ดที่�าย จั�งเล่�กวนซึ่+�า

2. การก+าหนดข�อม3ล่ล่งพื่��นที่�หน�วยความจั+าตั วแป็รช#ด กรณตั�องการก+าหนดค�าในตัารางข�อม3ล่พื่��นที่�หน�วยความจั+าของ

ตั วแป็รช#ด เขยนค+าส่ �งได�ด งน�

1. ค+าส่ �งก+าหนดค�าให�ตั วแป็รช#ดแบบ 1 ม�ตั� type array_name [ size] = { value list } ;

2. ค+าส่ �งก+าหนดค�าให�ตั วแป็รช#ดแบบ 2 ม�ตั� type array_name [ r ] [ c ] = { value list } ;

3. ค+าส่ �งก+าหนดค�าให�ตั วแป็ช#ดแบบ 3 ม�ตั� type array_name [ n ] [ r ] [ c ] = { value

list } ; อธิ�บาย

Page 16: รายงานคอม

type ค�อชน�ดข�อม3ล่พื่��นฐาน เช�น int, float, char

array_name ค�อช��อตั วแป็รช#ด size ค�อขนาดพื่��นที่�เก1บข�อม3ล่ value list ค�อข�อม3ล่ที่�ก+าหนดให�ตั วแป็รช#ด หากมหล่ายค�า ให�

ใช� , ค �น [ n ] ค�อจั+านวนตัารางข�อม3ล่ [ r ] ค�อจั+านวนแถึวของตัารางข�อม3ล่แตั�ล่ะตัาราง [ c ] ค�อจั+านวนคอล่ มน/ของตัารางข�อม3ล่แตั�ล่ะตัาราง

ตั วอย�างค+าส่ �ง ก+าหนดข�อม3ล่จั+านวนเตั1มในตั วแป็รช#ด 5

รายการ ค�อ ค�า 20, 40, 25, 45, 35

a [ 0 ] = ข�อม3ล่ 20

a [ 1 ] = ข�อม3ล่ 40 a [ 2 ] = ข�อม3ล่ 25

a [ 3 ] = ข�อม3ล่ 45

a [ 4 ] = ข�อม3ล่ 35

แส่ดงล่ กษณะข�อม3ล่ในตัารางข�อม3ล่ตั วแป็รช#ด 1 ม�ตั� int a [ 5 ] = { 20 , 40 , 25 , 45, 35 } ;

3. การอ�านข�อม3ล่จัากหน�วยความจั+าตั วแป็รช#ด การอ�านค�าข�อม3ล่จัากพื่��นที่�หน�วยความจั+าของตั วแป็รช#ดมา

แส่ดงผู้ล่ ตั�องอ�างอ�งช��อตั วแป็ร ตัามด�วยหมายเล่ขพื่��นที่�เช�นก น เช�น printf (“ %d” , a[ 1 ] ) ; ด งน �นเพื่��อความส่ะดวกรวดเร1วในการควบค#มอ�านค�าข�อม3ล่จัากหน�วยความจั+าที่#กพื่��นที่�ในตัารางข�อม3ล่ จั�งใช�ว�ธิเดยวก นก บการน+าเส่นอข�อม3ล่ล่งในพื่��นที่�หน�วยความจั+าตั วแป็รช#ด ด�วยการใช�ค+าส่ �งควบค#มวนซึ่+�า

ตั วอย�างค+าส่ �ง อ�านข�อม3ล่จัากหน�วยความจั+าตั วแป็รช#ด for (n = 1 ; n <= 5 ; n++) {

Page 17: รายงานคอม

printf ( “ Score = %d \n” , score [ n ] ) ; }

อธิ�บาย 1.วนซึ่+�าด�วยข�อม3ล่คะแนนจัากหน�วยความจั+าตั วแป็รช#ดช��อ score จั+านวน 5 พื่��นที่� จัากค+าส่ �ง printf ( “ Score = %d \n” , score [ n ] ) ;

2. ส่+าหร บ n ค�าแรก ค�อค�า 1 แล่ะเพื่��มค�าที่ล่ะ 1 แตั�ไม�เก�น 5

ตั วอย�างค+าส่ �ง วนซึ่+�าเพื่��ออ�านข�อม3ล่จัากพื่��นที่�หน�วยความจั+าตั วแป็รช#ดแบบ 3 ม�ตั�ขนาดตัารางข�อม3ล่ 2 ตัาราง 3 แถึว 2 คอล่ มน/ for (n = 0 ; n < 2 ; n++) { } for (m = 0; m < 3 ; m++) { } for (p = 0; p < 2 ; p++) { num = score [ n ] [m] [p] ; printf (“ %d \ t \ t “ , num ); }

ขี'อควิาม   (Strings) ข�อความแบบคงที่� (String constants) ค�อ ตั วอ กขระตั�างๆ ที่�

อย3�ภายในเคร��องหมายค+าพื่3ด “ ”  เ ช� น   “ Computer ” , “ TAMMANOON ” “ mile ”, “ 123456 ”

ตั วแป็รของข�อความ (String variables)  ค�อ ตั วแป็รช#ด(array)ที่�เก1บข�อความ หร�อ ค�อ ตั วแป็รช#ดของอ กขระ โดยชน�ดของตั วแป็รช#ดจัะเป็ น char  เช�น char word[3] = “Ok” ; 

char speech[2][20] = {”Hello”,Thailand”}; โดยในการเก1บข�อความไว�ในตั วแป็รน �นขนาดของตั วแป็รจัะมากกว�าขนาดของ

Page 18: รายงานคอม

ข�อความอย�างน�อย 1 ไบตั/ โดยข�อความจัะถึ3กเก1บในร3ป็ของอ กขระซึ่��งใช� 1 ไบตั/ ตั�อ 1 ตั วอ กษร แล่ะไบตั/ที่�ตั�อจัากตั วอ กขระจัะจั ดเก1บ null character (\0)

การป็ระกาศึตั วแป็รของข�อความตั วแป็ร 1 ม�ตั� มร3ป็แบบ ด งน�

char  arrayname[c];           หร�อchar arrayname[c] = “string constants”;

โดย arrayname  ค�อ ช��อของตั วแป็รc ค�อ ขนาด (เป็ นจั+านวนไบตั/) string constants ค�อ ข�อความ ที่� ก+า หนดเป็ นค� าของ

ตั วแป็ร

ตั วแป็ร 2 ม�ตั� มร3ป็แบบ ด งน�char  arrayname[r][c];           หร�อchar arrayname[r][c] = {”string

constants0″,”string constants1,…,”string constants(r-1)};โดย arrayname ค�อ ช��อของตั วแป็ร r ค�อ จั+านวนแถึว c ค�อ จั+านวนส่ดมภ/string constants ค�อ ข�อความ ที่� ก+า หนดเป็ นค� าของ

ตั วแป็ร ตั วที่� 0 ถึ�ง ตั วที่�  r-1 โดย จั+านวนข�อความ ค�อ r   ส่�วนจั+านวนตั วอ กษรที่�มได�ส่3งส่#ดในแตั�ล่ะข�อความ  ค�อ c - 1 ตั ว โดย ไม�ส่ามารถึใช�เคร��องหมาย assignment (=) ก+าหนดค�าคงที่�ข�อความให�เป็ นค�าของตั วแป็รข�อความได� 

เ ช� น ใ ช�    arrayname[2][10] =

{”Bodin”,”12345d,”food}; ไม�ได� ตั�องใช�ฟั8งก/ช นร บข�อม3ล่แล่ะฟั8งก/ช นอ�� น ๆ ป็ระกอบก บค+าส่ �ง เช�น ที่�น�ยม เช�น ค+าส่ �ง for , while ,do while

Page 19: รายงานคอม

ตั วอย�าง ให�น กเรยนคาดคะเนการที่+า งานของโป็รแกรม array5_3.c แล่�วเขยนโป็รแกรมที่ดส่อบที่�คาดคะเนไว�/* array5_3.c */#include <stdio.h>#include <conio.h>main(){

clrscr();char name[50][50],changwad[50][30] ;   int

time,i,j;printf(”Enter number of  Student :”);

scanf(”%d”,&time);   i =0;while (i<=(time-1))  {printf(”\n Enter name of %dth person  :”,i+1);scanf(”%s”,name[i]);printf(”\n Enter changwad of %dth person  :”,i

+1);scanf(”%s”,changwad[i]);  i++;    }for (j=0;(j+1)<=time;j++)printf(”\n Name of %dth person is %s who live

in %s.”,j+1,name[j],changwad[j]);}

ฟั4งก!ช�นทำ �ใช'จั�ดการเก �ยวิก�บุขี'อควิามฟั8งก/ช นที่�ใช�จั ดการเก�ยวก บข�อความมหล่ายฟั8งก/ช น ในที่�น�จัะ

ศึ�กษา 4 ฟั8งก/ช น ค�อ strlen() , 

strcmp(),strcpy(),strcat()   ฟั8งก/ช นเหล่�าน�อย3�ในไฟัล่/ช��อ stri

ng.h ด งน �นเม�� อตั�องการใช�ฟั8งก/ช นเหล่� าน�จั�งตั�อง#include

<string.h> ฟั8งก/ช น strlen() ใช�หาความยาวหร�อน บจั+านวนตั วอ กขระในข�อความ ได�ที่ �งข�อความที่�เป็ นค�าคงที่� หร�อ ในตั วแป็ร มร3ป็แ บ บ ก า ร ใ ช� ง า น ค� อ     strlen(”string constant”); ห ร�อ strlen(string variables);

Page 20: รายงานคอม

ตั วอย�าง ให�ศึ�กษาโป็รแกรม strlen1.c เพื่��อด3ล่ กษณะการใช�งาน strlen()/* strlen1.c */#include <stdio.h>#include <conio.h>#include <string.h>char word[100];   int length;void main(void){     clrscr();    printf(”Please enter your strings.”);    gets(word);      length = strlen(word);    printf(”Your strings  is %s.”,word);      printf(”\nThe length of strings is %d”,length);}

ฟั8งก/ช น strcmp() ใช�เป็รยบเที่ยบข�อความ 2 ข�อความ มร3ป็แบบการใช�ด งน�

strcmp(stringvariable1,stringvariable2); หร�อ 

strcmp(stringconstant1,stringconstant2);การเป็รยบเที่ยบน�เป็ นการเป็รยบเที่ยบที่ล่ะอ กขระ โดยเที่ยบก น

จัาก รห ส่  ASCII ของตั วอ กขระตั�าง ๆ ในข�อความ เร��มจัากตั วแรกของข�อความแตั�ล่ะข�อความ ถึ�าพื่บส่�วนที่�ตั�างก นจัะรายงานผู้ล่ตั �งแตั�พื่บคร �งแรก ถึ�าเหม�อนก นก1เป็รยบก นที่�อ กขระ ตั วตั�อไป็จันถึ�งอ กขระตั วส่#ดที่�ายของแตั�ล่ะข�อความ

ถึ�าอ กขระในข�อความที่�1 มรห ส่แอส่กส่3งกว�า ในข�อความที่� 2

ฟั8งก/ช นน�จัะให�ค�า มากกว�า 1ถึ�าอ กขระในข�อความที่�1 มรห ส่แอส่กเที่�าก บ ในข�อความที่� 2

ฟั8งก/ช นน�จัะให�ค�า 0 ออกมา

Page 21: รายงานคอม

ถึ�าอ กขระในข�อความที่�1 มรห ส่แอส่กตั+�ากว�า ในข�อความที่� 2

ฟั8งก/ช นน�จัะให�ค�า น�อยกว�า 1

ตั วอย�าง ให�ศึ�กษาโป็รแกรม strlcmp1.c เพื่��อด3ล่ กษณะการใช�งาน strcmp()/* strcmp1.c */#include <stdio.h>#include <conio.h>#include <string.h>char word[100],password[100]={”Bodin”};int compareresult;void main(void){

clrscr();printf(”Please enter your strings.”);

    gets(word);    compareresult = strcmp(password,word);    if (compareresult > 0)    {printf(”Your strings <  Program strings. compareresult is %d”,compareresult);}    else if (compareresult == 0)

{printf(”Your strings = Program strings. compareresult is %d”,compareresult);}

else{printf(”Your strings > Program strings.

compareresult is %d”,compareresult);}}

ฟั8งก/ช น strcpy()  ใช�ค ดล่อกข�อความจัากข�อความหน��งไป็เก1บในตั วแป็รข�อความ ร3ป็แบบค+าส่ �ง เป็ นด งน� Strcpy(string2,string1);

เป็ นการค ดล่อกจัาก string1 ไป็ย ง string2 ด งตั วอย�าง

ตั วอย�าง การใช�ฟั8งก/ช น  strcpy() /* strcpy1.c */#include <stdio.h>

Page 22: รายงานคอม

#include <conio.h>#include <string.h>main(){

char word1[80],word2[80];      clrscr();printf(”Please enter your 1st strings : “);       

gets(word1);printf(”Enter your 2nd strings : “);      

gets(word2);printf(”\n1st strings are :%s  2nd strings are :

%s”,word1,word2);strcpy(word1,word2);printf(”\n1st strings are :%s  2nd strings are :

%s”,word1,word2);}

ฟั8งก/ช น strcat()  เป็ นฟั8งก/ช นที่�ใช�เช��อมข�อความ โดยการน+าข�อความไป็ตั�อที่�ายข�อความในตั วแป็รข�อความที่�ก+าหนด ร3ป็แบบการใช� เป็ นด งน� strcat(string2 ,string1); เป็ นการน+า ข�อความ string1 ไป็ตั�อที่�ายข�อความในตั วแป็ร string2 ด งตั วอย�าง/* strcat1.c */#include <stdio.h>#include <conio.h>#include <string.h>main(){

Char word 1[80] ,word 2 [80] ; clrscr () ;  printf ( “ Please enter your 1 st strings: ” ) ;     gets ( word 1 ) ;

printf(”Enter your 2nd strings : “);     gets(word2);

printf(”\n1st strings are :%s  2nd strings are :%s”,word1,word2);      strcat(word2,word1);

printf(”\n1st strings are :%s  2nd strings are :%s”,word1,word2);}

Page 23: รายงานคอม

ป็ระส่�ที่ธิ�ภาพื่การเก1บข�อม3ล่แบบ ตั�วิแปรอ�กขีระ ตั วแป็ร หมายถึ�งช��อเรยกแที่นพื่��นที่�เก1บข�อม3ล่ในหน�วยความจั+า

มชน�ดของข�อม3ล่ หร�อแบบของตั วแป็รค�อ char, int, long, float, double, unsigned int, unsigned long int, 

• การก+าหนดตั วแป็รที่+าได�2 แบบ ค�อ1. ก+าหนดไว�นอกกล่#�มค+าส่ �ง หร�อฟั8งก/ช น เรยกตั วแป็รน�

ว�า Global Variable ก+าหนดไว�นอกฟั8งก/ช นใช�งานได�ที่ �งโป็รแกรม มค�าเร��มตั�นเป็ น 0 (กรณไม�ได�ก+าหนดค�า เร��มตั�น)

2. ก+าหนดไว�ในกล่#�มค+าส่ �ง หร�อฟั8งก/ช น เรยกตั วแป็รน�ว�า Local Variable ก+าหนด ไว�ภายในฟั8งก/ช น ใช�งานได�ภายในฟั8งก/ช นน �น แล่ะไม�ถึ3กก+าหนดค�าเร��มตั�นโดยอ ตัโนม ตั�

• การป็ระกาศึตั วแป็ร มล่ กษณะด งน�ชน�ดตั วแป็ร ช��อตั วแป็ร , ช��อตั วแป็ร , ช��อตั วแป็ร,.....;

• ชน�ดของข�อม3ล่ในภาษาซึ่ 1. ตั วแป็รแบบ char เป็ นตั วแป็รที่�ใช�ส่+าหร บเก1บข�อม3ล่ที่�

เป็ นตั วอ กษรขนาด 1 ตั ว โ ด ย ใ ช�  เ น�� อ ที่� ใ น ก า ร เ ก1 บ 1 ไ บ ตั/ ตั วอย�างตั วแป็รชน�ดน� เช�น ‘A’ , ‘b’ , ‘1’ , ‘?’

2.ตั วแป็รแบบ integer เป็ นตั วแป็รที่�ใช�ส่+าหร บการเก1บค�าตั วเล่ขที่�เป็ นจั+านวนเตั1มที่� มค�าระหว�าง -32768 ถึ�ง 32767 ใช�เน��อที่�ในการเก1บ 2 ไบตั/ ตั วอย�างตั วแป็รชน�ดน�

เช�น 5 - 10 2534

3. ตั วแป็รแบบ long เป็ นตั วแป็รที่�เก1บค�าเป็ นจั+านวนเตั1มที่�มจั+านวนไบตั/เป็ น 2 เที่�า ของจั+านวนเด�ม ( ม กจัะใช�เป็ นค+าน+าหน�าตั วแป็ร เช�น long int )

  4. ตั วแป็รแบบ float เป็ นตั วแป็รที่�ใช�เก1บข�อม3ล่ที่�เป็ นเล่ขที่ศึน�ยม โดยจัะเก1บอย3�ใน ร3ป็ a.b x 10e ใช�พื่��นที่�ในการเก1บ 4

ไบตั/ มค�าระหว�าง 3.4E-38 ถึ�ง 3.4E+38 หร�อ แส่ดงเป็ น เล่ขที่ศึน�ยมได�ไม�เก�น 6 ตั+าแหน�ง ตั วอย�างตั วแป็รชน�ดน� เช�น

Page 24: รายงานคอม

10.625 -6.67    5. ตั วแป็รแบบ double เป็ นตั วแป็รที่�เก1บข�อม3ล่ที่�เป็ นเล่ขที่ศึน�ยมเหม�อนก บ float แตั�จัะใช�พื่��นที่�ในการเก1บมากกว�าเด�ม 2

เที่�า ค�อมขนาด 8 ไบตั/ มค�าระหว�าง 1.7E-308 ถึ�ง 1.7E+308

   6. ตั วแป็รแบบ unsigned แส่ดงว�าเป็ นตั วแป็รที่�เก1บค�าเป็ นจั+านวนเตั1มแบบไม�ค�ด เคร��องหมาย(เป็ นบวกเที่�าน �น) ม กจัะใช�เป็ นค+าน+าหน�าตั วแป็ร ตั วอย�างการใช�งาน

เช�น unsigned int 

ชน�ดข น า ด ค ว า มกว�าง

ช�วงของค�า

Char 8 บ�ตั ASCII character (-128 ถึ�ง 127)

Unsignedchar

8 บ�ตั 0-255

Int 16 บ�ตั -32768 ถึ�ง 32767

long int 32 บ�ตั -2147483648 ถึ�ง 2147483649

Float 32 บ�ตั3.4E-38 ถึ�ง 3.4E+38 หร�อ ที่ศึน�ยม 6

ตั+าแหน�ง

Double 64 บ�ตั1.7E-308 ถึ� ง 1.7E+308 ห ร� อ ที่ศึน�ยม 12 ตั+าแหน�ง

Unsigned int

16 บ�ตั 0 ถึ�ง 65535

Unsigned long int

32 บ�ตั 0 ถึ�ง 4294967296

ตั วอย�างที่� 1บรรที่ ดที่� 1. #include<stdio.h>

บรรที่ ดที่� 2. #define PI 3.14159

บรรที่ ดที่� 3. int area; /* global variable */

Page 25: รายงานคอม

บรรที่ ดที่� 4. main( )

บรรที่ ดที่� 5. { float radius; /* local variable */

บรรที่ ดที่� 6. float process() /* function declaration */

บรรที่ ดที่� 7. printf (“Radius = ?”); scanf (“%f”,radius);

บรรที่ ดที่� 8. process( );

บรรที่ ดที่� 9. printf(“Area = %f”,area);

บรรที่ ดที่� 10. printf(“%f”,radius); }

บรรที่ ดที่� 11. float process( )

บรรที่ ดที่� 12. { float radius; /* local variable */

บรรที่ ดที่� 13 printf(“Radius=?”); scanf (“%f”,radius);

บรรที่ ดที่� 14 area=PI*radius*radius;

บรรที่ ดที่� 15 printf(“Area = %f”,area);

บรรที่ ดที่� 16 printf(“%f”,radius); }

ตั วอย�างที่� 2 int a ;

หมายความว�า ป็ระกาศึตั วแป็ร a เป็ นตั วแป็รที่�ใช�ส่+าหร บเก1บค�าที่�เป็ นเล่ขจั+านวนเตั1มที่�มค�าอย3�ระหว�าง -35768 ถึ�ง 32767

ตั วอย�างที่� 3 int num1=8;

หมายความว�า ป็ระกาศึตั วแป็ร num1 เป็ นตั วแป็รที่�เก1บค�าตั วเล่ขจั+านวนเตั1ม โดยให�ค�าเร��มตั�นเที่�าก บ 8

ตั วอย�างที่� 4 float money,price ;

หมายความว�า money แล่ะ price เป็ นตั วแป็รที่�ใช�ส่+าหร บเก1บค�าที่�เป็ นเล่ขที่ศึน�ยม โดยจัะให�ตั+าแหน�งที่ศึน�ยมได�ไม�เก�น 6 หล่ ก

Page 26: รายงานคอม

ตั วอย�างที่� 5 char ch=’A’

หมายความว�า ป็ระกาศึตั วแป็ร ch เป็ นตั วแป็รที่�เก1บค�าตั วอ กษรเพื่ยง 1 ตั ว ค�อ ตั วอ กษร ‘A’

ตั�วิอย&างเพื่��มเตั�มchar a,b,c,d; /* ตั วแป็ร a,b,c,d เป็ นตั วแป็รชน�ด

character */unsigned e; /* ตั วแป็ร e เป็ นตั วแป็รชน�ด unsigned

int */char key = ?A?; /* ตั วแป็ร key เป็ นตั วแป็รชน�ด

character มค�า ?A? */

char name = ?SAM? /* ตั วแป็ร name เป็ นตั วแป็รชน�ด character มค�า”SAM” */

Page 27: รายงานคอม
Page 28: รายงานคอม

แบุบุฝึ7กห�ด เร��อง ตั�วิแปรช�ดและตั�วิแปรอ�กขีระ1. ข�อใดอธิ�บายความหมายของ ตั วแป็รช#ด ได�ถึ3กตั�องมากที่�ส่#ด“ ” ?ก. เป็ นกล่#�มของข�อม3ล่ชน�ดเดยวก นข.เป็ นตั วแป็รหล่ายๆ ตั วค.การเก1บข�อม3ล่ตั วอ กษร ง. การใส่�ข�อม3ล่หล่ายๆ ข�อม3ล่2. “ ตั วแป็รช#ด เรยกเป็ นภาษาอ งกฤษว�าอะไร ” ?

ก.type ข.array ค.float ง.salary

3. ป็ระเภที่ของตั วแป็รช#ดแบ�งออกตัามล่ กษณะของจั+านวนตั วเล่ขของด ชนได�ก�ป็ระเภที่ อะไรบ�าง ?ก. 4 ป็ระเภที่ ตั วแป็รช#ดเด�ยว , ตั วแป็รช#ดค3� , ตั วแป็รช#ดศึ3นย/ , ตั วแป็รช#ดรวมข. 3 ป็ระเภที่ ตั วแป็รช#ดเล่1ก , ตั วแป็รช#ดกล่าง , ตั วแป็รช#ดใหญ�ค. 2 ป็ระเภที่ ตั วแป็รช#ด 1 ม�ตั� , ตั วแป็รช#ดหล่ายม�ตั�ง. 1 ป็ระเภที่ ตั วแป็รช#ดกล่#�ม4. การก+าหนดตั วแป็รที่+าได�ก�แบบ ?ก. 1 ข. 2 ค.3 ง.4

5. ชน�ดของข�อม3ล่ในภาษาซึ่ มก�ชน�ด ?ก.2 ข.4 ค.6 ง.8

6. ตั วแป็รแบบ float ใช�เก1บตั วแป็รชน�ดใด ?ก. ตั วอ กษร ข.ข�อความ ค.ค�าจั+านวนเตั1ม

ง.เล่ขที่ศึน�ยม7. ตั วแป็รชน�ดใดที่�ใช�ส่+าหร บเก1บข�อม3ล่ที่�เป็ นตั วอ กษรขนาด 1 ตั วก.float ข.double ค.char ง.long

8. ตั วแป็รชน�ดใดที่�ใช�เก1บข�อม3ล่ได�มากที่�ส่#ด ?ก.float ข.double ค.char ง.long

9. จัากข�อ 8 ตั วแป็รที่�ใช�เก1บข�อม3ล่ได�มากที่�ส่#ด ส่ามารถึเก1บได�เที่�าไร ?

Page 29: รายงานคอม

ก. 44 บ�ตั ข. 54 บ�ตั ค. 64 บ�ตั ง. 84 บ�ตั10. ตั วแป็รช#ดน�เป็ นตั วแป็รช#ดก�ม�ตั� ?

ก.ตั วแป็รช#ด 1 ม�ตั� ข.ตั วแป็รช#ด 2 ม�ตั� ค.ตั วแป็รช#ด 3 ม�ตั�ตั วแป็รช#ด 4 ม�ตั�

เฉลยแบุบุฝึ7กห�ด1. ก. เป็ นกล่#�มของข�อม3ล่ชน�ดเดยวก น2. ข.array

3. ค. 2 ป็ระเภที่ ตั วแป็รช#ด 1 ม�ตั� , ตั วแป็รช#ดหล่ายม�ตั�4. ข. 2

5. ค.6

6. ง.เล่ขที่ศึน�ยม7. ค.char

8. ข.double

9. ค. 64 บ�ตั10. ค.ตั วแป็รช#ด 3 ม�ตั�

Page 30: รายงานคอม

เอกสารอ'างอ�ง

http://courseware.bodin.ac.th/computer/AdvancedLevel4/programming/C_language/5.htm

http://www.no-poor.com/CandDelphi/ch5_array_and_pointer.htm

http://202.143.168.214/uttvc/website/07.html