SlideShare a Scribd company logo
ฟังก์ชัน (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)
                  ฟังก์ชันที่สร้างขึ้นเอง (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 Reference)
  (Call by Value) คือ เมื่อมีการ                   คือ เมื่อมีการเรียกใช้งานฟังก์ชันและมี
  เรียกใช้งานฟังก์ชันและมีการ                      การส่งข้อมูลให้ฟังก์ชัน โดยที่ฟังก์ชันที่
  ส่ ง ข้ อ มู ล ใ ห้ ฟั ง ก์ ชั น โ ด ย           ถู ก เรี ย กใช้ ง านจะมี ตั ว แปรมารั บ
  ฟั ง ก์ ชั น ที่ ถู ก เรี ย กใช้ ง านจะมี        ตาแหน่งที่อยู่ของข้อมูล หรือก็คือใช้ตัว
  ตัวแปรมารับค่าข้อมูล ซึ่งการ                     แปรพอยน์เตอร์มารับตาแหน่งที่อยู่ของ
  กระทาใด ๆ กับตัวแปรที่รับค่า                     ข้อมูลนั่นเอง ซึ่งการกระทาใด ๆ กับ
                                                   ตัวแปรที่รับค่าข้อมูลในฟังก์ชันจะมีผล
  ข้อมูลในฟังก์ชัน จะไม่มีผลกับ
                                                   กับค่าของตัวแปรที่ส่งให้ฟังก์ชันนั้น ๆ
  ค่ าของตัว แปรที่ส่ง ให้ฟั งก์ชั น               ดัวย
  นั้น ๆ
ขอบเขตการทางานของตัวแปร


              การใช้ ง านตั ว แปร มี ข อบเขตการใช้ ง านแตกต่ า งกั น 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

โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
srinagarindra the princess mother school kanchanaburi
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.Ploy StopDark
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6Ploy StopDark
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
รัสนา สิงหปรีชา
 
บทที่ 7
บทที่ 7บทที่ 7
บทที่ 7
Wittaya Kaewchat
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
srinagarindra the princess mother school kanchanaburi
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
รัสนา สิงหปรีชา
 
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐานโปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
Worapod Khomkham
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอม
Ice Ice
 
Reference :: Java :: เต็ม
 Reference :: Java :: เต็ม Reference :: Java :: เต็ม
Reference :: Java :: เต็มJitti Nut
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSarocha Makranit
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
nitchakan
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Thanachart Numnonda
 
กลุ่ม 6
กลุ่ม 6กลุ่ม 6
กลุ่ม 6
Kesara Konchathree
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
Nattawut Kathaisong
 

What's hot (20)

Lesson5
Lesson5Lesson5
Lesson5
 
Presenter
PresenterPresenter
Presenter
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
บทที่ 7
บทที่ 7บทที่ 7
บทที่ 7
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน 1
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐานโปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
โปรแกรมย่อยและฟังก์ชั่นมาตรฐาน
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
บทที่6 งานคอม
บทที่6 งานคอมบทที่6 งานคอม
บทที่6 งานคอม
 
Reference :: Java :: เต็ม
 Reference :: Java :: เต็ม Reference :: Java :: เต็ม
Reference :: Java :: เต็ม
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
 
กลุ่ม 6
กลุ่ม 6กลุ่ม 6
กลุ่ม 6
 
7 2โครงสร้าง
7 2โครงสร้าง7 2โครงสร้าง
7 2โครงสร้าง
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
 

Viewers also liked

PTS_comm_SuccessStory_v7
PTS_comm_SuccessStory_v7PTS_comm_SuccessStory_v7
PTS_comm_SuccessStory_v7Cathy Sinclair
 
List of top 5 android radio apps
List of top 5 android radio appsList of top 5 android radio apps
List of top 5 android radio apps
James Analyst
 
Xpressduplicationcentre
XpressduplicationcentreXpressduplicationcentre
Xpressduplicationcentrewilliamflake
 
ลำดับความสำคัญของตัวดำเนินการ
ลำดับความสำคัญของตัวดำเนินการลำดับความสำคัญของตัวดำเนินการ
ลำดับความสำคัญของตัวดำเนินการรัสนา สิงหปรีชา
 

Viewers also liked (20)

13
1313
13
 
PTS_comm_SuccessStory_v7
PTS_comm_SuccessStory_v7PTS_comm_SuccessStory_v7
PTS_comm_SuccessStory_v7
 
List of top 5 android radio apps
List of top 5 android radio appsList of top 5 android radio apps
List of top 5 android radio apps
 
Xpressduplicationcentre
XpressduplicationcentreXpressduplicationcentre
Xpressduplicationcentre
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
3.3 ชนิดของข้อมูล
3.3 ชนิดของข้อมูล3.3 ชนิดของข้อมูล
3.3 ชนิดของข้อมูล
 
งานทำ Blog บทที่ 9
งานทำ Blog บทที่ 9งานทำ Blog บทที่ 9
งานทำ Blog บทที่ 9
 
งานทำBlog บทที่ 4
งานทำBlog บทที่ 4งานทำBlog บทที่ 4
งานทำBlog บทที่ 4
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
 
งานทำ Blog บทที่ 13
งานทำ Blog บทที่ 13งานทำ Blog บทที่ 13
งานทำ Blog บทที่ 13
 
งานทำ Blog บทที่ 12
งานทำ Blog บทที่ 12งานทำ Blog บทที่ 12
งานทำ Blog บทที่ 12
 
โครงสร้างรายวิชา
โครงสร้างรายวิชาโครงสร้างรายวิชา
โครงสร้างรายวิชา
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
ลำดับความสำคัญของตัวดำเนินการ
ลำดับความสำคัญของตัวดำเนินการลำดับความสำคัญของตัวดำเนินการ
ลำดับความสำคัญของตัวดำเนินการ
 
รหัสควบคุมพิเศษ
รหัสควบคุมพิเศษรหัสควบคุมพิเศษ
รหัสควบคุมพิเศษ
 
ชนิดของข้อมูล
ชนิดของข้อมูลชนิดของข้อมูล
ชนิดของข้อมูล
 

Similar to งานทำBlog บทที่ 10

กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
Kanchana Theugcharoon
 
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
aj.mapling
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
chanamanee Tiya
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
chanamanee Tiya
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีNattapon
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
Kanchana Theugcharoon
 
ฟังก์ชั่น
ฟังก์ชั่นฟังก์ชั่น
ฟังก์ชั่น
kikoe8
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
Wasin Kunnaphan
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
Latcha MaMiew
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)Boonwiset Seaho
 
Computer Programming 1
Computer Programming 1Computer Programming 1
Computer Programming 1
Saranyu Srisrontong
 
Lab intro-5-1
Lab intro-5-1Lab intro-5-1
Lab intro-5-1
Thonghai Butchat
 

Similar to งานทำBlog บทที่ 10 (16)

กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
power point.
power point.power point.
power point.
 
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
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
ฟังก์ชั่น
ฟังก์ชั่นฟังก์ชั่น
ฟังก์ชั่น
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
โปรแกรมย่อยและฟังก์ชันมาตรฐาน. (1)
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
Computer Programming 1
Computer Programming 1Computer Programming 1
Computer Programming 1
 
Lab intro-5-1
Lab intro-5-1Lab intro-5-1
Lab intro-5-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 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
รัสนา สิงหปรีชา
 
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.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล
รัสนา สิงหปรีชา
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
รัสนา สิงหปรีชา
 

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 ชนิดของข้อมูล
 

งานทำBlog บทที่ 10

  • 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) ฟังก์ชันที่สร้างขึ้นเอง (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; }
  • 8. โดยที่ functionName เป็นชื่อฟังก์ชันที่ต้องการสร้าง 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 Reference) (Call by Value) คือ เมื่อมีการ คือ เมื่อมีการเรียกใช้งานฟังก์ชันและมี เรียกใช้งานฟังก์ชันและมีการ การส่งข้อมูลให้ฟังก์ชัน โดยที่ฟังก์ชันที่ ส่ ง ข้ อ มู ล ใ ห้ ฟั ง ก์ ชั น โ ด ย ถู ก เรี ย กใช้ ง านจะมี ตั ว แปรมารั บ ฟั ง ก์ ชั น ที่ ถู ก เรี ย กใช้ ง านจะมี ตาแหน่งที่อยู่ของข้อมูล หรือก็คือใช้ตัว ตัวแปรมารับค่าข้อมูล ซึ่งการ แปรพอยน์เตอร์มารับตาแหน่งที่อยู่ของ กระทาใด ๆ กับตัวแปรที่รับค่า ข้อมูลนั่นเอง ซึ่งการกระทาใด ๆ กับ ตัวแปรที่รับค่าข้อมูลในฟังก์ชันจะมีผล ข้อมูลในฟังก์ชัน จะไม่มีผลกับ กับค่าของตัวแปรที่ส่งให้ฟังก์ชันนั้น ๆ ค่ าของตัว แปรที่ส่ง ให้ฟั งก์ชั น ดัวย นั้น ๆ
  • 14. ขอบเขตการทางานของตัวแปร การใช้ ง านตั ว แปร มี ข อบเขตการใช้ ง านแตกต่ า งกั น 2 รูปแบบคือ • Local Variable เป็นตัวแปรที่มีการประกาศใช้งานภายใน ฟังก์ชัน ซึ่งไม่สามารถเรียกใช้งานนอกฟังก์ชันได้ • Global Variables เป็นตัวแปรที่มีการประกาศใช้งานตั้งแต่ ต้ น โปรแกรม ซึ่ ง สามารถเรี ย กใช้ ง านในส่ ว นใดของ โปรแกรมก็ได้
  • 15. ฟังก์ชันแบบเรียกตัวเอง (recursive function) ฟังก์ชันที่มีการเรียกตัวเองโดยให้พารามิเตอร์ที่แตกต่างกันออกไป เช่น การหา Factorial หรือการหา Fibonacci n! = n * (n-1)! factorial(n) = n * factorial(n-1) 5! 5 * 4! 4 * 3! 3 * 2! 2 * 1! 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 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