ตัวแปรและชนิดของข้อมูล
ในการเขียนโปรแกรมไม่ว่าจะด้วยภาษาใดก็ตาม
หากมีการประกาศตัวแปรขึ้นมาใช้งานแล้ว ผู้เขียน
โปรแกรมจะต้องกาหนดชนิดของข้อมูลให้กับตัวแปรนั้น
ด้วย
ตัวแปรคือ ??
การกาหนดตัวแปรเป็นการใช้ชื่อตัวแปรแทน
ตาแหน่งบนหน่วยความจา สาหรับเก็บข้อมูลระหว่าง
การประมวลผล ซึ่งอาจเป็นข้อมูลนาเข้า ข้อมูลที่เกิดจาก
การดาเนินการ หรือข้อมูลผลลัพธ์
การตั้งชื่อตัวแปร
นักเขียนโปรแกรมจะต้องตั้งชื่อให้กับตัวแปร ค่าคงที่
โปรแกรมย่อย พารามิเตอร์ และส่วนต่างๆ ของโปรแกรม
กฎเกณฑ์ที่ใช้ในการตั้งชื่อของภาษาซีมีดังนี้
การตั้งชื่อตัวแปร (ต่อ)
1. ชื่อจะประกอบขึ้นจากตัวอักษร ตัวเลข และเครื่องหมาย
ขีดเส้นใต้ (underscore) เท่านั้น
2. อักขระแรกของชื่อจะต้องเป็นตัวอักษร หรือเครื่องหมาย
ขีดเส้นใต้เท่านั้น
3. ตัวพิมพ์ใหญ่ และตัวพิมพ์เล็กถือเป็นตัวอักษรคนละตัวกัน
เช่น Salary และ SALARY เป็นชื่อที่แตกต่างกัน เป็นต้น
การตั้งชื่อตัวแปร (ต่อ)
4. ชื่อมาตรฐาน ANSIC จะมีความยาวไม่จากัด แต่คอมไพเลอร์
ตามมาตรฐาน ANSIC จะต้องสามารถจาแนกชื่อที่แตกต่าง
กันได้อย่างมาก 31 อักขระแรก
5. ชื่อจะต้องไม่ซ้ากับคาสงวน
1. ชื่อตัวแปร ไม่สามารถใช้ตัวเลขนาหน้าได้
ตัวอย่างชื่อตัวแปร
123var
999var
1stvar
01variable
2. ชื่อตัวแปร ไม่สามารถนาเครื่องหมายทางคณิตศาสตร์มา
ประกอบการตั้งชื่อ
*variable
+string
-operatior
int-int
ตัวอย่างชื่อตัวแปร(ต่อ)
3. ชื่อตัวแปร ไม่สามารถนาเครื่องหมายวรรคตอน
(Punctuation) มาใช้ร่วมได้
.variable
string.1
op,001
"variable"
ตัวอย่างชื่อตัวแปร(ต่อ)
4. ไม่สามารถนาคาสงวนมาใช้เพื่อตั้งชื่อตัวแปร
float
union
default
register
ตัวอย่างชื่อตัวแปร(ต่อ)
5. ชื่อตัวแปรไม่สามารถคั่นด้วยช่องว่างได้
a variable
string 001
first var
ตัวอย่างชื่อตัวแปร(ต่อ)
6. ชื่อตัวแปรสามารถใช้ตัวเลขตามหลังได้
var001
string911var
s001
ตัวอย่างชื่อตัวแปร(ต่อ)
7. สามารถใช้เครื่องหมาย _ (Under Score) เชื่อมคา เพื่อสื่อ
ความหมายในตัวแปรได้
var_001
string_911_var
tax_rate
net_int
ตัวอย่างชื่อตัวแปร(ต่อ)
8. สามารถใช้ตัวอักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ในการ
กาหนดชื่อตัวแปรร่วมกันได้
ตัวอย่างชื่อตัวแปร(ต่อ)
DO
Float
CHAR
Char
คาสงวน
คาสงวน หมายถึง คาที่สงวนไว้สาหรับเรียกใช้ตาม
วัตถุประสงค์ที่กาหนโดยเฉพาะ เช่น คาที่ใช้ในคาสั่งควบคุม
และชนิดของข้อมูล เป็นต้น คาสงวนของภาษาซีมีดังนี้
คาสงวน (ต่อ)
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
ชนิดของข้อมูล คือ ??
ใช้กาหนดลักษณะและขอบเขตของข้อมูลนั้นๆ โดย
ข้อมูลที่มีชนิดของข้อมูลแตกต่างกัน ก็จะเก็บข้อมูลในลักษณะที่
ต่างกัน
ตารางแสดงชนิดข้อมูล
ชนิดของข้อมูล ความหมาย
แบบตัวอักษร
char
เก็บข้อมูลตัวอักษรและอักขระ
พิเศษ
ได้ทีละ 1 ตัวอักษร
เช่น A , @
string
เก็บข้อมูลตัวอักษรที่เป็น
ข้อความ เช่น one ,
programming
ตารางแสดงชนิดข้อมูล (ต่อ)
ชนิดของข้อมูล ความหมาย
แบบเลข
จานวนเต็ม
int
เก็บข้อมูลที่เป็นตัวเลข
จานวนเต็ม เช่น 1, 99
แบบเลข
จานวนจริง
float
เก็บข้อมูลที่เป็นเลขจานวนจริง
หรือ เลขทศนิยม
เช่น 11.50 , 24.99
การประกาศตัวแปร
การตั้งชื่อให้กับตัวแปรจะเป็นไปตามหลักการตั้งชื่อ
ของภาษาซี และชื่อที่เหมาะสมควรจะเป็นชื่อที่สื่อ
ความหมาย การประกาศตัวแปรมีรูปแบบ ดังนี้
ชนิดข้อมูล ตัวแปร1, ตัวแปร2, …,ตัวแปรn;
ตัวแปร = ชื่อของตัวแปรที่ผู้เขียนโปรแกรม
เป็นคนตั้งขึ้น ซึ่งต้องตั้งให้ถูกหลักของภาษา C
การประกาศตัวแปร (ต่อ)
เช่น
int count; // ประกาศตัวแปรชื่อ count ใช้เก็บข้อมูล
ชนิดจานวนเต็ม (integer)
int m, n; // ประกาศตัวแปรชื่อ m และ n ใช้เก็บข้อมูล
ชนิดจานวนเต็ม (integer)
int no = 10; // ประกาศตัวแปรใช้เก็บข้อมูลชนิดจานวนเต็ม
ชื่อ no และเก็บค่า 10 ไว้ในตัวแปรดังกล่าว
เช่น
float percent, total; // ประกาศตัวแปรชื่อ percent
และ total ใช้สาหรับเก็บข้อมูล
ชนิดจานวนจริง หรือเลขทศนิยม
char name[n]; // ประกาศตัวแปรใช้เก็บข้อมูลตัวอักษร
และอักขระชื่อ name และเก็บค่า n
ไว้ในตัวแปรดังกล่าว
การประกาศตัวแปร (ต่อ)
ตาแหน่งการประกาศตัวแปร
#include<stdio.h>
#include<conio.h>
ประกาศตัวแปร
main()
{
ประกาศตัวแปร
. . . . . . . . . . . . . . . .
getch();
}
ตาแหน่งการประกาศตัวแปร(ต่อ)
1:
2:
3:
4:
5:
#include<stdio.h>
#include<conio.h>
int num; สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิดจานวนเต็ม
float y; สร้างตัวแปรชื่อ y เพื่อเก็บข้อมูลชนิดเลขทศนิยม
char name[20] ; สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิด
ข้อความ
ตัวอย่าง : การประกาศตัวแปร
6:
7:
8:
9:
10:
11:
12:
13:
14:
main()
{
printf("Enter number : ");
scanf("%d",&num);
printf("Enter you name...");
scanf("%s",&name);
printf("Thank you");
getch();
}
ตาแหน่งการประกาศตัวแปร(ต่อ)

ตัวแปรกับชนิดของข้อมูล1