More Related Content Similar to งานทำBlog บทที่ 10 Similar to งานทำBlog บทที่ 10 (17) More from รัสนา สิงหปรีชา More from รัสนา สิงหปรีชา (20) งานทำBlog บทที่ 102. ฟังก์ชัน (Function) คือ ชุดคำสั่งที่รวมกันเป็นโปรแกรม
ย่อย ๆ ภำยในเครื่องหมำย {} ถูกสร้ำงขึ้นมำเพื่อทำงำนอย่ำงใด
อย่ำงหนึ่ง และมีกำรตั้งชื่อของฟังก์ชันเพื่อให้สะดวกต่อกำรเรียกใช้
งำน ตำมกฎกำรตั้งชื่อ โดยมีรูปแบบกำรใช้งำนแตกต่ำงกันคือ จะ
มีกำรรับหรือไม่รับข้อมูลจำกโปรแกรมที่เรียกใช้งำน และจะมีกำร
ส่งหรือไม่ส่งค่ำข้อมูลออกจำกฟังก์ชัน ซึ่งรูปแบบกำรใช้งำนต่ำง ๆ
ของฟังก์ชันจะขึ้นอยู่กับหน้ำที่และเป้ำหมำยกำรทำงำนของฟังก์ชัน
นั้น ๆ
4. ในกำรเขียนโปรแกรมภำษำ C มีโครงสร้ำงประกอบด้วยฟังก์ชัน
กำรทำงำน โดยเริ่มต้นกำรทำงำนที่ฟังก์ชัน main() นั้นสำมำรถเรียกใช้
ฟังก์ชันย่อยอื่น ๆ ได้ ไม่ว่ำจะเป็นฟังก์ชันที่ผู้ใช้สร้ำงขึ้นมำเอง (User Define Function) หรือฟังก์ชันมำตรฐำนที่ภำษำ C ได้สร้ำงมำให้แล้ว
(Standard Library Function) นอกจำกนี้ในฟังก์ชันย่อยก็ยังสำมำรถที่
จะเรียกใช้ฟังก์ชันย่อยอื่น ๆ ได้เช่นกัน เช่น ฟังก์ชัน main() เรียกใช้งำน
ฟังก์ชัน A และฟังก์ชัน B, ฟังก์ชัน A เรียกใช้งำนฟังก์ชัน C ฟังก์ชัน C
ฟังก์ชัน D และฟังก์ชัน F ส่วนฟังก์ชัน B เรียกใช้งำนฟังก์ชัน E และ
ฟังก์ชัน F เป็นต้น
5. ฟังก์ชันที่สร้ำงขึ้นเอง (User - Define Function)
ฟังก์ชันที่สร้ำงขึ้นเอง (User - Define Function) เป็น
ฟังก์ชันที่เรำเขียนโค้ดฟังก์ชันขึ้นมำใช้งำนเองตำมรูปแบบ
กำรสร้ำงฟังก์ชันของภำษำ C เพื่อให้ทำงำนอย่ำงใดอย่ำง
หนึ่ง ซึ่งแบ่งรูปแบบกำรสร้ำงฟังก์ชันได้ 4 รูปแบบ ดังนี้
1 ฟังก์ชันที่ไม่มีกำรคืนค่ำกลับ และไม่มีกำรรับค่ำพำรำมิเตอร์
2 ฟังก์ชันที่ไม่มีกำรคืนค่ำกลับ และมีกำรรับค่ำพำรำมิเตอร์
3 ฟังก์ชันที่มีกำรคืนค่ำกลับ แต่ไม่มีกำรรับค่ำพำรำมิเตอร์
4 ฟังก์ชันที่มีกำรคืนค่ำกลับ และมีกำรรับค่ำพำรำมิเตอร์
6. 1
ฟั ง ก์ ชั น ที่ ไ ม่ มี ก ำรคื น ค่ ำ กลั บ และไม่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Void Functions with No Parameters)
ฟังก์ชันที่มีกำรคืนค่ำกลับ และไม่มีกำรรับค่ำพำรำมิเตอร์ (Void
Functions with No Parameters) เป็นฟังก์ชันที่สร้ำงขึ้นโดยไม่มีกำรรับ
ค่ำข้อมูล (พำรำมิเตอร์) ใด ๆ จำกฟังก์ชันที่เรียกใช้งำน และเมื่อฟังก์ชัน
ทำงำนเสร็จจะไม่มีกำรคืนค่ำข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้งำน
ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชัน ดังนี้
void functionName (void)
{
statements;
}
โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องกำรสร้ำง
statements เป็นชุดคำสั่งภำยในฟังก์ชัน
7. 2 ฟั ง ก์ ชั น ที่ ไ ม่ มี ก ำรคื น ค่ ำ กลั บ แต่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Void Functions with Parameters)
ฟังก์ชันที่ไม่มีกำรคืนค่ำกลับ แต่มีกำรรับค่ำพำรำมิเตอร์ (Void
Functions with Parameters) เป็นฟังก์ชันที่สร้ำงขึ้นโดยมีกำรรับ
ค่ำข้อมูล (พำรำมิเตอร์) จำกฟังก์ชันที่เรียกใช้งำน และเมื่อฟังก์ชัน
ทำงำนเสร็จจะไม่มีกำรคืนค่ำข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้
งำน ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชันดังนี้
void functionName (typeParameter_1 varName_1, …, typeParameter_n varName_n)
{
statements;
}
9. 3
ฟั ง ก์ ชั น ที่ ไ ม่ มี ก ำรคื น ค่ ำ กลั บ แต่ ไ ม่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with No Parameters)
ฟั ง ก์ ชั น ที่ มี ก ำรคื น ค่ ำ กลั บ แต่ ไ ม่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with No Parameters) เป็นฟังก์ชันที่สร้ำงขึ้น
โดยไม่มีกำรรับค่ำข้อมูล (พำรำมิเตอร์) ใด ๆ จำกฟังก์ชันที่เรียกใช้งำน
และเมื่ อ ฟั ง ก์ ชั น ท ำงำนเสร็ จ จะมี ก ำรคื น ค่ ำ ข้ อ มู ล กลั บ ไปให้ ฟั ง ก์ ชั น ที่
เรียกใช้งำน ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชัน ดังนี้
typeReturn functionName (void)
{
statements;
return varNameReturn;
}
11. 3
ฟั ง ก์ ชั น ที่ มี ก ำรคื น ค่ ำ กลั บ และมี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with Parameters)
ฟั ง ก์ ชั น ที่ มี ก ำรคื น ค่ ำ กลั บ และมี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with Parameters) เป็นฟังก์ชันที่สร้ำงขึ้นโดย
มี ก ำรรับค่ำข้อมูล (พำรำมิ เตอร์ ) จำกฟั ง ก์ ชั น ที่เรีย กใช้งำน และเมื่ อ
ฟังก์ชันทำงำนเสร็จจะมีกำรคืนค่ำข้อมูลกลับไปให้ฟังก์ชันที่เรียกใช้งำน
ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชัน ดังนี้
typeReturn functionName (typeParameter_1 varName_1, …, typeParameter_n varName_n)
{
statements;
return varNameReturn;
}
13. กำรส่งค่ำผ่ำนพำรำมิเตอร์
สำมำรถทำได้ 2 รูปแบบคือ กำรส่งข้อมูลแบบส่งผ่ำนค่ำ และกำรส่งข้อมูล
แบบส่งผ่ำนตัวอ้ำงอิง
กำรส่ ง ข้ อ มู ล แบบส่ ง ผ่ ำ นค่ ำ
(Call by Value) คือ เมื่อมีกำร
เรียกใช้งำนฟังก์ชันและมีกำร
ส่ ง ข้ อ มู ล ใ ห้ ฟั ง ก์ ชั น โ ด ย
ฟั ง ก์ ชั น ที่ ถู ก เรี ย กใช้ ง ำนจะมี
ตัวแปรมำรับค่ำข้อมูล ซึ่งกำร
กระทำใด ๆ กับตัวแปรที่รับค่ำ
ข้อมูลในฟังก์ชัน จะไม่มีผลกับ
ค่ ำของตัว แปรที่ส่ง ให้ฟั งก์ชั น
นั้น ๆ
กำรท ำงำนของกำรส่ ง ข้ อ มู ล แบบ
ส่งผ่ำนตัวอ้ำงอิง (Call by Reference)
คือ เมื่อมีกำรเรียกใช้งำนฟังก์ชันและมี
กำรส่งข้อมูลให้ฟังก์ชัน โดยที่ฟังก์ชันที่
ถู ก เรี ย กใช้ ง ำนจะมี ตั ว แปรมำรั บ
ตำแหน่งที่อยู่ของข้อมูล หรือก็คือใช้ตัว
แปรพอยน์เตอร์มำรับตำแหน่งที่อยู่ของ
ข้อมูลนั่นเอง ซึ่งกำรกระทำใด ๆ กับ
ตัวแปรที่รับค่ำข้อมูลในฟังก์ชันจะมีผล
กับค่ำของตัวแปรที่ส่งให้ฟังก์ชันนั้น ๆ
ดัวย
14. ขอบเขตกำรทำงำนของตัวแปร
กำรใช้ ง ำนตั ว แปร มี ข อบเขตกำรใช้ ง ำนแตกต่ ำ งกั น 2
รูปแบบคือ
• Local Variable เป็นตัวแปรที่มีกำรประกำศใช้งำนภำยใน
ฟังก์ชัน ซึ่งไม่สำมำรถเรียกใช้งำนนอกฟังก์ชันได้
• Global Variables เป็นตัวแปรที่มีกำรประกำศใช้งำนตั้งแต่
ต้ น โปรแกรม ซึ่ ง สำมำรถเรี ย กใช้ ง ำนในส่ ว นใดของ
โปรแกรมก็ได้
19. ฟังก์ชันมำตรฐำนที่ภำษำ C ได้สร้ำงมำให้แล้ว
(Standard Library Function)
ฟังก์ชันมำตรฐำน เป็นฟังก์ชันที่ผู้ผลิตคอมไพล์เลอร์
เขี ย นขึ้ น เพื่ อ ผู้ ใ ช้ น ำไปใช้ ใ นกำรเขี ย นโปรแกรม
เพื่อให้เขียนโปรแกรมได้สะดวกและง่ำยขึ้น บำงครั้ง
อำจเรียกว่ำ library functions ปกติฟังก์ชันเหล่ำนี้
จะจัดเก็บไว้ใน header files ดังนั้นผู้ใช้จะต้องรู้ว่ำ
ฟังก์ชันนั้นอยู่ใน header file ใด จึงจะนำไปเรียกใช้
ในส่วนต้นของโปรแกรม ด้วย #include <header
file.h> ได้ เช่น #include<stdio.h>
20. ไลบรำลีฟังก์ชันกำรคำนวณทำงคณิตศำสตร์
จะอยู่ในไลบรำลี math.h
ไลบรำลีฟงก์ชน
ั ั
คำอธิบำย
sin(x)
เป็นฟังก์ชันหำค่ำ sin ของมุม โดยที่ x เป็นมุมที่ต้องกำรหำ มีหน่วยเป็นเรเดียน
cos(x)
เป็นฟังก์ชันหำค่ำ cos ของมุม โดยที่ x เป็นมุมที่ต้องกำรหำ มีหน่วยเป็นเรเดียน
tan(x)
เป็นฟังก์ชันหำค่ำ sin ของมุม โดยที่ x เป็นมุมที่ต้องกำรหำ มีหน่วยเป็นเรเดียน
sqrt(x)
เป็นฟังก์ชันหำค่ำรำกที่สอง โดยที่ x เป็นตัวแปรหรือค่ำคงที่ ซึ่งเป็นจำนวนเต็มบวก หรือ
จำนวนเต็มศูนย์
pow(x, y)
เป็นฟังก์ชันหำค่ำยกกำลัง โดยที่ x เป็นตัวแปรหรือค่ำคงที่ ซึ่งเป็นเลขฐำน และเป็นจำนวนเต็ม
บวก หรือจำนวนเต็มศูนย์
log(x)
เป็นฟังก์ชันหำค่ำ log ฐำน n โดยที่ x เป็นตัวแปรหรือค่ำคงที่ ซึ่งเป็นจำนวนเต็มบวก หรือ
จำนวนเต็มศูนย์
log10(x)
เป็นฟังก์ชันหำค่ำ log ฐำน 10 โดยที่ x เป็นตัวแปรหรือค่ำคงที่ ซึ่งเป็นจำนวนเต็มบวก หรือ
จำนวนเต็มศูนย์
fabs(x)
เป็นฟังก์ชันหำค่ำสมบูรณ์ โดยที่ x เป็นตัวแปรหรือค่ำคงที่
21. ไลบรำลีฟังก์ชันสำหรับข้อควำม (String Library)
จะอยู่ในไลบรำลี string.h
ไลบรำลีฟังก์ชน
ั
คำอธิบำย
strcpy(str1, str2)
เป็นฟังก์ชันสำหรับคัดลอกข้อควำมจำกตัวแปร str2 มำเก็บที่ตัวแปร str1
strcat(str1, str2)
เป็นฟังก์ชันสำหรับเชื่อมต่อข้อควำม โดยนำค่ำตัวแปร str2 มำต่อท้ำยตัวแปร
str1 และเก็บค่ำไว้ที่ตัวแปร str1
strcmp(str1, str2)
เป็นฟังก์ชันสำหรับเปรียบเทียบควำมยำวข้อควำม ถ้ำควำมยำวข้อควำมในตัวแปร
str1 ยำวกว่ำตัวแปร str2 จะได้ผลลัพธ์เป็นจริง
strcmpi(str1, str2) เป็นฟังก์ชันสำหรับเปรียบเทียบข้อควำม
•ถ้ำข้อควำมในตัวแปร str1 เหมือนตัวแปร str2 จะได้ผลลัพธ์เป็นศูนย์
•ถ้ำข้อควำมในตัวแปร str1 น้อยกว่ำตัวแปร str2 เมื่อเรียงลำดับตัวอักษรจะได้
ผลลัพธ์เป็นค่ำลบ
•ถ้ำข้อควำมในตัวแปร str1 มำกกว่ำตัวแปร str2 เมื่อเรียงลำดับตัวอักษรจะได้
ผลลัพธ์เป็นค่ำบวก
strlen(str)
เป็นฟังก์ชันสำหรับหำควำมยำวข้อควำม โดยที่ str เป็นตัวแปรชนิดข้อควำมหรือ
ค่ำคงที่
22. ที่มำ : คู่มืออบรมครูวิทยำศำสตร์ คณิตศำสตร์ คอมพิวเตอร์ โลก ดำรำศำสตร์ และอวกำศ ระดับมัธยมศึกษำตอนปลำย
หนังสือเรียนรำยวิชำเพิ่มเติม กำรเขียนโปรแกรมเบื้องต้นด้วยภำษำ C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภำษำ สำนักพิมพ์ IDC PREMIER