บทที่  7  ฟังก์ชันในภาษา  C
 
บทที่ 1  ความรู้พื้นฐานการเขียน
โปรแกรม
บทที่ 2  ความรู้เบื้องต้นเกี่ยวกับ
โปรแกรมภาษา C
บทที่  3  ฟังก์ชันพื้นฐานการ
เขียนโปรแกรมภาษา  C
บทที่  4  คำสั่งควบคุมการทำงาน
ของโปรแกรม
บทที่  5  ตัวแปรชุดและสตริง 
บทที่  6  พอยน์เตอร์  
บทที่  7  ฟังก์ชันในภาษา  C
  7.1 ฟังก์ชันมาตราฐาน
  7.2 ฟังก์ชันที่เขียนขึ้น
  7.3 สรุปท้ายบท 
บทที่  8  ข้อมูลแบบโครงสร้าง
และยูเนียน
บทที่  9  แฟ้มข้อมูลใน
ภาษา  C 
 
 
 


7.3
สรุปท้ายบท

            ฟังก์ชันในภาษา  C  ที่กล่าวถึงมี  2  ประเภทหลัก ๆ ดังนี้

            1. ฟังก์ชันมาตรฐาน  (standard  functions)  เป็นฟังก์ชันที่บริษัทที่ผลิตภาษา  C  ได้เขียนขึ้นและเก็บไว้ใน  header  file  ภาษา  C  คือเก็บไว้ในแฟ้มที่มีนามสกุล  *.h  ต่าง ๆ  ฟังก์ชันมาตรฐานที่สำคัญ ๆ มีดังนี้

            1.1 ฟังก์ชันทางคณิตศาสตร์  (mathematic  functions)  เป็นฟังก์ชันที่ใช้สำหรับการคำนวณทางคณิตศาสตร์  และก่อนที่จะใช้ฟังก์ชันประเภทนี้  จะต้องใช้คำสั่ง   #include   <math.h>  แทรกอยู่ตอนต้นของโปรแกรม  และตัวแปรที่จะใช้ฟังก์ชันประเภทนี้จะต้องมีชนิด  (type)  เป็น  double  เนื่องจากผลลัพธ์ที่ได้จากฟังก์ชันประเภทนี้จะได้ค่าส่งกลับของข้อมูลเป็น  double  เช่นกัน  ฟังก์ชันทางคณิตศาสตร์ที่สำคัญ  เช่น 
ฟังก์ชัน  acos(x)  เป็นฟังก์ชันที่ใช้คำนวณหาค่า  arc   cosine  ของ  x  โดยที่  x  เป็นค่ามุมในหน่วยเรเดียน  (radian)
ฟังก์ชัน  exp(x)  เป็นฟังก์ชันที่ใช้หาค่า  ex  โดยที่  x  เป็นค่าคงที่หรือตัวแปรที่จะใช้เป็นค่ายกกำลังของ  e  โดยที่  e  มีค่าประมาณ  2.718282
ฟังก์ชัน  log10(x)  เป็นฟังก์ชันที่ใช้หาค่า  log  ฐาน  10  ของค่าคงที่หรือตัวแปร  x  โดยที่  x  เป็นค่าคงที่หรือตัวแปรที่มีค่าเป็นลบไม่ได้

            1.2 ฟังก์ชันเกี่ยวกับตัวอักษร (character  functions)  เป็นฟังก์ชันที่ใช้กับข้อมูลที่มีชนิดเป็น  single   char  (ใช้เนื้อที่  1  byte)  เท่านั้น  และก่อนที่จะใช้ฟังก์ชันประเภทนี้จะต้องใช้คำสั่ง #include<ctype.h> แทรกอยู่ตอนต้นของโปรแกรม  จึงจะสามารถเรียกใช้ฟังก์ชันประเภทนี้ได้   ฟังก์ชันเกี่ยวกับตัวอักษรที่สำคัญ  เช่น  isalnum(ch),  isalpha(ch), isdigit(ch), islower(ch), isupper(ch), tolower(ch), toupper(ch),
isspace(ch), isxdigit(ch)

            1.3 ฟังก์ชันเกี่ยวกับสตริง  (string  functions)  เป็นฟังก์ชันที่ใช้กับข้อมูลชนิดสตริง  (string)  โดยก่อนที่จะใช้ฟังก์ชันประเภทนี้จะต้องใช้คำสั่ง #include<string.h> แทรกอยู่ตอนต้นของโปรแกรมเสียก่อน จึงจะเรียกใช้ฟังก์ชันประเภทนี้ได้   ฟังก์ชันเกี่ยวกับสตริงที่สำคัญ  เช่น  strlen(s), strcmp(s1,s2), strcpy(s), strcat(s1,s2)

            1.4 ฟังก์ชันทั่วไปที่ใช้งานบ่อย ๆ  เช่น
ฟังก์ชัน  clrscr( )  เป็นฟังก์ชันที่ใช้ในการลบข้อมูลออกจากจอภาพแบบ  text  mode
ฟังก์ชัน  gotoxy(x,y)  เป็นฟังก์ชันที่ใช้คำสั่งให้ตัวชี้ตำแหน่ง  (cursor)  เคลื่อนที่ไปยังตำแหน่งที่ระบุไว้บนจอภาพ
ฟังก์ชัน  sizeof(x)  เป็นฟังก์ชันที่ใช้ตรวจสอบขนาดของตัวแปร  x  ว่ามีขนาดกี่  Byte

 

            2. ฟังก์ชันที่เขียนขึ้น  (user  defined  functions)  ฟังก์ชันที่เขียนขึ้นหรือบางครั้งเราเรียกว่าโปรแกรมย่อย  คือ  ส่วนของโปรแกรมที่เขียนขึ้นเพื่อให้สามารถทำงานได้อย่างใดอย่างหนึ่งตามความต้องการ  สำหรับผู้เขียนโปรแกรมภาษา  C  นิยมเรียกโปรแกรมย่อยว่า  ”ฟังก์ชัน”  ส่วนผู้ที่เขียนโปรแกรมภาษาปาสคาล  โคบอล  ฟอร์แทรน  เบสิก  นิยมเรียกว่า  ”โปรแกรมย่อย”  อย่างไรก็ตามโปรแกรมย่อยหรือฟังก์ชันก็มีลักษณะการทำงานเหมือนกันเพียงแต่เรียกชื่อต่างกันเท่านั้นสำหรับในเอกสารนี้จะเรียกว่า  ฟังก์ชัน  ซึ่งในเนื้อหาส่วนนี้จะเป็นการเรียนรู้เกี่ยวกับฟังชันที่เขียนขึ้น  (user  define  functions  :  UDF)  ตั้งแต่การประกาศรูปแบบฟังก์ชัน  การเขียนตัวฟังก์ชันและการเรียกใช้ฟังก์ชันเพื่อให้สามารถใช้ฟังก์ชันที่เขียนขึ้นในโปรแกรมภาษา  C  ได้อย่างถูกต้อง
ในการเขียนฟังก์ชันขึ้นมาใช้งานอย่างใดอย่างหนึ่ง  เราสามารถจำแนกฟังก์ชันที่เขียนขึ้นตามลักษณะการส่งค่าไปและรับค่ากลับได้  3  แบบ  คือ
                        2.1 ฟังก์ชันที่ไม่มีการส่งค่าไปและรับค่ากลับ
                        2.2 ฟังก์ชันที่มีการส่งค่าไปแต่ไม่มีรับค่ากลับ
                        2.3 ฟังก์ชันที่มีทั้งการส่งค่าไปและรับค่ากลับ
            ซึ่งฟังก์ชันแต่ละแบบก็เหมาะกับงานแต่ละอย่าง  ดังนั้นผู้เขียนฟังก์ชันจึงจำเป็นที่จะต้องศึกษาทำความเข้าใจฟังก์ชันแต่ละแบบ  เพื่อจะได้มาประยุกต์ใช้กับงานได้อย่างเหมาะสม

 
งานพัฒนาและบริการสื่ออิเล็กทรอนิกส์   มหาวิทยาลัยราชภัฏสกลนคร
680 ม. 11 ถ.นิตโย ต.ธาตเชิงชุม อ.เมือง จ.สกลนคร รหัสไปรษณีย์ 47000 โทรศัพท์ 0-4271-1375 โทรสาร 0-4271-3063
Copyright ? 2006 Sakon Nakhon Rajabhat University. All rights reserved.