วันจันทร์ที่ 13 สิงหาคม พ.ศ. 2555

ประเภทของข้อมูลภาษาซี


ในการเขียนโปรแกรมภาษา C นั้น ผู้ใช้จะต้องกำหนดชนิดให้กับตัวแปรนั้นก่อนที่จะนำไปใช้งาน โดยผู้ใช้จะต้องรู้ว่าในภาษา C นั้นมีชนิดข้อมูลอะไรบ้าง เพื่อจะเลือกใช้ได้อย่างถูก 
ต้องและเหมาะสม ในภาษา C จะมี 4 ชนิดข้อมูลมาตรฐาน ดังนี้ 
ชนิดข้อมูลแบบไม่มีค่า หรือ Void Type (Void)
ข้อมูลชนิดนี้ จะไม่มีค่าและจะไม่ใช้ในการกำหนดชนิดตัวแปร แต่ส่วนใหญ่จะใช้เกี่ยวกับฟังก์ชั่น ซึ่งจะขอยกไปอธิบายในเรื่องฟังก์ชั่น 
 ชนิดข้อมูลมูลแบบจำนวนเต็ม หรือ Integer Type (int)
เป็นชนิดข้อมูลที่เป็นตัวเลขจำนวนเต็ม ไม่มีทศนิยม ซึ่งภาษา C จะแบ่งข้อมูลชนิดนี้ออกได้เป็น 3 ระดับ คือ short int,int และ long int ซึ่งแต่ละระดับนั้นจะมีขอบเขตการใช้งานที่แตกต่างกัน ดังแสดงในตารางที่ 2-1 

ชนิดข้อมูล
คิดเครื่อง
หมาย
ขนาด(ไบต์)
จำนวนบิต
ค่าน้อยที่สุด
ค่ามากที่สุด
Short int
คิด
ไม่คิด
216
-32,768
0
32,768
65,535
Int
(16 บิต)
คิด
ไม่คิด
216
-32,768
0
32,768
65,535
Int
(32 บิต)
คิด
ไม่คิด
432
-2,147,486,643
0
2,147,486,643
4,294,967,295
Long int
คิด
ไม่คิด
432
-2,147,486,643
0
2,147,486,643
4,294,967,295
ชนิดข้อมูลแบบอักษร หรือ Character Type (char)
ข้อมูลชนิดนี้ก็คือ ตัวอักษรตั้งแต่ A-Z เลข 0-9 และสัญลักษณ์ต่าง ๆ ตามมาตรฐาน ACSII (American Standard Code Information Interchange) ซึ่งเมื่อกำหนดให้กับตัวแปรแล้วตัวแปรนั้นจะรับค่าได้เพียง 1 ตัวอักษรเท่านั้น และสามารถรับข้อมูลจำนวนเต็มตั้งแต่ถึง 127 จะใช้ขนาดหน่วยความจำ 1ไบต์หรือ 8 บิต 
ชนิดข้อมูลแบบทศนิยม หรือ Floating Point Type (flat)
เป็นข้อมูลชนิดตัวเลขที่มีจุดทศนิยม ซึ่งสามารถแบ่งออกเป็น 3 ระดับ คือ float, double และ long double แต่ละระดับนั้นจะมีขอบเขตที่แตกต่างกันในการใช้งาน ดังแสดงในตารางที่ 2-2 
 ตารางที่ 2-2 แสดงรายละเอียดของชนิดข้อมูลแบบทศนิยม 
ชนิดข้อมูล
ขนาด(ไบต์)
จำนวนบิต
ค่าที่น้อยที่สุด
float432      -38                38
3.4-10    ถึง 3.4-10
double864      -308                308
1.7*10    ถึง 1.7*10
long double1080      -4932             4932
3.4*10    ถึง 1.1*10
ตัวแปร 
ตัวแปร คือ ชื่อที่ใช้อ้างถึงตำแหน่งต่าง ๆ ในหน่วยความจำ ซึ่งใช้เก็บข้อมูลต่าง ๆ ด้วยขนาดตามชนิดข้อมูล 
การประกาศตัวแปร 
การประกาศตัวแปรในภาษา C นั้นสามรถทำได้ 2 ลักษณะ คือ การประกาศตัวแปรแบบเอกภาพ หรือการประกาศตัวแปรแบบ Global คือ ตัวแปรที่จะสามารถเรียกใช้ได้ทั้งโปรแกรม และแบบที่สองการประกาศตัวแปรแบบภายใน หรือการประกาศตัวแปรแบบ Local ซึ่งตัวแปรแระเภทนี้จะใช้ได้ในเฉพาะฟังก์ชั่นของตัวเองเท่านั้น 

#include
int total; /*การประกาศตัวแปรแบบ Global */
main()
{
int price,money; /*การประกาศตัวแปรแบบ Local*/

}
   รูปที่ 2-3 แสดงการประกาศตัวแปรแบบต่าง ๆ 
การกำหนดค่าให้กับตัวแปร 
การกำหนดค่าให้กับตัวแปรนั้น จะสามารถกำหนดได้ตั้งแต่ตอนที่ประกาศตัวแปรเลยหรือจะกำหนดให้ภายในโปรแกรมก็ ได้ ซึ่งการกำหนดค่าจะใช้เครื่องหมาย = กั้นตรงกลาง 
int total = 0;
ถ้ามีตัวแปรข้อมูลชนิดเดียวกัน ก็สามารถทำแบบนี้ได้ 
int total =0,sum
หรือ 
int total =0,sum=0;
ถ้าเป็นการกำหนดภายในโปรแกรม ซึ่งตัวแปรนั้นได้ประกาศไว้แล้วสามารถทำแบบนี้ 
total = 50;
หรือ 
total = total+sum
หรือกำหนดค่าจาการพิมพ์ข้อมูลเข้าทางคีย์บอร์ด 
scanf(“%d”,&total);
โปรแกรมที่ 2-2 การประกาศและใช้ตัวแปร 
#include
/*การประกาศตัวแปร Global*/
int sum = 0;
int main(void)
{
/*การประกาศตัวแปรแบบ Local */
int a;
int b;
int c;

/*คำสั่ง */ 
printf(“\nWelcome. This Program adds\n”);
printf(“threenumbers.Enter three numbers\n”);
printf(“in the form: nnn nnn nnn \n”);
scanf(“%d %d %d”,&a,&b,&c);
/* ทำการบวกค่าระหว่าง a,b และ c เข้าด้วยกันแล้วกำหนดค่าให้ sum*/
sum=a+b+c;
printf(“The total is: %d\n”,sum);
printf(“Thant you. Have a good day.\n”);
return 0;
}
ผลการทำงาน:
Welcome. This Program adds
Three numbers. Enter three number
In the form: nnn nnn nnn 
11 22 23
The total is: 56
Thank you. Have a good day.

การกำหนดชนิดข้อมูลแบบชั่วคราว 
เมื่อผู้ใช้ได้กำหนดชนิดข้อมูลให้กับตัวแปรใด ๆ ไปแล้ว ตัวแปรตัวนั้นจะมีชนิดข้อมูลเป็นแบบที่กำหนดให้ตลอดไป บางครั้งการเขียนโปรแกรมอาจจะต้องมีความจำเป็นต้องเปลี่ยนชนิดข้อมูลของตัว แปรตัวนั้น ซึ่งภาษาซี ก็มีความสามารถที่จะทำเช่นนั้นได้ 
รูปแบบ 
([ชนิดข้อมูล])[ตัวแปร]
ตัวอย่าง 
(float)a
(int)a
โปรแกรมที่ 2-3 แสดงการใช้ตัวแปรแบบชั่วคราว 
#include
int main(void)
{
float a= 25.3658;
printf(“Value of a : %\n”,a);
printf(“Value of a when set is integer : %d\n”,(int)a);
return 0;
}
ผลการทำงาน :
Value of a : 25.365801
Value of a when change is integer : 25
ชนิดข้อมูลแบบค่าคงที่ (Constants)
ชนิดข้อมูลประเภทนี้ ชื่อก็บอกอยู่ว่าเป็นชนิดข้อมูลแบบค่าคงที่ ซึ่งก็คือข้อมูลตัวแปรประเภทที่เป็น Constants ผู้ใช้จะไม่สามารถเปลี่ยนแปลงค่าของตัวแปรตัวนั้น ในขณะที่โปรแกรมทำงานอยู่ 
รูปแบบ 
Const[ชนิดข้อมูล][ตัวแปร]=[ค่าหรือ นิพจน์]
ตัวอย่าง 
const folat a = 5.23;
const int b = a%2;
โปรแกรมที่ 2-4 การใช้ตัวแปรชนิดข้อแบบค่าคงที่ 
#include
imt main(void)
{
const float pi = 3.14159;
float radius;
radius = 3;
printf(“Value of pi  : %f\n”,pi);
printf(“Value of area : %f\n”,pi*(radius*radius));
return 0;
}
ผลการทำงาน:
Value of pi : 3.141590
Value of area : 28.274311
constant นั้นสามารถแบ่งออกได้ ดังนี้ 
Integer Constants เป็นค่าคงที่ชนิดข้อมูลแบบตัวเลขจำนวนเต็มไม่มีจุดทศนิยม 
const int a = 5;
Floating-Point Constants เป็นค่าคงที่ชนิดข้อมูลแบบตัวเลขที่มีจุดทศนิยม 
const float b = 5.6394;
Character Constants เป็นค่าคงที่ชนิดตัวอักษร ซึ่งจะต้องอยู่ภายในเครื่องหมาย ‘’เท่านั้น 
const char b = ‘t’;
String Constants เป็นค่าคงที่เป็นข้อความ ซึ่งจะต้องอยู่ภายใต้เครื่องหมาย “”เท่านั้น 
“”
“h”
“Hello world\n”
“HOW ARE YOU”
“Good Morning!”
โปรแกรมที่ 2-5 การใช้ตัวแปรชนิดข้อมูลแบบค่าคงที่แบบต่าง ๆ 
#includ
int main(void)
{
const int a = 3; /*Integer Constats*/
const flat b = 3.14159; /*Floating – Point Constants*/
const cahr c = ‘P’; /*Character Constants*/
printf(“Value of a: %d\n”,a);
printf(“Value of b: %d\n”,b);
printf(“Value of c: %d\n”,c);
printf(“Good Bye”); /*String Constants*/
return 0;
}
ผลการทำงาน 
Value of  a : 3
Value of  b : 3.141590
Value of  c : P
Good Bye
Statements
                    statements ในภาษา c คือ คำสั่งต่าง ไ ที่ประกอบขึ้นจนเป็นตัวโปรแกรม ซึ่งในภาษา c นั้นได้แบ่งออกเป็น 6 แบบ คือ Expression Statement และ Compound Statement ณ.ที่นี้จะมีด้วยกัน 2 แบบ
  1. Expression Statement  หรือเรียกอีกอย่างหนึ่งว่า Single Statement ซึ่ง Statement  แบบนั้นจะต้องมีเครื่องหมาย; หลังจาก statement เมื่อภาษา C พบเครื่องหมาย ; จะทำให้มันรู้ว่าจบชุดคำสั่งแล้ว แล้วจึงข้ามไปทำ Statement ชุดต่อไป
       a = 2;
หรือ 
printf(“x contains %d, y contains %d\n”,x,y);
Compound Statement คือ ชุดคำสั่งที่มีคำสั่งต่าง ๆ รวมอยู่ด้านใน Block ซึ่งจะใช้เครื่องหมาย {เป็นการเปิดชุดคำสั่ง และใช้} เป็นตัวปิดชุดคำสั่ง ตัวอย่างที่เห็นได้ชัดเจนสำหรับ Statement แบบนี้ คือ ตัวฟังก์ชั่น Main โดยทั่ว ๆ ไปในภาษา C Compound Statement จะเป็นตัวฟังชั่น

ที่มา : http://itd.htc.ac.th/st_it50/it5016/nidz/Web_C/unit2.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น