รายงานคอม
DESCRIPTION
TRANSCRIPT
![Page 1: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/1.jpg)
รายงานวิ�ชา การเขี ยนโปรแกรมเพื่��องานอาช พื่
(ง 30212)
เร��อง ตั�วิแปรช�ดและตั�วิแปรอ�กขีระ
จั�ดทำ�าโดย1. นาย ภาน�พื่งศ์! ทำองด เล�ศ์ เลขีทำ �
182. นาย ศ์�กด�"ศ์ร�ณย! อ�นพื่�นพื่ร เลขีทำ �
193. นางสาวิ อ�งสนา เหม�อนเทำ ยน เลขี
ทำ � 26
4. นางสาวิ อาร ยา อ&อนน'อม เลขีทำ � 27
5. นางสาวิ ส�ภาพื่ร ชวินชม เลขีทำ � 33
ช�(นม�ธยมศ์*กษาป,ทำ � 6/3
เสนอ
![Page 2: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/2.jpg)
อาจัารย! ทำรงศ์�กด�" โพื่ธ�"เอ �ยม
ภาคเร ยนทำ � 1 ป,การศ์*กษา 2555
โรงเร ยนเฉล�มพื่ระเก ยรตั�สมเด/จัพื่ระศ์ร นคร�นทำร! กาญจันบุ�ร
ค�าน�า
รายงานเล่�มน�เป็ นส่�วนหน��งของส่าระว�ชา การเขยนโป็รแกรมเพื่��องานอาชพื่ ( ง 30212 ) รายงานเล่�มน�มเน��อหาส่าระที่�เก�ยวข�องก บตั วแป็รช#ดแล่ะตั วแป็รอ กขระ ซึ่��งมเน��อหาครอบค#มถึ�งการเขยนโป็รแกรมภาษา C โดยการใช�ค+าส่ �งแล่ะตั วแป็รตั�างๆ ที่างคณะจั ดที่+าหว งเป็ นอย�างย��งว�ารายงานเล่�มน�อาจัจัะมป็ระโยชน/ไม�มากก1น�อยส่+าหร บผู้3�ที่�ตั�องการศึ�กษาค�นคว�า หร�อหาความร3 �เพื่��มเตั�ม ในเร��องของตั วแป็รช#ดแล่ะตั วแป็รอ กขระ
หากผู้�ดพื่ล่าดป็ระการใด ขออภ ยมา ณ ที่�น�ด�วย
จั ดที่+าโดยคณะผู้3�จั ดที่+า ช �น ม.6/3
![Page 3: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/3.jpg)
ส่ารบ ญเร��อง หน�าป็ระส่�ที่ธิ�ภาพื่การเก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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/4.jpg)
ป็ระส่�ที่ธิ�ภาพื่การเก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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/5.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/6.jpg)
เช�น 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/7.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/8.jpg)
ห วข�อตั� างหากเพื่ราะ เป็ นตั วแป็รป็ระ เภที่ ข�อความ (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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/9.jpg)
ตั วอย�าง ร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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/10.jpg)
หมายความว�า 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/11.jpg)
ตั วอย�าง ร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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/12.jpg)
ได�ใช�แล่ะเขยนร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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/13.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/14.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/15.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/16.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/17.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/18.jpg)
ข�อความอย�างน�อย 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/19.jpg)
ตั วอย�าง ให�น กเรยนคาดคะเนการที่+า งานของโป็รแกรม 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/20.jpg)
ตั วอย�าง ให�ศึ�กษาโป็รแกรม 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/21.jpg)
ถึ�าอ กขระในข�อความที่�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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/22.jpg)
#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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/23.jpg)
ป็ระส่�ที่ธิ�ภาพื่การเก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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/24.jpg)
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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/25.jpg)
บรรที่ ดที่� 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/26.jpg)
ตั วอย�างที่� 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/27.jpg)
![Page 28: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/28.jpg)
แบุบุฝึ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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/29.jpg)
ก. 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: รายงานคอม](https://reader033.vdocuments.site/reader033/viewer/2022061110/5453b885af7959a4058b5ccd/html5/thumbnails/30.jpg)
เอกสารอ'างอ�ง
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