SlideShare a Scribd company logo
1 of 22
Download to read offline
ตัวแปรชุด

และตัวแปรกลุ่มอักขระ
ตัวแปรชุด
ตัวแปรชุ ด (array) เป็ นกลุ่มของข้อมูลชนิดเดียวกันที่กาหนดให้จดเก็บเรี ยง
ั
กันเป็ นลาดับตามจานวนที่ตองการ มี ชื่อตัวแปรเหมือนกันต่างกันที่ดชนี(index)ระบุ
้
ั
ตาแหน่งของตัวแปรในชุดนั้น การเก็บข้อมูลเป็ นตัวแปรชุด ทาให้ง่ายในการตั้งชื่อตัวแปร
จานวนมาก เข้าถึงข้อมูลได้เร็ว แต่ถาเก็บข้อมูลไม่ครบจะทาให้เสี ยเนื้อที่หน่วยความจา
้
โดยไม่จาเป็ น
ประเภทของตัวแปรชุ ด อาจแบ่ งตามลักษณะของจานวนตัวเลขของดัชนี คือ
1. ตัวแปรชุด 1 มิติ (one dimension arrays หรื อ single dimension arrays) เป็ นตัวแปรชุดที่มี
ตัวเลขแสดงขนาดเป็ นเลขตัวเดียว เช่น word[20] ,num[25] , x[15]
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 ของข้อมูลประเภท
integer มีสมาชิกได้ จานวน 12 ตัว คือ a[0] a[1] a[2] a[3] … a[11] โดยมีการจองเนื้อที่
ในหน่วยความจาเปรี ยบเทียบได้ดงรู ป
ั
่
โดยสมาชิกแต่ละตัวจะใช้เนื้อที่เท่ากับตัวแปรประเภท integer ที่ไม่ได้อยูใน array คือ 2 ไบต์
ต่อ ตัวแปร 1 ตัวดังนั้นเนื้อที่หน่วยความจาที่ใช้ท้ งหมดจึงเท่ากับจานวนสมาชิก คูณ ด้วย 2
ั
ไบต์ การกาหนดค่าให้แก่ตวแปร array อาจกาหนดพร้อมกับการประกาศ เช่น
ั
int num1[3] ={56,25,89}; เป็ นการประกาศว่าตัว
แปร num1 เป็ น array ประเภท integer มีสมาชิก 3 ตัวโดย num1[0] =
56; ส่ วน num1[1]=25; และ num1[2]=89;
แต่ไม่สามารถประกาศว่า int value[ ] ; โดยถ้าจะไม่ระบุจานวนสมาชิก ต้องระบุ
ค่าของแต่ละสมาชิกที่ถูกล้อมรอบด้วย { }โดยระหว่างสมาชิกคันด้วยเครื่ องหมาย , (คอมม่า)
่
ดังตัวอย่าง inta[]={200,230};
หรื อ ประกาศตัวแปร โดยยังไม่กาหนดค่า เช่น int money[5]; แล้วไป
กาหนดค่าให้สมาชิกแต่ละตัวในภายหลัง เช่น money[0] =
250;
money[4] = 500;
float num[5]; เป็ นการประกาศตัวแปร array ของ ตัวแปร จานวนที่
มีทศนิยมได้ คือ float ในชื่อ num ซึ่งมีสมาชิกได้ 5 ตัว คือ num[0] num[1]…
num[4] มีการจองเนื้อที่ในหน่วยความจาเปรี ยบเทียบได้ ดังรู ป
โดยสมาชิกแต่ละตัวใช้หน่วยความจา 4 ไบต์ ดังนั้นทั้งหมดจะใช้หน่วยความจา 4 คูณ 5 คือ 20
ไบต์ โดยสมาชิก คือ num[0] มีค่าเป็ น 2.00 และ num[3] มีค่าเป็ น 55.52 ส่ วน num[1] ,
num[2] และ num[4] ยังไม่มีค่า ส่ วนการกาหนดค่าของตัวแปร 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] โดยการใช้เนื้อที่ในหน่วยความจา
เปรี ยบเทียบได้ ดังรู ป
โดยที่สมาชิกแต่ละตัวใช้เนื้อที่ 1 ไบต์ ดังนั้น array ประเภท char ชุดนี้ ใช้เนื้อที่เป็ น12 x
ั
1 คือ 12 bytes ส่ วนการกาหนดค่าให้กบ array ประเภทนี้ จะพิจารณา ในหัวข้อต่างหาก
เพราะเป็ นตัวแปรประเภท ข้อความ (string variable) ซึ่ งมีลกษณะแตกต่างไปจาก
ั
พวก integer และ float
การประกาศและการกาหนดค่ าตัวแปรชุ ด 2 มิติ (two dimension arrays)
array 2 มิติ มีการจัดการจัดเก็บเปรี ยบเทียบคล้ายกับ ตาราง 2 มิติ มิติที่ 1 เปรี ยบเหมือนแถว(row) ของตาราง มิติที่ 2
เปรี ยบคล้ายกับสดมภ์(column)ของตาราง ดังรู ป

รู ปนี้เป็ น array ของ x[6] ซึ่งมีสมาชิกทั้งหมด 6 ตัว เปรี ยบเหมือนเก็บไว้ในตารางช่องละ 1 ตัว ดังนั้นจานวนสมาชิกจะมี
จานวน เท่ากับ จานวนแถว คูณ จานวนสดมภ์ โดยหน่วยความจาที่ใช้เท่ากับหน่วยความจาที่ใช้โดยตัวแปรแต่ละตัว คูณ
ด้วยจานวนตัวแปรทั้งหมดใน array เช่น ในรู ป ถ้าเป็ น array ของ จานวนเต็ม สมาชิกแต่ละตัวใช้หน่วยความจา 2 ไบต์
หน่วยความจาที่ใช้ท้ง คือ 2 x 6 คือ 12 ไบต์
ั
เราอาจพิจารณา array 2 มิติ ว่าเป็ น array ของ array 1 มิติ ดังรู ป
ในรู ปมี array 1 มิติ 3 ชุด คือ table[0] table[1] และ table[2] ต่างก็เป็ นสมาชิกใน array 2 มิติ ที่
ชื่อ table ดังนั้น array ชื่อ table จะมีสมาชิกทั้งหมด คือ สมาชิกของ array ทั้งสาม คือ table[0][0] , table[0][1]
… ถึง table[2][3] ทั้งหมด 12 ตัว โดยในสมาชิกเหล่านี้ บางตาแหน่งมีขอมูลแล้ว เช่น table[0][0] มีขอมูลเป็ น 10 โดย
้
้
การประกาศตัวแปร array 2 มิติ มีรูปแบบ คือ type arrayname [r] [c];
เมื่อ
type คือ ชนิดของข้อมูล เช่น 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‛};
หมายความว่า 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 ดังรู ป
table [3][5][4] (อาจเขียนเป็ น table[5][4][3] หรื อแบบอื่นที่ให้ผลถึงจานวนที่เท่ากันก็ได้ แต่เวลาเขียน
โปรแกรมจะต้องทาเข้าใจให้ตลอดว่าเราเขียนแบบใดจะได้ไม่สบสนในการเขียนโปรแกรม)
ั
หรื อ อาจพิจารณาว่า เป็ น array of arrays ดังรู ป
เช่น table[0][0][0] ถึง table[0][0][0] เป็ นสมาชิกใน table[0][0] โดย table[0][0] ถึง table[0][4] เป็ นสมาชิก
ใน table[0] และ table[0] ถึง table[2] เป็ นสมาชิกใน table (ซึ่งก็คือ table[3[[5][4] ) โดยจานวนสมาชิก
ใน array เท่ากับ r *c *p เช่น array ในรู ป มีสมาชิกทั้งหมด 3 * 5 * 4 คือ 60 สมาชิก ส่วนการกาหนดค่าของ
สมาชิกของ array แต่สมาชิกก็เป็ นทานองเดียวกับ array 1 มิติ และ array 2 มิติ เช่นเดียวกับจานวนหน่วยความจาที่
็
ใช้กคือหน่วยความจาที่สมาชิกแต่ละตัวใช้ คูณด้วยจานวนสมาชิกทั้งหมด ทานองเดียวกัน array ยังสามารถ
มี array 4 มิติ ฯลฯ ได้ แต่ปกติไม่ใคร่ ได้ใช้และเขียนรู ปอธิบายได้ยาก เขียนได้แต่ในรู ปสัญลักษณ์
type arrayname[ ]...[ ]
บางคนอาจอธิบายสมาชิกของ array 3 มิติ ดังรู ป
ตัวอย่ าง ให้นกเรี ยนศึกษาโปรแกรม array5_1.c แล้วพิจารณาว่าโปรแกรมนี้จะทางานอย่างใด และค่าต่าง ๆใน array เป็ น
ั
เท่าใดบ้าง แล้วลอกโปรแกรม แล้วคอมไพล์และให้โปรแกรมทางาน แล้วพิจารณาว่าคาดคะเนถูกต้องหรื อไม่
/* 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]);
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 เป็ นเท่าใดบ้าง แล้วลอกโปรแกรม
ั
แล้วคอมไพล์และให้โปรแกรมทางาน แล้วพิจารณาว่าคาดคะเนถูกต้องหรื อไม่
/* 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)
{
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]);
}
}
ตัวแปรอักขระ
ตัวแปร หมายถึงชื่อเรี ยกแทนพื้นที่เก็บข้อมูลในหน่วยความจา มีชนิดของข้อมูล หรื อแบบของ
ตัวแปรคือ char, int, long, float, double, unsigned int, unsigned long int,
• การกาหนดตัวแปร ทาได้ 2 แบบ คือ
่
1. กาหนดไว้นอกกลุ่มคาสัง หรื อฟังก์ชน เรี ยกตัวแปรนี้วา Global Variable กาหนด
ั
่
ไว้นอกฟังก์ชน ใช้งานได้ท้งโปรแกรม มีค่าเริ่ มต้นเป็ น 0 (กรณี ไม่ได้กาหนดค่าเริ่ มต้น)
ั
ั
่
2. กาหนดไว้ในกลุ่มคาสัง หรื อฟังก์ชน เรี ยกตัวแปรนี้วา Local Variable กาหนดไว้
ั
่
ภายในฟังก์ชน ใช้งานได้ภายในฟั งก์ชนนั้น และไม่ถูกกาหนดค่าเริ่ มต้นโดยอัตโนมัติ
ั
ั
• การประกาศตัวแปร มีลกษณะดังนี้
ั
ชนิดตัวแปร ชื่อตัวแปร , ชื่อตัวแปร , ชื่อตัวแปร,.....;
• ชนิดของข้ อมูลในภาษาซี
1. ตัวแปรแบบ char เป็ นตัวแปรที่ใช้สาหรับเก็บข้อมูลที่เป็ นตัวอักษรขนาด 1 ตัว โดยใช้
เนื้อที่ในการเก็บ 1 ไบต์ ตัวอย่างตัวแปรชนิดนี้ เช่น ‘A’ , ‘b’ , ‘1’ , ‘?’
2. ตัวแปรแบบ integer เป็ นตัวแปรที่ใช้สาหรับการเก็บค่าตัวเลขที่เป็ นจานวนเต็มที่มีค่าระหว่าง
-32768 ถึง 32767 ใช้เนื้อที่ในการเก็บ 2 ไบต์ ตัวอย่างตัวแปรชนิดนี้ เช่น 5 -10 2534
3. ตัวแปรแบบ long เป็ นตัวแปรที่เก็บค่าเป็ นจานวนเต็มที่มีจานวนไบต์เป็ น 2 เท่าของจานวน
เดิม (มักจะใช้เป็ นคานาหน้าตัวแปร เช่น long int )
่
4. ตัวแปรแบบ float เป็ นตัวแปรที่ใช้เก็บข้อมูลที่เป็ นเลขทศนิยม โดยจะเก็บอยูในรู ป a.b x 10e
ใช้พ้ืนที่ในการเก็บ 4 ไบต์ มีค่าระหว่าง 3.4E-38 ถึง 3.4E+38 หรื อ แสดงเป็ น เลขทศนิยมได้ไม่เกิน
6 ตาแหน่ง ตัวอย่างตัวแปรชนิดนี้ เช่น 10.625 -6.67
5. ตัวแปรแบบ double เป็ นตัวแปรที่เก็บข้อมูลที่เป็ นเลขทศนิยมเหมือนกับ float แต่จะใช้พ้ืนที่
ในการเก็บมากกว่าเดิม 2 เท่า คือมีขนาด 8 ไบต์ มีค่าระหว่าง 1.7E-308 ถึง 1.7E+308
6. ตัวแปรแบบ unsigned แสดงว่าเป็ นตัวแปรที่เก็บค่าเป็ นจานวนเต็มแบบไม่คิดเครื่ องหมาย
(เป็ นบวกเท่านั้น) มักจะใช้เป็ นคานาหน้าตัวแปร ตัวอย่างการใช้งาน เช่น unsigned int
ตัวอย่ างที่ 1
บรรทัดที่ 1. #include<stdio.h>
บรรทัดที่ 2. #define PI 3.14159
บรรทัดที่ 3. int area; /* global variable */
บรรทัดที่ 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 เป็ นตัวแปรที่ใช้สาหรับเก็บค่าที่เป็ นเลขจานวนเต็มที่มีค่าอยูระหว่าง 35768 ถึง 32767
ตัวอย่างที่ 3 int num1=8;
หมายความว่า ประกาศตัวแปร num1 เป็ นตัวแปรที่เก็บค่าตัวเลขจานวนเต็ม โดยให้ค่าเริ่ มต้นเท่ากับ 8

ตัวอย่ างที่ 4 float money,price ;
หมายความว่า money และ price เป็ นตัวแปรที่ใช้สาหรับเก็บค่าที่เป็ นเลขทศนิยม โดยจะให้ตาแหน่ง
ทศนิยมได้ไม่เกิน 6 หลัก

ตัวอย่ างที่ 5 char ch=’A’
หมายความว่า ประกาศตัวแปร ch เป็ นตัวแปรที่เก็บค่าตัวอักษรเพียง 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‛ */
่
รายชือสมาชิก
จัดทาโดย
1.นายขรรค์เพชร นาควรรณ เลขที่ 1 ชั้น ม.5/4
2. นายสหพชร เพชรบรม
เลขที่ 2 ชั้น ม.5/4
3. นายจักกฤษ ประทุมนันท์ เลขที่ 4 ชั้น ม.5/4
4. นายสถาพร กาญจนะ
เลขที่ 8 ชั้น ม.5/4
5. นายนิธินนท์ วิมลพันธ์
ั
เลขที่ 10 ชั้น ม.5/4
6. นายเอกพล ปุณการี
เลขที่ 11 ชั้น ม.5/4

More Related Content

What's hot

โครงสร้างแบบอาร์เรย์
โครงสร้างแบบอาร์เรย์โครงสร้างแบบอาร์เรย์
โครงสร้างแบบอาร์เรย์waradakhantee
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Ploy StopDark
 
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysJava-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysWongyos Keardsri
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arraysa-num Sara
 
ภาษาจาวา
ภาษาจาวาภาษาจาวา
ภาษาจาวาSanita Fakbua
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรMook Sasivimon
 
บทที่ 5 ตัวแปรชุดและตัวแปรอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรอักขระบทที่ 5 ตัวแปรชุดและตัวแปรอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรอักขระMook Sasivimon
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]Mook Sasivimon
 
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระLacus Methini
 

What's hot (19)

โครงสร้างแบบอาร์เรย์
โครงสร้างแบบอาร์เรย์โครงสร้างแบบอาร์เรย์
โครงสร้างแบบอาร์เรย์
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Array1
Array1Array1
Array1
 
Chapter2
Chapter2Chapter2
Chapter2
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysJava-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional Arrays
 
4
44
4
 
ข้อมูลชุดอาร์เรย์ และสตริง
ข้อมูลชุดอาร์เรย์  และสตริงข้อมูลชุดอาร์เรย์  และสตริง
ข้อมูลชุดอาร์เรย์ และสตริง
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arrays
 
บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
Presentation1
Presentation1Presentation1
Presentation1
 
ภาษาจาวา
ภาษาจาวาภาษาจาวา
ภาษาจาวา
 
อาร์เรย์
อาร์เรย์อาร์เรย์
อาร์เรย์
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขรบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขร
 
บทที่ 5 ตัวแปรชุดและตัวแปรอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรอักขระบทที่ 5 ตัวแปรชุดและตัวแปรอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรอักขระ
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ[w]
 
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
 

Similar to งาน

ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระAreeya Onnom
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงNaphamas
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระMook Sasivimon
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระMook Sasivimon
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionIMC Institute
 
ตัวแปรชุด
ตัวแปรชุดตัวแปรชุด
ตัวแปรชุดPear Pimnipa
 
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระwebsite22556
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงdefeat overcome
 
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระSanita Fakbua
 
ตัวแปรชุดนำเสนอ
ตัวแปรชุดนำเสนอตัวแปรชุดนำเสนอ
ตัวแปรชุดนำเสนอPz'Peem Kanyakamon
 
งานกลุ่มคอม กลุ่ม-5
งานกลุ่มคอม กลุ่ม-5งานกลุ่มคอม กลุ่ม-5
งานกลุ่มคอม กลุ่ม-5Thachanok Plubpibool
 
Java-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysJava-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysWongyos Keardsri
 

Similar to งาน (18)

ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระบทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
 
ตัวแปรชุด
ตัวแปรชุดตัวแปรชุด
ตัวแปรชุด
 
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง
 
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
 
ข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริงข้อมูลชนิดอาร์เรย์และสตริง
ข้อมูลชนิดอาร์เรย์และสตริง
 
..Arrays..
..Arrays....Arrays..
..Arrays..
 
New presentation1
New presentation1New presentation1
New presentation1
 
ตัวแปรชุดนำเสนอ
ตัวแปรชุดนำเสนอตัวแปรชุดนำเสนอ
ตัวแปรชุดนำเสนอ
 
Ch2
Ch2Ch2
Ch2
 
Array
ArrayArray
Array
 
งานกลุ่มคอม กลุ่ม-5
งานกลุ่มคอม กลุ่ม-5งานกลุ่มคอม กลุ่ม-5
งานกลุ่มคอม กลุ่ม-5
 
Java-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysJava-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional Arrays
 

More from Noom Sataporn

การใช้งานโปรแกรมจัดการฐานข้อมูล
การใช้งานโปรแกรมจัดการฐานข้อมูลการใช้งานโปรแกรมจัดการฐานข้อมูล
การใช้งานโปรแกรมจัดการฐานข้อมูลNoom Sataporn
 
งานย่อย1
งานย่อย1งานย่อย1
งานย่อย1Noom Sataporn
 
กระบวนการเทคโนโลย สารสนเทศ (1)
กระบวนการเทคโนโลย สารสนเทศ (1)กระบวนการเทคโนโลย สารสนเทศ (1)
กระบวนการเทคโนโลย สารสนเทศ (1)Noom Sataporn
 

More from Noom Sataporn (7)

การใช้งานโปรแกรมจัดการฐานข้อมูล
การใช้งานโปรแกรมจัดการฐานข้อมูลการใช้งานโปรแกรมจัดการฐานข้อมูล
การใช้งานโปรแกรมจัดการฐานข้อมูล
 
ข่าวit
ข่าวitข่าวit
ข่าวit
 
ข่าวIT
ข่าวITข่าวIT
ข่าวIT
 
ข่าว IT
ข่าว ITข่าว IT
ข่าว IT
 
Mind map
Mind mapMind map
Mind map
 
งานย่อย1
งานย่อย1งานย่อย1
งานย่อย1
 
กระบวนการเทคโนโลย สารสนเทศ (1)
กระบวนการเทคโนโลย สารสนเทศ (1)กระบวนการเทคโนโลย สารสนเทศ (1)
กระบวนการเทคโนโลย สารสนเทศ (1)
 

งาน

  • 2. ตัวแปรชุด ตัวแปรชุ ด (array) เป็ นกลุ่มของข้อมูลชนิดเดียวกันที่กาหนดให้จดเก็บเรี ยง ั กันเป็ นลาดับตามจานวนที่ตองการ มี ชื่อตัวแปรเหมือนกันต่างกันที่ดชนี(index)ระบุ ้ ั ตาแหน่งของตัวแปรในชุดนั้น การเก็บข้อมูลเป็ นตัวแปรชุด ทาให้ง่ายในการตั้งชื่อตัวแปร จานวนมาก เข้าถึงข้อมูลได้เร็ว แต่ถาเก็บข้อมูลไม่ครบจะทาให้เสี ยเนื้อที่หน่วยความจา ้ โดยไม่จาเป็ น
  • 3. ประเภทของตัวแปรชุ ด อาจแบ่ งตามลักษณะของจานวนตัวเลขของดัชนี คือ 1. ตัวแปรชุด 1 มิติ (one dimension arrays หรื อ single dimension arrays) เป็ นตัวแปรชุดที่มี ตัวเลขแสดงขนาดเป็ นเลขตัวเดียว เช่น word[20] ,num[25] , x[15] 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]
  • 4. การประกาศและการกาหนดค่ าตัวแปรชุ ด 1 มิติ การประกาศตัวแปรชุด 1 มิติ ใช้คาสัง ดังนี้ ่ Type arrayname[size]; type คือ ชนิดของตัวแปร เช่น int char float arrayname คือชื่อของตัวแปรarray size คือ ขนาดของตัวแปร เช่น int a[12]; เป็ นการประกาศตัวแปร array ชื่อ a เป็ น array ของข้อมูลประเภท integer มีสมาชิกได้ จานวน 12 ตัว คือ a[0] a[1] a[2] a[3] … a[11] โดยมีการจองเนื้อที่ ในหน่วยความจาเปรี ยบเทียบได้ดงรู ป ั
  • 5. ่ โดยสมาชิกแต่ละตัวจะใช้เนื้อที่เท่ากับตัวแปรประเภท integer ที่ไม่ได้อยูใน array คือ 2 ไบต์ ต่อ ตัวแปร 1 ตัวดังนั้นเนื้อที่หน่วยความจาที่ใช้ท้ งหมดจึงเท่ากับจานวนสมาชิก คูณ ด้วย 2 ั ไบต์ การกาหนดค่าให้แก่ตวแปร array อาจกาหนดพร้อมกับการประกาศ เช่น ั int num1[3] ={56,25,89}; เป็ นการประกาศว่าตัว แปร num1 เป็ น array ประเภท integer มีสมาชิก 3 ตัวโดย num1[0] = 56; ส่ วน num1[1]=25; และ num1[2]=89; แต่ไม่สามารถประกาศว่า int value[ ] ; โดยถ้าจะไม่ระบุจานวนสมาชิก ต้องระบุ ค่าของแต่ละสมาชิกที่ถูกล้อมรอบด้วย { }โดยระหว่างสมาชิกคันด้วยเครื่ องหมาย , (คอมม่า) ่ ดังตัวอย่าง inta[]={200,230};
  • 6. หรื อ ประกาศตัวแปร โดยยังไม่กาหนดค่า เช่น int money[5]; แล้วไป กาหนดค่าให้สมาชิกแต่ละตัวในภายหลัง เช่น money[0] = 250; money[4] = 500; float num[5]; เป็ นการประกาศตัวแปร array ของ ตัวแปร จานวนที่ มีทศนิยมได้ คือ float ในชื่อ num ซึ่งมีสมาชิกได้ 5 ตัว คือ num[0] num[1]… num[4] มีการจองเนื้อที่ในหน่วยความจาเปรี ยบเทียบได้ ดังรู ป
  • 7. โดยสมาชิกแต่ละตัวใช้หน่วยความจา 4 ไบต์ ดังนั้นทั้งหมดจะใช้หน่วยความจา 4 คูณ 5 คือ 20 ไบต์ โดยสมาชิก คือ num[0] มีค่าเป็ น 2.00 และ num[3] มีค่าเป็ น 55.52 ส่ วน num[1] , num[2] และ num[4] ยังไม่มีค่า ส่ วนการกาหนดค่าของตัวแปร 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] โดยการใช้เนื้อที่ในหน่วยความจา เปรี ยบเทียบได้ ดังรู ป
  • 8. โดยที่สมาชิกแต่ละตัวใช้เนื้อที่ 1 ไบต์ ดังนั้น array ประเภท char ชุดนี้ ใช้เนื้อที่เป็ น12 x ั 1 คือ 12 bytes ส่ วนการกาหนดค่าให้กบ array ประเภทนี้ จะพิจารณา ในหัวข้อต่างหาก เพราะเป็ นตัวแปรประเภท ข้อความ (string variable) ซึ่ งมีลกษณะแตกต่างไปจาก ั พวก integer และ float
  • 9. การประกาศและการกาหนดค่ าตัวแปรชุ ด 2 มิติ (two dimension arrays) array 2 มิติ มีการจัดการจัดเก็บเปรี ยบเทียบคล้ายกับ ตาราง 2 มิติ มิติที่ 1 เปรี ยบเหมือนแถว(row) ของตาราง มิติที่ 2 เปรี ยบคล้ายกับสดมภ์(column)ของตาราง ดังรู ป รู ปนี้เป็ น array ของ x[6] ซึ่งมีสมาชิกทั้งหมด 6 ตัว เปรี ยบเหมือนเก็บไว้ในตารางช่องละ 1 ตัว ดังนั้นจานวนสมาชิกจะมี จานวน เท่ากับ จานวนแถว คูณ จานวนสดมภ์ โดยหน่วยความจาที่ใช้เท่ากับหน่วยความจาที่ใช้โดยตัวแปรแต่ละตัว คูณ ด้วยจานวนตัวแปรทั้งหมดใน array เช่น ในรู ป ถ้าเป็ น array ของ จานวนเต็ม สมาชิกแต่ละตัวใช้หน่วยความจา 2 ไบต์ หน่วยความจาที่ใช้ท้ง คือ 2 x 6 คือ 12 ไบต์ ั เราอาจพิจารณา array 2 มิติ ว่าเป็ น array ของ array 1 มิติ ดังรู ป
  • 10. ในรู ปมี array 1 มิติ 3 ชุด คือ table[0] table[1] และ table[2] ต่างก็เป็ นสมาชิกใน array 2 มิติ ที่ ชื่อ table ดังนั้น array ชื่อ table จะมีสมาชิกทั้งหมด คือ สมาชิกของ array ทั้งสาม คือ table[0][0] , table[0][1] … ถึง table[2][3] ทั้งหมด 12 ตัว โดยในสมาชิกเหล่านี้ บางตาแหน่งมีขอมูลแล้ว เช่น table[0][0] มีขอมูลเป็ น 10 โดย ้ ้ การประกาศตัวแปร array 2 มิติ มีรูปแบบ คือ type arrayname [r] [c]; เมื่อ type คือ ชนิดของข้อมูล เช่น 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‛}; หมายความว่า 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;
  • 11. ตัวแปร 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 ดังรู ป
  • 12. table [3][5][4] (อาจเขียนเป็ น table[5][4][3] หรื อแบบอื่นที่ให้ผลถึงจานวนที่เท่ากันก็ได้ แต่เวลาเขียน โปรแกรมจะต้องทาเข้าใจให้ตลอดว่าเราเขียนแบบใดจะได้ไม่สบสนในการเขียนโปรแกรม) ั หรื อ อาจพิจารณาว่า เป็ น array of arrays ดังรู ป
  • 13. เช่น table[0][0][0] ถึง table[0][0][0] เป็ นสมาชิกใน table[0][0] โดย table[0][0] ถึง table[0][4] เป็ นสมาชิก ใน table[0] และ table[0] ถึง table[2] เป็ นสมาชิกใน table (ซึ่งก็คือ table[3[[5][4] ) โดยจานวนสมาชิก ใน array เท่ากับ r *c *p เช่น array ในรู ป มีสมาชิกทั้งหมด 3 * 5 * 4 คือ 60 สมาชิก ส่วนการกาหนดค่าของ สมาชิกของ array แต่สมาชิกก็เป็ นทานองเดียวกับ array 1 มิติ และ array 2 มิติ เช่นเดียวกับจานวนหน่วยความจาที่ ็ ใช้กคือหน่วยความจาที่สมาชิกแต่ละตัวใช้ คูณด้วยจานวนสมาชิกทั้งหมด ทานองเดียวกัน array ยังสามารถ มี array 4 มิติ ฯลฯ ได้ แต่ปกติไม่ใคร่ ได้ใช้และเขียนรู ปอธิบายได้ยาก เขียนได้แต่ในรู ปสัญลักษณ์ type arrayname[ ]...[ ] บางคนอาจอธิบายสมาชิกของ array 3 มิติ ดังรู ป
  • 14. ตัวอย่ าง ให้นกเรี ยนศึกษาโปรแกรม array5_1.c แล้วพิจารณาว่าโปรแกรมนี้จะทางานอย่างใด และค่าต่าง ๆใน array เป็ น ั เท่าใดบ้าง แล้วลอกโปรแกรม แล้วคอมไพล์และให้โปรแกรมทางาน แล้วพิจารณาว่าคาดคะเนถูกต้องหรื อไม่ /* 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]); sum = sum + num[i]; } printf("n Input = %d time sum.of them = %4.2f average of data is %4.2f",time ,sum ,sum/time); }
  • 15. ตัวอย่ าง ให้นกเรี ยนศึกษาโปรแกรม array5_2.c แล้วพิจารณาว่าโปรแกรมนี้จะทางานอย่างใด และค่าต่าง ๆใน array เป็ นเท่าใดบ้าง แล้วลอกโปรแกรม ั แล้วคอมไพล์และให้โปรแกรมทางาน แล้วพิจารณาว่าคาดคะเนถูกต้องหรื อไม่ /* 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) { 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]); } }
  • 16. ตัวแปรอักขระ ตัวแปร หมายถึงชื่อเรี ยกแทนพื้นที่เก็บข้อมูลในหน่วยความจา มีชนิดของข้อมูล หรื อแบบของ ตัวแปรคือ char, int, long, float, double, unsigned int, unsigned long int, • การกาหนดตัวแปร ทาได้ 2 แบบ คือ ่ 1. กาหนดไว้นอกกลุ่มคาสัง หรื อฟังก์ชน เรี ยกตัวแปรนี้วา Global Variable กาหนด ั ่ ไว้นอกฟังก์ชน ใช้งานได้ท้งโปรแกรม มีค่าเริ่ มต้นเป็ น 0 (กรณี ไม่ได้กาหนดค่าเริ่ มต้น) ั ั ่ 2. กาหนดไว้ในกลุ่มคาสัง หรื อฟังก์ชน เรี ยกตัวแปรนี้วา Local Variable กาหนดไว้ ั ่ ภายในฟังก์ชน ใช้งานได้ภายในฟั งก์ชนนั้น และไม่ถูกกาหนดค่าเริ่ มต้นโดยอัตโนมัติ ั ั • การประกาศตัวแปร มีลกษณะดังนี้ ั ชนิดตัวแปร ชื่อตัวแปร , ชื่อตัวแปร , ชื่อตัวแปร,.....;
  • 17. • ชนิดของข้ อมูลในภาษาซี 1. ตัวแปรแบบ char เป็ นตัวแปรที่ใช้สาหรับเก็บข้อมูลที่เป็ นตัวอักษรขนาด 1 ตัว โดยใช้ เนื้อที่ในการเก็บ 1 ไบต์ ตัวอย่างตัวแปรชนิดนี้ เช่น ‘A’ , ‘b’ , ‘1’ , ‘?’ 2. ตัวแปรแบบ integer เป็ นตัวแปรที่ใช้สาหรับการเก็บค่าตัวเลขที่เป็ นจานวนเต็มที่มีค่าระหว่าง -32768 ถึง 32767 ใช้เนื้อที่ในการเก็บ 2 ไบต์ ตัวอย่างตัวแปรชนิดนี้ เช่น 5 -10 2534 3. ตัวแปรแบบ long เป็ นตัวแปรที่เก็บค่าเป็ นจานวนเต็มที่มีจานวนไบต์เป็ น 2 เท่าของจานวน เดิม (มักจะใช้เป็ นคานาหน้าตัวแปร เช่น long int ) ่ 4. ตัวแปรแบบ float เป็ นตัวแปรที่ใช้เก็บข้อมูลที่เป็ นเลขทศนิยม โดยจะเก็บอยูในรู ป a.b x 10e ใช้พ้ืนที่ในการเก็บ 4 ไบต์ มีค่าระหว่าง 3.4E-38 ถึง 3.4E+38 หรื อ แสดงเป็ น เลขทศนิยมได้ไม่เกิน 6 ตาแหน่ง ตัวอย่างตัวแปรชนิดนี้ เช่น 10.625 -6.67 5. ตัวแปรแบบ double เป็ นตัวแปรที่เก็บข้อมูลที่เป็ นเลขทศนิยมเหมือนกับ float แต่จะใช้พ้ืนที่ ในการเก็บมากกว่าเดิม 2 เท่า คือมีขนาด 8 ไบต์ มีค่าระหว่าง 1.7E-308 ถึง 1.7E+308 6. ตัวแปรแบบ unsigned แสดงว่าเป็ นตัวแปรที่เก็บค่าเป็ นจานวนเต็มแบบไม่คิดเครื่ องหมาย (เป็ นบวกเท่านั้น) มักจะใช้เป็ นคานาหน้าตัวแปร ตัวอย่างการใช้งาน เช่น unsigned int
  • 18.
  • 19. ตัวอย่ างที่ 1 บรรทัดที่ 1. #include<stdio.h> บรรทัดที่ 2. #define PI 3.14159 บรรทัดที่ 3. int area; /* global variable */ บรรทัดที่ 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); }
  • 20. ตัวอย่ างที่ 2 int a ; ่ หมายความว่า ประกาศตัวแปร a เป็ นตัวแปรที่ใช้สาหรับเก็บค่าที่เป็ นเลขจานวนเต็มที่มีค่าอยูระหว่าง 35768 ถึง 32767 ตัวอย่างที่ 3 int num1=8; หมายความว่า ประกาศตัวแปร num1 เป็ นตัวแปรที่เก็บค่าตัวเลขจานวนเต็ม โดยให้ค่าเริ่ มต้นเท่ากับ 8 ตัวอย่ างที่ 4 float money,price ; หมายความว่า money และ price เป็ นตัวแปรที่ใช้สาหรับเก็บค่าที่เป็ นเลขทศนิยม โดยจะให้ตาแหน่ง ทศนิยมได้ไม่เกิน 6 หลัก ตัวอย่ างที่ 5 char ch=’A’ หมายความว่า ประกาศตัวแปร ch เป็ นตัวแปรที่เก็บค่าตัวอักษรเพียง 1 ตัว คือ ตัวอักษร ‘A’
  • 21. ตัวอย่ างเพิมเติม ่ 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‛ */
  • 22. ่ รายชือสมาชิก จัดทาโดย 1.นายขรรค์เพชร นาควรรณ เลขที่ 1 ชั้น ม.5/4 2. นายสหพชร เพชรบรม เลขที่ 2 ชั้น ม.5/4 3. นายจักกฤษ ประทุมนันท์ เลขที่ 4 ชั้น ม.5/4 4. นายสถาพร กาญจนะ เลขที่ 8 ชั้น ม.5/4 5. นายนิธินนท์ วิมลพันธ์ ั เลขที่ 10 ชั้น ม.5/4 6. นายเอกพล ปุณการี เลขที่ 11 ชั้น ม.5/4