สำหรับเรื่องข้อมูลของภาษา
C จะกล่าวถึงเรื่องตัวอักขระ ค่าคงที่
และตัวแปร ดังรายละเอียดต่อไปนี้
1.ตัวอักขระ(charactors)
ตัวอักขระในภาษา C สามารถจำแนกออกเป็น 3
ประเภท คือ
1) ตัวเลข (digits) คือ ตัวเลข 0, 1, 2, …., 9
และตัวเลขฐานสิบหก A, B, C,
D, E และ F
2)
ตัวอักษร (letters) สามารถใช้ตัวอักษรพิมพ์ใหญ่ (uppercase letter)
คือ A, B, C, …, Z
และตัวอักษรพิมพ์เล็ก
(lowercase letter) คือ a, b, c, …., z รวมทั้งสิ้น 52
ตัวอักษร
3)
ตัวอักขระพิเศษ (special character)
ซึ่งได้แก่
! * + “ <
# ( = | >
% ) ~ ; /
^ - [
: ,(comma)
? & _ ] ‘
.(dot)
b (blank หรือ space)
ยกเว้นเครื่องหมาย _ (underscore) เพียงตัวเดียวที่ภาษา C
จัดเป็นตัวอักษรตัวหนึ่ง
โดยที่ตัวอักขระชนิดต่าง ๆ
นี้จะถูกนำไปใช้เป็นค่าคงที่
ตัวแปร ตัวดำเนินการ หรือนิพจน์
ที่ใช้ในภาษา C ต่อไป
2.ค่าคงที่ (constants)
ค่าคงที่ คือตัวอักขระที่นำมาประกอบกันตั้งแต่ 1
ตัวอักขระขึ้นไป
เพื่อบอกลักษณะอย่างใดอย่างหนึ่งของข้อมูล
บางครั้งเราอาจเรียกค่าคงที่ว่า “ข้อมูล” (data)
ก็ได้
ค่าคงที่พื้นฐานที่สำคัญในภาษา C มีดังนี้
1)
ค่าคงที่ชนิดตัวเลขจำนวนเต็ม (integer constant)
ค่าคงที่ชนิดนี้จะเป็นตัวเลขจำนวนเต็มซึ่งอาจมีเครื่องหมายบวกหรือลบก็ได้ เช่น 0, 9,
85, -698, 1832,
-2080 เป็นต้น
โดยตัวเลขจำนวนเต็มที่จะสามารถเก็บได้ปรกติจะอยู่ในช่วง -32768
ถึง 32767 เท่านั้น
บางครั้งเรานิยมเรียกค่าคงที่ชนิดนี้ว่าค่าคงที่ int
(integer) สำหรับการเก็บค่าคงที่ชนิด int
นี้ภายในหน่วยความจำ
จะใช้เนื้อที่ 2 bytes นอกจากนี้ยังสามารถเขียนค่าคงที่ชนิดนี้ให้อยู่ในรูปแบบตัวเลขฐานแปดและฐานสิบหกได้ โดยใช้ตัวเลขศูนย์ (0)
นำหน้าแล้วตามด้วยเลขฐานแปดที่ต้องการหรือจะใช้ตัวเลขศูนย์เอ็กซ์ (0x
หรือ 0X) นำหน้าแล้วตามด้วยเลขฐานสิบหกที่ต้องการ
เช่น 046, 027, 0xBD, 0X1BCF เป็นต้น
2)
ค่าคงที่ชนิดตัวเลขทศนิยม (floating point
constant)
ค่าคงที่ชนิดนี้จะเป็นตัวเลขจำนวนทศนิยม ซึ่งอาจจะมีเครื่องหมายบวก หรือลบก็ได้
หรือเป็นตัวเลขที่สามารถเขียนอยู่ในรูป
E ยกกำลังได้ เช่น
3.0, 0.234, -0.54, 4E-06, 1.675E+10 เป็นต้น
โดยตัวเลขทศนิยมนี้จะสามารถเก็บได้ปรกติจะอยู่ในช่วง 1.2E-38 ถึง
3.4E+38
เท่านั้น
สำหรับการเก็บค่าคงที่ชนิด float นี้จะใช้เนื้อที่ภายในหน่วยความจำ
4 bytes โดยที่ 3
bytes แรกจะเก็บค่าตัวเลขทศนิยม ส่วนอีก
1 bytes สุดท้ายจะเก็บค่ายกกำลังเอาไว้
3)
ค่าคงที่ตัวเลขทศนิยมที่มีความละเอียดสองเท่า (double
floating point)
ค่าคงที่ชนิดนี้นิยมเรียกว่า
ค่าคงที่แบบ double ซึ่งจะสามารถเก็บตัวเลขทศนิยมที่มีค่าอยู่ในช่วง 2.2E-308 ถึง
1.8E+308
เท่านั้น
สำหรับการเก็บค่าคงที่ชนิด double นี้ จะใช้เนื้อที่ภายในหน่วยความจำ 8
bytes โดยใช้ 7
bytes แรกเก็บค่าตัวเลขทศนิยม ส่วนอีก
1 bytes สุดท้ายจะเก็บค่ายกกำลังเอาไว้ เช่นเดียวกับค่าคงที่ชนิด float
4)
ค่าคงที่ชนิดตัวอักขระตัวเดียว (single character
constant)
ค่าคงที่ชนิดนี้จะสามารถเก็บตัวอักขระได้เพียง 1
ตัวอักขระ โดยอยู่ภายในเครื่องหมาย
‘ ’ (single
quotation) เช่น ‘5’, ‘X’,
‘c’ เป็นต้น สำหรับการเก็บค่าคงที่ชนิด single
character constant จะใช้เนื้อที่ภายในหน่วยความจำ 1
bytes
5) ค่าคงที่ชนิดข้อความ (strings
constant)
ค่าคงที่ชนิดนี้จะเก็บตัวอักขระที่มีความยาวตั้งแต่ 1
ตัวขึ้นไป
โดยจะเก็บอยู่ในรูปของข้อมูลอะเรย์
(arrays) ซึ่งในแต่ละตัวอักขระจะใช้เนื้อที่ในการเก็บ 1 bytes
เรียงติดต่อกันไปจนกระทั้งจบข้อความ และใน byte สุดท้ายจะเก็บ \0 (null
character) เอาไว้เพื่อเป็นการบอกว่า จบข้อความแล้ว
การเขียนค่าคงที่ชนิดข้อความจะต้องเขียนอยู่ภายในเครื่องหมาย “……”
(double quotation) เช่น “X”,
”computer”, “4567”,
“c” เป็นต้น
3.ตัวแปร
(variables)
ตัวแปร คือ ชื่อที่ผู้เขียนโปรแกรมตั้งขึ้นเพื่อใช้เป็นข้อมูล หรือใช้เก็บข้อมูล ดังนั้นเราต้องกำหนดตัวแปรให้สอดคล้องกับชนิดข้อมูลเสมอ เพื่อให้ระบบเตรียมเนื้อที่ในหน่วยความจำให้สอดคล้องกับตัวแปรชนิดนั้น ๆ ซึ่งเนื้อหาที่กล่าวถึงเกี่ยวกับตัวแปรประกอบด้วย หลักเกณฑ์การตั้งชื่อตัวแปร การประกาศตัวแปร และการกำหนดค่าเริ่มต้นให้กับตัวแปร
ตัวแปร คือ ชื่อที่ผู้เขียนโปรแกรมตั้งขึ้นเพื่อใช้เป็นข้อมูล หรือใช้เก็บข้อมูล ดังนั้นเราต้องกำหนดตัวแปรให้สอดคล้องกับชนิดข้อมูลเสมอ เพื่อให้ระบบเตรียมเนื้อที่ในหน่วยความจำให้สอดคล้องกับตัวแปรชนิดนั้น ๆ ซึ่งเนื้อหาที่กล่าวถึงเกี่ยวกับตัวแปรประกอบด้วย หลักเกณฑ์การตั้งชื่อตัวแปร การประกาศตัวแปร และการกำหนดค่าเริ่มต้นให้กับตัวแปร
3.1 หลักเกณฑ์การตั้งชื่อตัวแปร
ในภาษา
C มีหลักเกณฑ์การตั้งชื่อตัวแปรดังนี้
1) ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษรเท่านั้น ตัวถัดมาเป็นได้ทั้งตัวอักษร ตัวเลข
แต่ต้องไม่มีเครื่องหมายคำนวณ บวก
(+), ลบ (-), คูณ (*), หาร (/), หารเอาเศษ (%) และเครื่องหมายเว้นวรรค (blank) คั่นระหว่างชื่อตัวแปร
แต่ถ้าต้องการตั้งชื่อตัวแปรเว้นวรรคให้ใช้เครื่องหมาย _
(underscore) คั่นแทนการเว้นวรรค เช่น sum_1,
sum_2 เป็นต้น
2) ความยาวของชื่อตัวแปร
ขึ้นอยู่กับคอมไพเลอร์และระบบเครื่องคอมพิวเตอร์ ซึ่งภาษา
C สามารถตั้งชื่อตัวแปรได้ยาวถึง 32 ตัว
แต่โดยปกติเราไม่นิยมตั้งชื่อตัวแปรยาว ๆ
3) ชื่อตัวแปรตัวอักษรพิมพ์ใหญ่และตัวอักษรพิมพ์เล็ก แม้จะเขียนคำเดียวกัน
หรือตัวอักษรพิมพ์ใหญ่ปนตัวอักษรพิมพ์เล็กที่สลับตำแหน่งกัน ระบบถือว่าเป็นคนละตัวแปรกัน เช่น
ตัวแปร MAX, max, Max, mAx,
maX จะถือว่าตัวแปรทั้ง 5 ตัวนี้เป็นคนละตัวกัน
4) ห้ามตั้งชื่อตัวแปรซ้ำกับคำสงวน (reserved word) หรือชื่อฟังก์ชัน
หรือชื่อคำสั่งในภาษานั้น ๆ
คำสงวนในภาษา C ตามมาตรฐาน ANSI
(American National Standards
Institute) มี 33
keywords ดังนี้
asm, auto
double int struct
break
else long switch
case
enum register typedef
char
extern return union
const
float
short unsigned
continue
for
signed void
default
goto
sizeof volatile
do
if
static while
5) ชื่อตัวแปรควรตั้งให้สัมพันธ์กับข้อมูลที่ต้องการเก็บ เพื่อป้องกันความสับสน
เนื่องจากโปรแกรมที่มีขนาดใหญ่จะมีตัวแปรจำนวนมาก ถ้าเราตั้งชื่อตัวแปรโดยไม่มีระบบระเบียบที่ดีพอจะทำให้ผู้อ่านโปรแกรมเกิดความสับสนและในกรณีที่โปรแกรมเกิดข้อผิดพลาดขึ้นจะเสียเวลาในการแก้ไขโปรแกรมมากขึ้น เช่น
ตัวแปร name ใช้เก็บชื่อ
ตัวแปร age ใช้เก็บอายุ
ตัวแปร salary ใช้เก็บเงินเดือน
ตัวแปร vat ใช้เก็บภาษี
3.2 การประกาศตัวแปร (declaration of
variables)
ตัวแปรทุกตัวต้องมีการประกาศชื่อตัวแปร (variable name) และชนิดของตัวแปร (variable type) เอาไว้ก่อน
จึงจะสามารถนำตัวแปรที่ประกาศไว้มาใช้งานได้
รูปแบบการประกาศตัวแปร
โดยที่ vtype คือ ชนิของตัวแปรพื้นฐานที่นิยมใช้กันมีอยู่ 4 ชนิด
คือ char, int, float, และ double
ซึ่งในความเป็นจริงแล้ว
การประกาศชนิดของตัวแปรจะต้องให้ความสัมพันธ์กับค่าข้อมูลที่ต้องการเก็บด้วย vname คือ ชื่อของตัวแปร
ถ้ามีตัวแปรหลายตัวที่ต้องการให้มีชนิดตัวแปรเหมือนกัน สามารถใช้เครื่องหมาย , (comma) คั่นระหว่างชื่อตัวแปรได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น