SlideShare a Scribd company logo
1 of 22
Download to read offline
ฟังก์ชัน (Function)
ฟังก์ชัน (Function)คือ ชุดคาสั่งที่รวมกันเป็นโปรแกรม ย่อย ๆ ภายในเครื่องหมาย {} ถูกสร้างขึ้นมาเพื่อทางานอย่างใด อย่างหนึ่ง และมีการตั้งชื่อของฟังก์ชันเพื่อให้สะดวกต่อการเรียกใช้ งาน ตามกฎการตั้งชื่อ โดยมีรูปแบบการใช้งานแตกต่างกันคือ จะ มีการรับหรือไม่รับข้อมูลจากโปรแกรมที่เรียกใช้งาน และจะมีการ ส่งหรือไม่ส่งค่าข้อมูลออกจากฟังก์ชัน ซึ่งรูปแบบการใช้งานต่าง ๆ ของฟังก์ชันจะขึ้นอยู่กับหน้าที่และเป้าหมายการทางานของฟังก์ชัน นั้น ๆ
แผนภาพแสดงการทางานของฟังก์ชัน 
Function main 
Function A 
Function B 
Function C 
Function D 
Function F 
Function E 
Function F
ในการเขียนโปรแกรมภาษา C มีโครงสร้างประกอบด้วยฟังก์ชัน การทางาน โดยเริ่มต้นการทางานที่ฟังก์ชัน main() นั้นสามารถเรียกใช้ ฟังก์ชันย่อยอื่น ๆ ได้ ไม่ว่าจะเป็นฟังก์ชันที่ผู้ใช้สร้างขึ้นมาเอง (User - Define Function)หรือฟังก์ชันมาตรฐานที่ภาษา C ได้สร้างมาให้แล้ว (Standard Library Function)นอกจากนี้ในฟังก์ชันย่อยก็ยังสามารถที่ จะเรียกใช้ฟังก์ชันย่อยอื่น ๆ ได้เช่นกัน เช่น ฟังก์ชัน main() เรียกใช้งาน ฟังก์ชัน A และฟังก์ชัน B, ฟังก์ชัน A เรียกใช้งานฟังก์ชัน C ฟังก์ชัน C ฟังก์ชัน D และฟังก์ชัน F ส่วนฟังก์ชัน B เรียกใช้งานฟังก์ชัน E และ ฟังก์ชัน F เป็นต้น
ฟังก์ชันที่สร้างขึ้นเอง(User -Define Function) 
1 
ฟังก์ชันที่ไม่มีการคืนค่ากลับ และไม่มีการรับค่าพารามิเตอร์ 
2 
ฟังก์ชันที่ไม่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ 
3 
ฟังก์ชันที่มีการคืนค่ากลับ แต่ไม่มีการรับค่าพารามิเตอร์ 
4 
ฟังก์ชันที่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ 
ฟังก์ชันที่สร้างขึ้นเอง(User -Define Function) เป็น ฟังก์ชันที่เราเขียนโค้ดฟังก์ชันขึ้นมาใช้งานเองตามรูปแบบ การสร้างฟังก์ชันของภาษา C เพื่อให้ทางานอย่างใดอย่าง หนึ่ง ซึ่งแบ่งรูปแบบการสร้างฟังก์ชันได้ 4 รูปแบบ ดังนี้
ฟังก์ชันที่มีการคืนค่ากลับ และไม่มีการรับค่าพารามิเตอร์ (Void Functions with No Parameters)เป็นฟังก์ชันที่สร้างขึ้นโดยไม่มีการรับ ค่าข้อมูล (พารามิเตอร์) ใด ๆ จากฟังก์ชันที่เรียกใช้งาน และเมื่อฟังก์ชัน ทางานเสร็จจะไม่มีการคืนค่าข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมีรูปแบบการสร้างฟังก์ชัน ดังนี้ 
1 
ฟังก์ชันที่ไม่มีการคืนค่ากลับ และไม่มีการรับค่าพารามิเตอร์ (Void Functions with No Parameters) 
void functionName(void) 
{ 
statements; 
} 
โดยที่functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง 
statements เป็นชุดคาสั่งภายในฟังก์ชัน
ฟังก์ชันที่ไม่มีการคืนค่ากลับ แต่มีการรับค่าพารามิเตอร์ (Void FunctionswithParameters)เป็นฟังก์ชันที่สร้างขึ้นโดยมีการรับ ค่าข้อมูล (พารามิเตอร์) จากฟังก์ชันที่เรียกใช้งาน และเมื่อฟังก์ชัน ทางานเสร็จจะไม่มีการคืนค่าข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้ งาน ซึ่งมีรูปแบบการสร้างฟังก์ชันดังนี้ 
2 
ฟังก์ชันที่ไม่มีการคืนค่ากลับ แต่มีการรับค่าพารามิเตอร์ (Void Functions with Parameters) 
void functionName(typeParameter_1 varName_1, …, typeParameter_nvarName_n) 
{ 
statements; 
}
โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง typeParameter_n เป็นชนิดข้อมูลที่ต้องการรับจากฟังก์ชันที่เรียกใช้งาน varName_n เป็นชื่อตัวแปรที่ใช้รับข้อมูลจากฟังก์ชันที่เรียกใช้งาน statements เป็นชุดคาสั่งภายในฟังก์ชัน
3 
ฟังก์ชันที่ไม่มีการคืนค่ากลับ แต่ไม่มีการรับค่าพารามิเตอร์ (Function Return Value with No Parameters) 
ฟังก์ชันที่มีการคืนค่ากลับ แต่ไม่มีการรับค่าพารามิเตอร์ (Function Return Value with No Parameters)เป็นฟังก์ชันที่สร้างขึ้น โดยไม่มีการรับค่าข้อมูล (พารามิเตอร์) ใด ๆ จากฟังก์ชันที่เรียกใช้งาน และเมื่อฟังก์ชันทางานเสร็จจะมีการคืนค่าข้อมูลกลับไปให้ฟังก์ชันที่ เรียกใช้งาน ซึ่งมีรูปแบบการสร้างฟังก์ชัน ดังนี้ 
typeReturnfunctionName(void) 
{ 
statements; 
return varNameReturn; 
}
โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง typeReturn เป็นชนิดข้อมูลที่ต้องการคืนค่ากลับให้ฟังก์ชันที่เรียกใช้ varNameReturn เป็นชื่อตัวแปรที่คืนค่ากลับให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมี ชนิดข้อมูลเดียวกันกับ typeReturn statements เป็นชุดคาสั่งภายในฟังก์ชัน
3 
ฟังก์ชันที่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ (Function Return Value with Parameters) 
ฟังก์ชันที่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ (Function Return Value with Parameters)เป็นฟังก์ชันที่สร้างขึ้นโดย มีการรับค่าข้อมูล (พารามิเตอร์) จากฟังก์ชันที่เรียกใช้งาน และเมื่อ ฟังก์ชันทางานเสร็จจะมีการคืนค่าข้อมูลกลับไปให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมีรูปแบบการสร้างฟังก์ชัน ดังนี้ 
typeReturnfunctionName(typeParameter_1 varName_1, …, typeParameter_nvarName_n) 
{ 
statements; 
return varNameReturn; 
}
โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง typeParameter_n เป็นชนิดข้อมูลที่ต้องการรับจากฟังก์ชันที่เรียกใช้varName-n เป็นชื่อตัวแปรที่ใช้รับข้อมูลจากฟังก์ชันที่เรียกใช้งาน typeReturnเป็นชนิดข้อมูลที่ต้องการคืนค่ากลับให้ฟังก์ชันที่เรียกใช้งาน statements เป็นชุดคาสั่งภายในฟังก์ชัน varNameReturn เป็นชื่อตัวแปรที่คืนค่ากลับมาให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมีชนิดข้อมูลเดียวกันกับ
การส่งค่าผ่านพารามิเตอร์ 
การส่งข้อมูลแบบส่งผ่านค่า (Call by Value)คือ เมื่อมีการ เรียกใช้งานฟังก์ชันและมีการ ส่งข้อมูลให้ฟังก์ชัน โดย ฟังก์ชันที่ถูกเรียกใช้งานจะมี ตัวแปรมารับค่าข้อมูล ซึ่งการ กระทาใด ๆ กับตัวแปรที่รับค่า ข้อมูลในฟังก์ชัน จะไม่มีผลกับ ค่าของตัวแปรที่ส่งให้ฟังก์ชัน นั้น ๆ 
สามารถทาได้ 2 รูปแบบคือ การส่งข้อมูลแบบส่งผ่านค่า และการส่งข้อมูล แบบส่งผ่านตัวอ้างอิง 
การทางานของการส่งข้อมูลแบบ ส่งผ่านตัวอ้างอิง (Call by Reference) คือ เมื่อมีการเรียกใช้งานฟังก์ชันและมี การส่งข้อมูลให้ฟังก์ชัน โดยที่ฟังก์ชันที่ ถูกเรียกใช้งานจะมีตัวแปรมารับ ตาแหน่งที่อยู่ของข้อมูล หรือก็คือใช้ตัว แปรพอยน์เตอร์มารับตาแหน่งที่อยู่ของ ข้อมูลนั่นเอง ซึ่งการกระทาใด ๆ กับ ตัวแปรที่รับค่าข้อมูลในฟังก์ชันจะมีผล กับค่าของตัวแปรที่ส่งให้ฟังก์ชันนั้น ๆ ดัวย
ขอบเขตการทางานของตัวแปร 
การใช้งานตัวแปร มีขอบเขตการใช้งานแตกต่างกัน 2 รูปแบบคือ 
•Local Variable เป็นตัวแปรที่มีการประกาศใช้งานภายใน ฟังก์ชัน ซึ่งไม่สามารถเรียกใช้งานนอกฟังก์ชันได้ 
•Global Variables เป็นตัวแปรที่มีการประกาศใช้งานตั้งแต่ ต้นโปรแกรม ซึ่งสามารถเรียกใช้งานในส่วนใดของ โปรแกรมก็ได้
ฟังก์ชันแบบเรียกตัวเอง (recursive function) 
ฟังก์ชันที่มีการเรียกตัวเองโดยให้พารามิเตอร์ที่แตกต่างกันออกไปเช่น การหา 
Factorial หรือการหา Fibonacci 
5! 
5 * 4! 
4 * 3! 
3 * 2! 2 * 1! 
1 
n! = n * (n-1)! factorial(n) = n * factorial(n-1)
#include<stdio.h> 
int factorial(int x); 
int main() 
{ 
int y = factorial(3); 
printf("3! = %d“, y); 
return 0; 
} 
int factorial(int x) 
{ 
if(x <= 1) 
return 1; 
else 
return x* factorial(x-1); 
}
ฟังก์ชันแบบเรียกตัวเอง (recursive function) 
#include<stdio.h> 
int factorial(int x); 
int main() 
{ 
int y = factorial(3); 
printf("3! = %d“, y); 
return 0; 
} 
int factorial(int x) 
{ 
if(x <= 1) 
return 1; 
else 
return x* factorial(x-1); 
}
ข้อควรระวัง : 
ฟังก์ชันแบบเรียกตัวเอง จาเป็นจะต้องมี if statement เพื่อ ใช้ในการตัดสินใจว่าฟังก์ชันจะเรียกตัวเองต่อไป หรือ หยุดเพื่อ ส่งค่ากลับ 
!
ฟังก์ชันมาตรฐานที่ภาษา C ได้สร้างมาให้แล้ว (Standard Library Function) 
ฟังก์ชันมาตรฐาน เป็นฟังก์ชันที่ผู้ผลิตคอมไพล์เลอร์ เขียนขึ้นเพื่อผู้ใช้นาไปใช้ในการเขียนโปรแกรม เพื่อให้เขียนโปรแกรมได้สะดวกและง่ายขึ้น บางครั้ง อาจเรียกว่า library functions ปกติฟังก์ชันเหล่านี้ จะจัดเก็บไว้ใน header files ดังนั้นผู้ใช้จะต้องรู้ว่า ฟังก์ชันนั้นอยู่ใน header file ใด จึงจะนาไปเรียกใช้ ในส่วนต้นของโปรแกรม ด้วย #include <header file.h> ได้ เช่น #include<stdio.h>
จะอยู่ในไลบราลี 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 เป็นตัวแปรหรือค่าคงที่
จะอยู่ในไลบราลี string.h 
ไลบราลีฟังก์ชันสาหรับข้อความ (String Library) 
ไลบราลีฟังก์ชัน 
คาอธิบาย 
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 เป็นตัวแปรชนิดข้อความหรือ ค่าคงที่
ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย 
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย 
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER

More Related Content

What's hot

ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานchanamanee Tiya
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซีmansuang1978
 
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซีบทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซีKomkai Pawuttanon
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน Kanchana Theugcharoon
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6Ploy StopDark
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.Ploy StopDark
 
59170249 ธิดารัตน์
59170249 ธิดารัตน์59170249 ธิดารัตน์
59170249 ธิดารัตน์Beam Suna
 

What's hot (20)

3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
7 2โครงสร้าง
7 2โครงสร้าง7 2โครงสร้าง
7 2โครงสร้าง
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
Chapter1
Chapter1Chapter1
Chapter1
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี
 
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซีบทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซี
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
 
โปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชันโปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชัน
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
 
59170249 ธิดารัตน์
59170249 ธิดารัตน์59170249 ธิดารัตน์
59170249 ธิดารัตน์
 
Pbl2
Pbl2Pbl2
Pbl2
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 

Viewers also liked

ภาคตัดกรวย
ภาคตัดกรวยภาคตัดกรวย
ภาคตัดกรวยguest00db6d99
 
การสลายสารอาหารระดับเซลล์
การสลายสารอาหารระดับเซลล์การสลายสารอาหารระดับเซลล์
การสลายสารอาหารระดับเซลล์พัน พัน
 
ความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชันความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชันguest5ec5625
 
สรุประบบการย่อยอาหารและการหายใจระดับเซลล์
สรุประบบการย่อยอาหารและการหายใจระดับเซลล์สรุประบบการย่อยอาหารและการหายใจระดับเซลล์
สรุประบบการย่อยอาหารและการหายใจระดับเซลล์กมลรัตน์ ฉิมพาลี
 
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456kanjana2536
 
ปลุกจิตคณิต ม.4 - ฟังก์ชั่น
ปลุกจิตคณิต ม.4 - ฟังก์ชั่นปลุกจิตคณิต ม.4 - ฟังก์ชั่น
ปลุกจิตคณิต ม.4 - ฟังก์ชั่นphotmathawee
 
ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์
ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์
ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์photmathawee
 

Viewers also liked (7)

ภาคตัดกรวย
ภาคตัดกรวยภาคตัดกรวย
ภาคตัดกรวย
 
การสลายสารอาหารระดับเซลล์
การสลายสารอาหารระดับเซลล์การสลายสารอาหารระดับเซลล์
การสลายสารอาหารระดับเซลล์
 
ความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชันความสัมพันธ์และฟังก์ชัน
ความสัมพันธ์และฟังก์ชัน
 
สรุประบบการย่อยอาหารและการหายใจระดับเซลล์
สรุประบบการย่อยอาหารและการหายใจระดับเซลล์สรุประบบการย่อยอาหารและการหายใจระดับเซลล์
สรุประบบการย่อยอาหารและการหายใจระดับเซลล์
 
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
[สรุปสูตร] สรุปสูตรคณิตศาสตร์เพิ่มเติม ม456
 
ปลุกจิตคณิต ม.4 - ฟังก์ชั่น
ปลุกจิตคณิต ม.4 - ฟังก์ชั่นปลุกจิตคณิต ม.4 - ฟังก์ชั่น
ปลุกจิตคณิต ม.4 - ฟังก์ชั่น
 
ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์
ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์
ปลุกจิตคณิต ม.4 - เรขาคณิตวิเคราะห์
 

Similar to 3.6 ฟังก์ชัน

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานPrapatsorn Keawnoun
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานWasin Kunnaphan
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานchanamanee Tiya
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานWasin Kunnaphan
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานKanchana Theugcharoon
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1nitchakan
 
ฟังก์ชั่น
ฟังก์ชั่นฟังก์ชั่น
ฟังก์ชั่นkikoe8
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1Latcha MaMiew
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานThachanok Plubpibool
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)Thachanok Plubpibool
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 

Similar to 3.6 ฟังก์ชัน (20)

งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
Presenter1234567
Presenter1234567Presenter1234567
Presenter1234567
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
Lesson5
Lesson5Lesson5
Lesson5
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
ฟังก์ชั่น
ฟังก์ชั่นฟังก์ชั่น
ฟังก์ชั่น
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
 
โครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา Cโครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา C
 
Presenter
PresenterPresenter
Presenter
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Computer Programming 1
Computer Programming 1Computer Programming 1
Computer Programming 1
 
Mindmapping
MindmappingMindmapping
Mindmapping
 

More from รัสนา สิงหปรีชา

บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบบทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบรัสนา สิงหปรีชา
 
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อกบทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อกรัสนา สิงหปรีชา
 
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์รัสนา สิงหปรีชา
 
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์รัสนา สิงหปรีชา
 
บทที่ 2 ข้อมูล สารสนเทศ และความรู้
บทที่ 2  ข้อมูล สารสนเทศ และความรู้บทที่ 2  ข้อมูล สารสนเทศ และความรู้
บทที่ 2 ข้อมูล สารสนเทศ และความรู้รัสนา สิงหปรีชา
 

More from รัสนา สิงหปรีชา (20)

บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบบทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
 
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อกบทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
 
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
 
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
 
3.1 องค์ประกอบของคอมพิวเตอร์
3.1 องค์ประกอบของคอมพิวเตอร์3.1 องค์ประกอบของคอมพิวเตอร์
3.1 องค์ประกอบของคอมพิวเตอร์
 
บทที่ 2 ข้อมูล สารสนเทศ และความรู้
บทที่ 2  ข้อมูล สารสนเทศ และความรู้บทที่ 2  ข้อมูล สารสนเทศ และความรู้
บทที่ 2 ข้อมูล สารสนเทศ และความรู้
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
 
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
 
คู่มือนักเรียน 3.1
คู่มือนักเรียน 3.1คู่มือนักเรียน 3.1
คู่มือนักเรียน 3.1
 
คู่มือครู
คู่มือครูคู่มือครู
คู่มือครู
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
3.7 การเขียนผังงาน
3.7 การเขียนผังงาน3.7 การเขียนผังงาน
3.7 การเขียนผังงาน
 
3.4 ตัวดำเนินการและนิพจน์
3.4 ตัวดำเนินการและนิพจน์3.4 ตัวดำเนินการและนิพจน์
3.4 ตัวดำเนินการและนิพจน์
 
3.3 ชนิดของข้อมูล
3.3 ชนิดของข้อมูล3.3 ชนิดของข้อมูล
3.3 ชนิดของข้อมูล
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
3.3 ชนิดของข้อมูล
3.3 ชนิดของข้อมูล3.3 ชนิดของข้อมูล
3.3 ชนิดของข้อมูล
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 

3.6 ฟังก์ชัน

  • 2. ฟังก์ชัน (Function)คือ ชุดคาสั่งที่รวมกันเป็นโปรแกรม ย่อย ๆ ภายในเครื่องหมาย {} ถูกสร้างขึ้นมาเพื่อทางานอย่างใด อย่างหนึ่ง และมีการตั้งชื่อของฟังก์ชันเพื่อให้สะดวกต่อการเรียกใช้ งาน ตามกฎการตั้งชื่อ โดยมีรูปแบบการใช้งานแตกต่างกันคือ จะ มีการรับหรือไม่รับข้อมูลจากโปรแกรมที่เรียกใช้งาน และจะมีการ ส่งหรือไม่ส่งค่าข้อมูลออกจากฟังก์ชัน ซึ่งรูปแบบการใช้งานต่าง ๆ ของฟังก์ชันจะขึ้นอยู่กับหน้าที่และเป้าหมายการทางานของฟังก์ชัน นั้น ๆ
  • 3. แผนภาพแสดงการทางานของฟังก์ชัน Function main Function A Function B Function C Function D Function F Function E Function F
  • 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) 1 ฟังก์ชันที่ไม่มีการคืนค่ากลับ และไม่มีการรับค่าพารามิเตอร์ 2 ฟังก์ชันที่ไม่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ 3 ฟังก์ชันที่มีการคืนค่ากลับ แต่ไม่มีการรับค่าพารามิเตอร์ 4 ฟังก์ชันที่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ ฟังก์ชันที่สร้างขึ้นเอง(User -Define Function) เป็น ฟังก์ชันที่เราเขียนโค้ดฟังก์ชันขึ้นมาใช้งานเองตามรูปแบบ การสร้างฟังก์ชันของภาษา C เพื่อให้ทางานอย่างใดอย่าง หนึ่ง ซึ่งแบ่งรูปแบบการสร้างฟังก์ชันได้ 4 รูปแบบ ดังนี้
  • 6. ฟังก์ชันที่มีการคืนค่ากลับ และไม่มีการรับค่าพารามิเตอร์ (Void Functions with No Parameters)เป็นฟังก์ชันที่สร้างขึ้นโดยไม่มีการรับ ค่าข้อมูล (พารามิเตอร์) ใด ๆ จากฟังก์ชันที่เรียกใช้งาน และเมื่อฟังก์ชัน ทางานเสร็จจะไม่มีการคืนค่าข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมีรูปแบบการสร้างฟังก์ชัน ดังนี้ 1 ฟังก์ชันที่ไม่มีการคืนค่ากลับ และไม่มีการรับค่าพารามิเตอร์ (Void Functions with No Parameters) void functionName(void) { statements; } โดยที่functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง statements เป็นชุดคาสั่งภายในฟังก์ชัน
  • 7. ฟังก์ชันที่ไม่มีการคืนค่ากลับ แต่มีการรับค่าพารามิเตอร์ (Void FunctionswithParameters)เป็นฟังก์ชันที่สร้างขึ้นโดยมีการรับ ค่าข้อมูล (พารามิเตอร์) จากฟังก์ชันที่เรียกใช้งาน และเมื่อฟังก์ชัน ทางานเสร็จจะไม่มีการคืนค่าข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้ งาน ซึ่งมีรูปแบบการสร้างฟังก์ชันดังนี้ 2 ฟังก์ชันที่ไม่มีการคืนค่ากลับ แต่มีการรับค่าพารามิเตอร์ (Void Functions with Parameters) void functionName(typeParameter_1 varName_1, …, typeParameter_nvarName_n) { statements; }
  • 8. โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง typeParameter_n เป็นชนิดข้อมูลที่ต้องการรับจากฟังก์ชันที่เรียกใช้งาน varName_n เป็นชื่อตัวแปรที่ใช้รับข้อมูลจากฟังก์ชันที่เรียกใช้งาน statements เป็นชุดคาสั่งภายในฟังก์ชัน
  • 9. 3 ฟังก์ชันที่ไม่มีการคืนค่ากลับ แต่ไม่มีการรับค่าพารามิเตอร์ (Function Return Value with No Parameters) ฟังก์ชันที่มีการคืนค่ากลับ แต่ไม่มีการรับค่าพารามิเตอร์ (Function Return Value with No Parameters)เป็นฟังก์ชันที่สร้างขึ้น โดยไม่มีการรับค่าข้อมูล (พารามิเตอร์) ใด ๆ จากฟังก์ชันที่เรียกใช้งาน และเมื่อฟังก์ชันทางานเสร็จจะมีการคืนค่าข้อมูลกลับไปให้ฟังก์ชันที่ เรียกใช้งาน ซึ่งมีรูปแบบการสร้างฟังก์ชัน ดังนี้ typeReturnfunctionName(void) { statements; return varNameReturn; }
  • 10. โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง typeReturn เป็นชนิดข้อมูลที่ต้องการคืนค่ากลับให้ฟังก์ชันที่เรียกใช้ varNameReturn เป็นชื่อตัวแปรที่คืนค่ากลับให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมี ชนิดข้อมูลเดียวกันกับ typeReturn statements เป็นชุดคาสั่งภายในฟังก์ชัน
  • 11. 3 ฟังก์ชันที่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ (Function Return Value with Parameters) ฟังก์ชันที่มีการคืนค่ากลับ และมีการรับค่าพารามิเตอร์ (Function Return Value with Parameters)เป็นฟังก์ชันที่สร้างขึ้นโดย มีการรับค่าข้อมูล (พารามิเตอร์) จากฟังก์ชันที่เรียกใช้งาน และเมื่อ ฟังก์ชันทางานเสร็จจะมีการคืนค่าข้อมูลกลับไปให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมีรูปแบบการสร้างฟังก์ชัน ดังนี้ typeReturnfunctionName(typeParameter_1 varName_1, …, typeParameter_nvarName_n) { statements; return varNameReturn; }
  • 12. โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง typeParameter_n เป็นชนิดข้อมูลที่ต้องการรับจากฟังก์ชันที่เรียกใช้varName-n เป็นชื่อตัวแปรที่ใช้รับข้อมูลจากฟังก์ชันที่เรียกใช้งาน typeReturnเป็นชนิดข้อมูลที่ต้องการคืนค่ากลับให้ฟังก์ชันที่เรียกใช้งาน statements เป็นชุดคาสั่งภายในฟังก์ชัน varNameReturn เป็นชื่อตัวแปรที่คืนค่ากลับมาให้ฟังก์ชันที่เรียกใช้งาน ซึ่งมีชนิดข้อมูลเดียวกันกับ
  • 13. การส่งค่าผ่านพารามิเตอร์ การส่งข้อมูลแบบส่งผ่านค่า (Call by Value)คือ เมื่อมีการ เรียกใช้งานฟังก์ชันและมีการ ส่งข้อมูลให้ฟังก์ชัน โดย ฟังก์ชันที่ถูกเรียกใช้งานจะมี ตัวแปรมารับค่าข้อมูล ซึ่งการ กระทาใด ๆ กับตัวแปรที่รับค่า ข้อมูลในฟังก์ชัน จะไม่มีผลกับ ค่าของตัวแปรที่ส่งให้ฟังก์ชัน นั้น ๆ สามารถทาได้ 2 รูปแบบคือ การส่งข้อมูลแบบส่งผ่านค่า และการส่งข้อมูล แบบส่งผ่านตัวอ้างอิง การทางานของการส่งข้อมูลแบบ ส่งผ่านตัวอ้างอิง (Call by Reference) คือ เมื่อมีการเรียกใช้งานฟังก์ชันและมี การส่งข้อมูลให้ฟังก์ชัน โดยที่ฟังก์ชันที่ ถูกเรียกใช้งานจะมีตัวแปรมารับ ตาแหน่งที่อยู่ของข้อมูล หรือก็คือใช้ตัว แปรพอยน์เตอร์มารับตาแหน่งที่อยู่ของ ข้อมูลนั่นเอง ซึ่งการกระทาใด ๆ กับ ตัวแปรที่รับค่าข้อมูลในฟังก์ชันจะมีผล กับค่าของตัวแปรที่ส่งให้ฟังก์ชันนั้น ๆ ดัวย
  • 14. ขอบเขตการทางานของตัวแปร การใช้งานตัวแปร มีขอบเขตการใช้งานแตกต่างกัน 2 รูปแบบคือ •Local Variable เป็นตัวแปรที่มีการประกาศใช้งานภายใน ฟังก์ชัน ซึ่งไม่สามารถเรียกใช้งานนอกฟังก์ชันได้ •Global Variables เป็นตัวแปรที่มีการประกาศใช้งานตั้งแต่ ต้นโปรแกรม ซึ่งสามารถเรียกใช้งานในส่วนใดของ โปรแกรมก็ได้
  • 15. ฟังก์ชันแบบเรียกตัวเอง (recursive function) ฟังก์ชันที่มีการเรียกตัวเองโดยให้พารามิเตอร์ที่แตกต่างกันออกไปเช่น การหา Factorial หรือการหา Fibonacci 5! 5 * 4! 4 * 3! 3 * 2! 2 * 1! 1 n! = n * (n-1)! factorial(n) = n * factorial(n-1)
  • 16. #include<stdio.h> int factorial(int x); int main() { int y = factorial(3); printf("3! = %d“, y); return 0; } int factorial(int x) { if(x <= 1) return 1; else return x* factorial(x-1); }
  • 17. ฟังก์ชันแบบเรียกตัวเอง (recursive function) #include<stdio.h> int factorial(int x); int main() { int y = factorial(3); printf("3! = %d“, y); return 0; } int factorial(int x) { if(x <= 1) return 1; else return x* factorial(x-1); }
  • 18. ข้อควรระวัง : ฟังก์ชันแบบเรียกตัวเอง จาเป็นจะต้องมี if statement เพื่อ ใช้ในการตัดสินใจว่าฟังก์ชันจะเรียกตัวเองต่อไป หรือ หยุดเพื่อ ส่งค่ากลับ !
  • 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.h ไลบราลีฟังก์ชันสาหรับข้อความ (String Library) ไลบราลีฟังก์ชัน คาอธิบาย 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