top of page

หน่วยการเรียนรู้ที่ 3

องค์ประกอบของภาษาซี

จุดประสงค์การเรียนรู้

1. บอกชนิดของอักขระในภาษาซีได้

2. อธิบายประเภทของข้อมูลได้

3. อธิบายลักษณะของตัวแปรได้

4. บอกชนิดของตัวแปรได้

5. ประกาศตัวแปรแต่ละชนิดได้

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram

3.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)

3.2 ประเภทของข้อมูล

310181402_494564769190813_6983637024969988771_n_edited.jpg

3.2 ลักษณะของตัวแปร

        ตัวแปร (variable) เนื่องจากข้อมูลถูกเก็บอยู่ในหน่วยความจำ การอ้างถึงตำแหน่งของข้อมูลนี้
จึงมีความซับซ้อน ไม่สะดวกต่อการเขียนโปรแกรม จึงมีการเรียกหน่วยความจำ ในตำแหน่งที่สนใจผ่านตัวแปร

การประกาศตัวแปร (variable declaration) คือการจองเนื้อที่ในหน่วยความจำสำหรับเก็บค่าบางอย่าง
พร้อมทั้งกำหนดชื่อเรียกแทนหน่วยความจำในตำแหน่งนั้นเพื่อให้ผู้เขียนโปรแกรมมีความสะดวกในการเข้าถึง
ค่าที่เก็บอยู่ในหน่วยความจำดังกล่าว

รูปแบบการประกาศตัวแปร

 

type variable-name;

โดย

type คือชนิดของตัวแปร (ตามตารางด้านล่าง)
variable-name คือชื่อของตัวแปร (ควรตั้งชื่อให้มีความหมายสอดคล้องกับการใช้งานและจำง่าย)


ตัวอย่างการประกาศตัวแปรแบบต่าง ๆ

int num; /*ประกาศตัวแปรชนิิดจำนวนเต็ม ชื่อ num*/
float x;
char grade, sex; /*ประกาศตัวแปรชนิิดอักขระ ชื่อ grade และ sex (ประกาศพร้อมกันในบรรทัดเดียว)*/

float temp = 123.45; /*ประกาศตัวแปรชนิดเลขทศนิยมพร้อมกำหนดค่า 123.45*/
char c = "A", t = "B"; /*ประกาศตัวแปรชนิดอักขระสองตัว พร้อมกำหนดค่าให้แต่ละตัว*/
int oct = 0555; /*ประกาศตัวแปรชนิดจำนวนเต็มชื่อ num พร้อมกำหนดค่าคือ 555 (เป็นเลขฐานแปดเพราะมี 0 นำหน้า)*/
int hex = 0x88; /*ประกาศตัวแปรชนิดจำนวนเต็มชื่อ hex พร้อมกำหนดค่าคือ 88 (เป็นเลขฐาน 16 เพราะมี 0x นำหน้า)*/

 

ข้อควรระวัง!!

  • ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย "_" เท่านั้น

  • ภายในชื่อตัวแปรให้ใช้ตัวอักษร, ตัวเลข 0-9 หรือเครื่องหมาย "_"

  • ห้ามมีช่องว่างในชื่อตัวแปร

  • อักษรตัวพิมพ์เล็ก-ใหญ่ มีความแตกต่างกัน (case sensitive) เช่น Name, NAME และ name
    ถือเป็นชื่อที่แตกต่างกัน

  • ห้ามซ้ำกับชื่อตัวแปรสงวน (reserved word)

ตัวแปรชนิดข้อความ (string)

ถ้าเราต้องการเก็บข้อความ "C programming language" ไว้ในตัวแปร จะทำได้อย่างไร?

ที่ผ่านมาเราทราบว่าเราสามารถเก็บข้อมูลชนิดตัวอักขระไว้ในตัวแปรชนิด char ได้ แต่ตัวแปรชนิด char นั้น
สามารถเก็บตัวอักขระได้เพียงตัวเดียวเท่านั้น ไม่สามารถเก็บทั้งข้อความได้ แล้วเราจะแก้ปัญหาได้อย่างไร?

หากพิจาณาให้ดี ข้อความดังกล่าวประกอบด้วยตัวอักขระ (ตัวอักษร+สัญลักษณ์) หลายๆ ตัวเรียงต่อกันเป็นสาย
ซึ่งเป็นลักษณะของตัวแปรแบบ array (จะได้กล่าวภายหลัง)

การประกาศตัวแปรแบบ array เพื่อเก็บข้อมูลดังกล่าวสามารถทำได้ดังนี้

type variable-name[size];

โดย

size คือขนาดของข้อความ+1 โดยขนาดที่เพิ่มขึ้นเพราะต้องเก็บอักขระสุดท้ายของข้อความเป็นอักขระ
\0 หรือ NULL เพื่อบอกว่าสิ้นสุดข้อความแล้ว

 

ตัวอย่างการประกาศตัวแปรแบบ array เพื่อเก็บข้อความ "C programming language" (22 ตัวอักษร)
ทำได้หลายวิธีดังนี้

char[23] text = "C programming language";
/*กำหนดขนาดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่า \0 หรือ NULL ในตำแหน่งสุดท้าย*/

char[23] text = {'C',' ','p','r','o','g','r','a','m','m','i','n','g',' ','l','a','n','g','u','a','g','e','\0'};
/*กำหนดขนาดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่า \0 หรือ NULL ในตำแหน่งสุดท้าย*/

char[] text = "C programming language";
/*ถ้าไม่กำหนดขนาดของ array แล้ว ตัวแปรภาษาซีจะกำหนดให้โดยมีขนาดเท่ากับขนาดข้อความ+1*/

 

นอกจากนี้เรายังสามารถแก้ไขตัวอักษรที่เก็บอยู่ใน array ได้โดยการอ้างอิงตำแหน่งเช่น

text[0] = 'A'; /*แก้ตัวอักษรตัวแรก (เริ่มนับจาก 0) จะได้ผลลัพธ์คือ A programming language*/

text[2] = ' '; /*ผลลัพธ์คือ A rogramming language (ใส่ช่องว่างแทนตัว p)*/

3.3 ชนิดของตัวแปร

310735686_776254120121960_5421104275217069776_n_edited.jpg

3.3 การประกาศตัวแปร

           การสร้าวตัวแปรขึ้นมาใช้งานจะเรียกว่า  การประกาศตัวแปร (Variable Declaration) โดยเขียนคำสั่งให้ถูกต้องตามแบบการประกาศตัวแปร  แสดงดังนี้

type name;

type :  ชนิดของตัวแปร
name : ชื่อของตัวแปร  ซึ่งต้องตั้งให้ถูกต้องตามหลักของภาษา C

     การเขียนคำสั่งเพื่อประกาศตัวแปร  ส่วนใหญ่แล้วจะเขียนไว้ในส่วนหัวของโปรแกรมก่อนฟังก์ชัน main ซึ่งการเขียนไว้ในตำแหน่งดังกล่าว  จะทำให้ตัวแปรเหล่านั้นสามารถเรียกใช้จากที่ใดก็ได้ในโปรแกรม  ดังตัวอย่าง

#include <stdio.h> 

int num;สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิดจำนวนเต็ม

float y;สร้างตัวแปรชื่อ y เพื่อเก็บข้อมูลชนิดเลขทศนิยม

char n;สร้างตัวแปรชื่อ n เพื่อเก็บข้อมูลชนิดตัวอักขระ

void main() 

     printf("Enter number : ") 

     scanf("%d",&num); 

     printf("Enter name : "); 

     scanf("%f",&n); 

     printf("Thank you"); 

หลักการตั้งชื่อตัวแปร

              ในการประกาศสร้างตัวแปรต้องมีการกำหนดชื่อ ซึ่งชื่อนั้นไม่ใช่ว่าจะตั้งให้สื่อความหมายถึงข้อมูลที่เก็บอย่างเดียว  โดยไม่คำนึงถึงอย่างอื่น   เนื่องจากภาษา C มีข้อกำหนดในการตั้งชื่อตัวแปรเอาไว้  แล้วถ้าตั้งชื่อผิดหลักการเหล่านี้  โปรแกรมจะไม่สามารถทำงานได้  หลักการตั้งชื่อตัวแปรในภาษา C แสดงไว้ดังนี้

1.ต้องขึ้นต้นด้วยตัวอักษร A-Z หรือ a-z หรือเครื่องหมาย _(Underscore) เท่านั้น

2.ภายในชื่อตัวแปรสามารถใช้ตัวอักษร A-Z หรือ a-z หรือตัวเลข0-9 หรือเครื่องหมาย _

3.ภายในชื่อห้ามเว้นชื่องว่าง หรือใช้สัญลักษณ์นอกเหนือจากข้อ 2

4.ตัวอักษรเลขหรือใหญ่มีความหมายแตกต่างกัน

5.ห้ามตั้งชื่อซ้ำกับคำสงวน (Reserved Word) ดังนี้

176e40c0-0968-45e3-909c-606913261b16_edited.jpg

วิดีโอการสอน

bottom of page