SlideShare a Scribd company logo
1 of 22
Download to read offline
ฟังก์ชัน (Function)
ฟังก์ชัน (Function) คือ ชุดคำสั่งที่รวมกันเป็นโปรแกรม
ย่อย ๆ ภำยในเครื่องหมำย {} ถูกสร้ำงขึ้นมำเพื่อทำงำนอย่ำงใด
อย่ำงหนึ่ง และมีกำรตั้งชื่อของฟังก์ชันเพื่อให้สะดวกต่อกำรเรียกใช้
งำน ตำมกฎกำรตั้งชื่อ โดยมีรูปแบบกำรใช้งำนแตกต่ำงกันคือ จะ
มีกำรรับหรือไม่รับข้อมูลจำกโปรแกรมที่เรียกใช้งำน และจะมีกำร
ส่งหรือไม่ส่งค่ำข้อมูลออกจำกฟังก์ชัน ซึ่งรูปแบบกำรใช้งำนต่ำง ๆ
ของฟังก์ชันจะขึ้นอยู่กับหน้ำที่และเป้ำหมำยกำรทำงำนของฟังก์ชัน
นั้น ๆ
Function main
Function A
Function C

Function D

Function B
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)
ฟังก์ชันที่สร้ำงขึ้นเอง (User - Define Function) เป็น
ฟังก์ชันที่เรำเขียนโค้ดฟังก์ชันขึ้นมำใช้งำนเองตำมรูปแบบ
กำรสร้ำงฟังก์ชันของภำษำ C เพื่อให้ทำงำนอย่ำงใดอย่ำง
หนึ่ง ซึ่งแบ่งรูปแบบกำรสร้ำงฟังก์ชันได้ 4 รูปแบบ ดังนี้

1 ฟังก์ชันที่ไม่มีกำรคืนค่ำกลับ และไม่มีกำรรับค่ำพำรำมิเตอร์
2 ฟังก์ชันที่ไม่มีกำรคืนค่ำกลับ และมีกำรรับค่ำพำรำมิเตอร์
3 ฟังก์ชันที่มีกำรคืนค่ำกลับ แต่ไม่มีกำรรับค่ำพำรำมิเตอร์
4 ฟังก์ชันที่มีกำรคืนค่ำกลับ และมีกำรรับค่ำพำรำมิเตอร์
1

ฟั ง ก์ ชั น ที่ ไ ม่ มี ก ำรคื น ค่ ำ กลั บ และไม่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Void Functions with No Parameters)

ฟังก์ชันที่มีกำรคืนค่ำกลับ และไม่มีกำรรับค่ำพำรำมิเตอร์ (Void
Functions with No Parameters) เป็นฟังก์ชันที่สร้ำงขึ้นโดยไม่มีกำรรับ
ค่ำข้อมูล (พำรำมิเตอร์) ใด ๆ จำกฟังก์ชันที่เรียกใช้งำน และเมื่อฟังก์ชัน
ทำงำนเสร็จจะไม่มีกำรคืนค่ำข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้งำน
ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชัน ดังนี้
void functionName (void)
{
statements;
}
โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องกำรสร้ำง
statements เป็นชุดคำสั่งภำยในฟังก์ชัน
2 ฟั ง ก์ ชั น ที่ ไ ม่ มี ก ำรคื น ค่ ำ กลั บ แต่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Void Functions with Parameters)
ฟังก์ชันที่ไม่มีกำรคืนค่ำกลับ แต่มีกำรรับค่ำพำรำมิเตอร์ (Void
Functions with Parameters) เป็นฟังก์ชันที่สร้ำงขึ้นโดยมีกำรรับ
ค่ำข้อมูล (พำรำมิเตอร์) จำกฟังก์ชันที่เรียกใช้งำน และเมื่อฟังก์ชัน
ทำงำนเสร็จจะไม่มีกำรคืนค่ำข้อมูลใด ๆ กลับไปให้ฟังก์ชันที่เรียกใช้
งำน ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชันดังนี้
void functionName (typeParameter_1 varName_1, …, typeParameter_n varName_n)
{
statements;
}
โดยที่
functionName
typeParameter_n
varName_n
statements

เป็นชื่อฟังก์ชันที่ต้องกำรสร้ำง
เป็นชนิดข้อมูลที่ต้องกำรรับจำกฟังก์ชันที่เรียกใช้งำน
เป็นชื่อตัวแปรที่ใช้รับข้อมูลจำกฟังก์ชันที่เรียกใช้งำน
เป็นชุดคำสั่งภำยในฟังก์ชัน
3

ฟั ง ก์ ชั น ที่ ไ ม่ มี ก ำรคื น ค่ ำ กลั บ แต่ ไ ม่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with No Parameters)

ฟั ง ก์ ชั น ที่ มี ก ำรคื น ค่ ำ กลั บ แต่ ไ ม่ มี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with No Parameters) เป็นฟังก์ชันที่สร้ำงขึ้น
โดยไม่มีกำรรับค่ำข้อมูล (พำรำมิเตอร์) ใด ๆ จำกฟังก์ชันที่เรียกใช้งำน
และเมื่ อ ฟั ง ก์ ชั น ท ำงำนเสร็ จ จะมี ก ำรคื น ค่ ำ ข้ อ มู ล กลั บ ไปให้ ฟั ง ก์ ชั น ที่
เรียกใช้งำน ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชัน ดังนี้

typeReturn functionName (void)
{
statements;
return varNameReturn;
}
โดยที่
functionName เป็นชื่อฟังก์ชันที่ต้องกำรสร้ำง
typeReturn เป็นชนิดข้อมูลที่ต้องกำรคืนค่ำกลับให้ฟังก์ชันที่เรียกใช้
varNameReturn เป็นชื่อตัวแปรที่คืนค่ำกลับให้ฟังก์ชันที่เรียกใช้งำน ซึ่งมี
ชนิดข้อมูลเดียวกันกับ typeReturn
statements เป็นชุดคำสั่งภำยในฟังก์ชัน
3

ฟั ง ก์ ชั น ที่ มี ก ำรคื น ค่ ำ กลั บ และมี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with Parameters)

ฟั ง ก์ ชั น ที่ มี ก ำรคื น ค่ ำ กลั บ และมี ก ำรรั บ ค่ ำ พำรำมิ เ ตอร์
(Function Return Value with Parameters) เป็นฟังก์ชันที่สร้ำงขึ้นโดย
มี ก ำรรับค่ำข้อมูล (พำรำมิ เตอร์ ) จำกฟั ง ก์ ชั น ที่เรีย กใช้งำน และเมื่ อ
ฟังก์ชันทำงำนเสร็จจะมีกำรคืนค่ำข้อมูลกลับไปให้ฟังก์ชันที่เรียกใช้งำน
ซึ่งมีรูปแบบกำรสร้ำงฟังก์ชัน ดังนี้
typeReturn functionName (typeParameter_1 varName_1, …, typeParameter_n varName_n)
{
statements;
return varNameReturn;
}
โดยที่
functionName
เป็นชื่อฟังก์ชันที่ต้องกำรสร้ำง
typeParameter_n เป็นชนิดข้อมูลที่ต้องกำรรับจำกฟังก์ชันที่เรียกใช้varName-n
เป็นชื่อตัวแปรที่ใช้รับข้อมูลจำกฟังก์ชันที่เรียกใช้งำน
typeReturn
เป็นชนิดข้อมูลที่ต้องกำรคืนค่ำกลับให้ฟังก์ชันที่เรียกใช้งำน
statements
เป็นชุดคำสั่งภำยในฟังก์ชัน
varNameReturn เป็นชื่อตัวแปรที่คืนค่ำกลับมำให้ฟังก์ชันที่เรียกใช้งำน
ซึ่งมีชนิดข้อมูลเดียวกันกับ
กำรส่งค่ำผ่ำนพำรำมิเตอร์
สำมำรถทำได้ 2 รูปแบบคือ กำรส่งข้อมูลแบบส่งผ่ำนค่ำ และกำรส่งข้อมูล
แบบส่งผ่ำนตัวอ้ำงอิง
กำรส่ ง ข้ อ มู ล แบบส่ ง ผ่ ำ นค่ ำ
(Call by Value) คือ เมื่อมีกำร
เรียกใช้งำนฟังก์ชันและมีกำร
ส่ ง ข้ อ มู ล ใ ห้ ฟั ง ก์ ชั น โ ด ย
ฟั ง ก์ ชั น ที่ ถู ก เรี ย กใช้ ง ำนจะมี
ตัวแปรมำรับค่ำข้อมูล ซึ่งกำร
กระทำใด ๆ กับตัวแปรที่รับค่ำ
ข้อมูลในฟังก์ชัน จะไม่มีผลกับ
ค่ ำของตัว แปรที่ส่ง ให้ฟั งก์ชั น
นั้น ๆ

กำรท ำงำนของกำรส่ ง ข้ อ มู ล แบบ
ส่งผ่ำนตัวอ้ำงอิง (Call by Reference)
คือ เมื่อมีกำรเรียกใช้งำนฟังก์ชันและมี
กำรส่งข้อมูลให้ฟังก์ชัน โดยที่ฟังก์ชันที่
ถู ก เรี ย กใช้ ง ำนจะมี ตั ว แปรมำรั บ
ตำแหน่งที่อยู่ของข้อมูล หรือก็คือใช้ตัว
แปรพอยน์เตอร์มำรับตำแหน่งที่อยู่ของ
ข้อมูลนั่นเอง ซึ่งกำรกระทำใด ๆ กับ
ตัวแปรที่รับค่ำข้อมูลในฟังก์ชันจะมีผล
กับค่ำของตัวแปรที่ส่งให้ฟังก์ชันนั้น ๆ
ดัวย
ขอบเขตกำรทำงำนของตัวแปร

กำรใช้ ง ำนตั ว แปร มี ข อบเขตกำรใช้ ง ำนแตกต่ ำ งกั น 2
รูปแบบคือ
• Local Variable เป็นตัวแปรที่มีกำรประกำศใช้งำนภำยใน
ฟังก์ชัน ซึ่งไม่สำมำรถเรียกใช้งำนนอกฟังก์ชันได้
• Global Variables เป็นตัวแปรที่มีกำรประกำศใช้งำนตั้งแต่
ต้ น โปรแกรม ซึ่ ง สำมำรถเรี ย กใช้ ง ำนในส่ ว นใดของ
โปรแกรมก็ได้
ฟังก์ชันแบบเรียกตัวเอง (recursive function)
ฟังก์ชันที่มีกำรเรียกตัวเองโดยให้พำรำมิเตอร์ที่แตกต่ำงกันออกไป เช่น กำรหำ
Factorial หรือกำรหำ Fibonacci
n! = n * (n-1)!
factorial(n) = n * factorial(n-1)
5!
5 * 4!
4 * 3!
3 * 2!
2 * 1!
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 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 เป็นตัวแปรชนิดข้อควำมหรือ
ค่ำคงที่
ที่มำ : คู่มืออบรมครูวิทยำศำสตร์ คณิตศำสตร์ คอมพิวเตอร์ โลก ดำรำศำสตร์ และอวกำศ ระดับมัธยมศึกษำตอนปลำย
หนังสือเรียนรำยวิชำเพิ่มเติม กำรเขียนโปรแกรมเบื้องต้นด้วยภำษำ C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภำษำ สำนักพิมพ์ IDC PREMIER

More Related Content

What's hot

โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)Boonwiset Seaho
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1Latcha MaMiew
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีNattawut Kathaisong
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีNattawut Kathaisong
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6Ploy StopDark
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.Ploy StopDark
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานchanamanee Tiya
 
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐานโปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐานWorapod Khomkham
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอมIce Ice
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSarocha Makranit
 

What's hot (18)

โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซี
 
Lesson5
Lesson5Lesson5
Lesson5
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
กลุ่ม 6
กลุ่ม 6กลุ่ม 6
กลุ่ม 6
 
Presenter
PresenterPresenter
Presenter
 
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐานโปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอม
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 

Viewers also liked

Viewers also liked (20)

Trabajo liliana
Trabajo lilianaTrabajo liliana
Trabajo liliana
 
Deuda Previsional (El Problema)
Deuda Previsional (El Problema)Deuda Previsional (El Problema)
Deuda Previsional (El Problema)
 
La importancia de trabajar juntos final1
La importancia de trabajar juntos final1La importancia de trabajar juntos final1
La importancia de trabajar juntos final1
 
Pomologi (tanaman buah)
Pomologi (tanaman buah)Pomologi (tanaman buah)
Pomologi (tanaman buah)
 
áLbum familiar 2011
áLbum familiar 2011áLbum familiar 2011
áLbum familiar 2011
 
Android app-development
Android app-developmentAndroid app-development
Android app-development
 
Juego
JuegoJuego
Juego
 
Aki Ta Juan Parte 3
Aki Ta Juan Parte 3Aki Ta Juan Parte 3
Aki Ta Juan Parte 3
 
Döhler incentiva leitura
Döhler incentiva leitura Döhler incentiva leitura
Döhler incentiva leitura
 
Professora
ProfessoraProfessora
Professora
 
Busca e Social Media: Alinhando estratégias - Gustavo Zaiantchick - Social Me...
Busca e Social Media: Alinhando estratégias - Gustavo Zaiantchick - Social Me...Busca e Social Media: Alinhando estratégias - Gustavo Zaiantchick - Social Me...
Busca e Social Media: Alinhando estratégias - Gustavo Zaiantchick - Social Me...
 
Patrocinio | Wantudu
Patrocinio | WantuduPatrocinio | Wantudu
Patrocinio | Wantudu
 
Clase nº 5 etica y rse
Clase nº 5 etica y rseClase nº 5 etica y rse
Clase nº 5 etica y rse
 
Que pregunta no te has hecho
Que pregunta no te has hechoQue pregunta no te has hecho
Que pregunta no te has hecho
 
Programa Workshop Indice Sintetico de Sostenibilidad
Programa Workshop Indice Sintetico de SostenibilidadPrograma Workshop Indice Sintetico de Sostenibilidad
Programa Workshop Indice Sintetico de Sostenibilidad
 
Relación nietzsche platón.2015
Relación nietzsche platón.2015Relación nietzsche platón.2015
Relación nietzsche platón.2015
 
mtto
mttomtto
mtto
 
Urbanidade Nos Blogs
Urbanidade Nos BlogsUrbanidade Nos Blogs
Urbanidade Nos Blogs
 
Viaje a Malargüe. Año 2009. Parte IV
Viaje a Malargüe. Año 2009. Parte IVViaje a Malargüe. Año 2009. Parte IV
Viaje a Malargüe. Año 2009. Parte IV
 
Vitarella - Crocks
Vitarella - CrocksVitarella - Crocks
Vitarella - Crocks
 

Similar to 3.6 ฟังก์ชัน

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานPrapatsorn Keawnoun
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานchanamanee Tiya
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานWasin Kunnaphan
 
Week 4 unit3 (chapter 4-5) - function
Week 4   unit3 (chapter 4-5) - functionWeek 4   unit3 (chapter 4-5) - function
Week 4 unit3 (chapter 4-5) - functionaj.mapling
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานKanchana Theugcharoon
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานWasin Kunnaphan
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)Thachanok Plubpibool
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานThachanok Plubpibool
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน Kanchana Theugcharoon
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
ฟังก์ชั่น
ฟังก์ชั่นฟังก์ชั่น
ฟังก์ชั่นkikoe8
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีณัฐพล บัวพันธ์
 

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

Mindmapping
MindmappingMindmapping
Mindmapping
 
Mindmapping
MindmappingMindmapping
Mindmapping
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
Week 4 unit3 (chapter 4-5) - function
Week 4   unit3 (chapter 4-5) - functionWeek 4   unit3 (chapter 4-5) - function
Week 4 unit3 (chapter 4-5) - function
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน (1)
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
โครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา Cโครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา C
 
โปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชันโปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชัน
 
ภาษาจาวา 1
ภาษาจาวา 1ภาษาจาวา 1
ภาษาจาวา 1
 
ฟังก์ชั่น
ฟังก์ชั่นฟังก์ชั่น
ฟังก์ชั่น
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซี
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 

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.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.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล
 
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.6 ฟังก์ชัน

  • 2. ฟังก์ชัน (Function) คือ ชุดคำสั่งที่รวมกันเป็นโปรแกรม ย่อย ๆ ภำยในเครื่องหมำย {} ถูกสร้ำงขึ้นมำเพื่อทำงำนอย่ำงใด อย่ำงหนึ่ง และมีกำรตั้งชื่อของฟังก์ชันเพื่อให้สะดวกต่อกำรเรียกใช้ งำน ตำมกฎกำรตั้งชื่อ โดยมีรูปแบบกำรใช้งำนแตกต่ำงกันคือ จะ มีกำรรับหรือไม่รับข้อมูลจำกโปรแกรมที่เรียกใช้งำน และจะมีกำร ส่งหรือไม่ส่งค่ำข้อมูลออกจำกฟังก์ชัน ซึ่งรูปแบบกำรใช้งำนต่ำง ๆ ของฟังก์ชันจะขึ้นอยู่กับหน้ำที่และเป้ำหมำยกำรทำงำนของฟังก์ชัน นั้น ๆ
  • 3. Function main Function A Function C Function D Function B 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) ฟังก์ชันที่สร้ำงขึ้นเอง (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; }
  • 10. โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องกำรสร้ำง typeReturn เป็นชนิดข้อมูลที่ต้องกำรคืนค่ำกลับให้ฟังก์ชันที่เรียกใช้ varNameReturn เป็นชื่อตัวแปรที่คืนค่ำกลับให้ฟังก์ชันที่เรียกใช้งำน ซึ่งมี ชนิดข้อมูลเดียวกันกับ typeReturn statements เป็นชุดคำสั่งภำยในฟังก์ชัน
  • 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; }
  • 12. โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องกำรสร้ำง typeParameter_n เป็นชนิดข้อมูลที่ต้องกำรรับจำกฟังก์ชันที่เรียกใช้varName-n เป็นชื่อตัวแปรที่ใช้รับข้อมูลจำกฟังก์ชันที่เรียกใช้งำน typeReturn เป็นชนิดข้อมูลที่ต้องกำรคืนค่ำกลับให้ฟังก์ชันที่เรียกใช้งำน statements เป็นชุดคำสั่งภำยในฟังก์ชัน varNameReturn เป็นชื่อตัวแปรที่คืนค่ำกลับมำให้ฟังก์ชันที่เรียกใช้งำน ซึ่งมีชนิดข้อมูลเดียวกันกับ
  • 13. กำรส่งค่ำผ่ำนพำรำมิเตอร์ สำมำรถทำได้ 2 รูปแบบคือ กำรส่งข้อมูลแบบส่งผ่ำนค่ำ และกำรส่งข้อมูล แบบส่งผ่ำนตัวอ้ำงอิง กำรส่ ง ข้ อ มู ล แบบส่ ง ผ่ ำ นค่ ำ (Call by Value) คือ เมื่อมีกำร เรียกใช้งำนฟังก์ชันและมีกำร ส่ ง ข้ อ มู ล ใ ห้ ฟั ง ก์ ชั น โ ด ย ฟั ง ก์ ชั น ที่ ถู ก เรี ย กใช้ ง ำนจะมี ตัวแปรมำรับค่ำข้อมูล ซึ่งกำร กระทำใด ๆ กับตัวแปรที่รับค่ำ ข้อมูลในฟังก์ชัน จะไม่มีผลกับ ค่ ำของตัว แปรที่ส่ง ให้ฟั งก์ชั น นั้น ๆ กำรท ำงำนของกำรส่ ง ข้ อ มู ล แบบ ส่งผ่ำนตัวอ้ำงอิง (Call by Reference) คือ เมื่อมีกำรเรียกใช้งำนฟังก์ชันและมี กำรส่งข้อมูลให้ฟังก์ชัน โดยที่ฟังก์ชันที่ ถู ก เรี ย กใช้ ง ำนจะมี ตั ว แปรมำรั บ ตำแหน่งที่อยู่ของข้อมูล หรือก็คือใช้ตัว แปรพอยน์เตอร์มำรับตำแหน่งที่อยู่ของ ข้อมูลนั่นเอง ซึ่งกำรกระทำใด ๆ กับ ตัวแปรที่รับค่ำข้อมูลในฟังก์ชันจะมีผล กับค่ำของตัวแปรที่ส่งให้ฟังก์ชันนั้น ๆ ดัวย
  • 14. ขอบเขตกำรทำงำนของตัวแปร กำรใช้ ง ำนตั ว แปร มี ข อบเขตกำรใช้ ง ำนแตกต่ ำ งกั น 2 รูปแบบคือ • Local Variable เป็นตัวแปรที่มีกำรประกำศใช้งำนภำยใน ฟังก์ชัน ซึ่งไม่สำมำรถเรียกใช้งำนนอกฟังก์ชันได้ • Global Variables เป็นตัวแปรที่มีกำรประกำศใช้งำนตั้งแต่ ต้ น โปรแกรม ซึ่ ง สำมำรถเรี ย กใช้ ง ำนในส่ ว นใดของ โปรแกรมก็ได้
  • 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 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