งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Structure Programming

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Structure Programming"— ใบสำเนางานนำเสนอ:

1 344-201 Structure Programming
ฟังก์ชันในภาษาซี Structure Programming

2 PROGRAMMER DEFINED FUNCTION
ฟังก์ชันในภาษาซี ฟังก์ชันในภาษาซี สามารถแบ่งตามแหล่งที่มาได้ 2 ประเภทคือ ฟังก์ชันมาตรฐานในภาษาซี (C Standard Function) ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์ (Programmer-Defined Function) FUNCTIONS IN C C STANDARD LIBRARY PROGRAMMER DEFINED FUNCTION

3 ฟังก์ชันมาตรฐานในภาษาซี
เป็นฟังก์ชันที่มาพร้อมกับตัวแปลภาษาซี เป็นฟังก์ชั่นที่เน้นงานพื้นฐาน เช่น ฟังก์ชันคำนวณทางคณิตศาสตร์, ฟังก์ชันจัดการข้อความ, ฟังก์ชันจัดการเวลา การเรียกใช้งานต้องเขียนคำสั่ง #include <header file> ไว้ที่ส่วนหัวของโปรแกรม header file เป็นไฟล์นามสกุล .h เช่น stdio.h, math.h, string.h

4 ฟังก์ชันมาตรฐานในภาษาซี
ตัวอย่างการเรียกใช้ ฟังก์ชันมาตรฐานในภาษาซี

5 ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์
การเขียนโปรโตไทป์ การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน

6 ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์
การสร้างฟังก์ชันประกอบด้วย 3 ส่วนหลัก ได้แก่ การเขียนโปรโตไทป์สำหรับฟังก์ชัน การนิยามฟังก์ชัน การเรียกใช้ฟังก์ชัน

7 รูปแบบของฟังก์ชัน รูปแบบของการนิยามฟังก์ชัน เขียนได้ดังต่อไปนี้
ตัวอย่างการนิยามฟังก์ชัน return-value-type function-name([parameter-list]) { declarations; statements; [return ;] }

8 ฟังก์ชันที่สร้างขึ้นใหม่โดยโปรแกรมเมอร์
รูปแบบฟังก์ชันของภาษาซีมี 4 รูปแบบ ฟังก์ชันแบบไม่มีการส่งค่ากลับ  และไม่มีพารามิเตอร์   ฟังก์ชันแบบไม่มีการส่งค่ากลับ และมีพารามิเตอร์  ฟังก์ชันแบบมีการส่งค่ากลับ  และไม่มีพารามิเตอร์  ฟังก์ชันแบบมีการส่งค่ากลับ  และมีพารามิเตอร์ 

9 ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์
ฟังก์ชันแบบไม่มีการส่งค่ากลับ  และไม่มีพารามิเตอร์   รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง void function-name () { declarations; statements; }

10 ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์ (ต่อ)
ฟังก์ชันแบบไม่มีการส่งค่ากลับ และไม่มีพารามิเตอร์  (ต่อ) การเรียกใช้ฟังก์ชัน ตัวอย่าง function-name(); การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน

11 ฟังก์ชันแบบไม่มีการส่งค่ากลับ และมีพารามิเตอร์
รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง void function-name (parameter-list) { declarations; statements; }

12 ฟังก์ชันแบบไม่มีการส่งค่ากลับ และมีพารามิเตอร์ (ต่อ)
การเรียกใช้ฟังก์ชัน ตัวอย่าง function_name(actual_arg_list) การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน

13 ฟังก์ชันแบบมีการส่งค่ากลับ และไม่มีพารามิเตอร์
ฟังก์ชันแบบมีการส่งค่ากลับ  และไม่มีพารามิเตอร์ รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง return-value-type function-name() { declarations; statements; return return-value; }

14 ฟังก์ชันแบบมีการส่งค่ากลับ และไม่มีพารามิเตอร์ (ต่อ)
ฟังก์ชันแบบมีการส่งค่ากลับ  และไม่มีพารามิเตอร์ (ต่อ) การเรียกใช้ฟังก์ชัน ตัวอย่าง variable = function_name() การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน

15 ฟังก์ชันแบบมีการส่งค่ากลับ และมีพารามิเตอร์
ฟังก์ชันแบบมีการส่งค่ากลับ  และมีพารามิเตอร์ รูปแบบของการนิยามฟังก์ชัน ตัวอย่าง return-value-type function-name(parameter-list) { declarations; statements; return return-value; }

16 ฟังก์ชันแบบมีการส่งค่ากลับ และมีพารามิเตอร์ (ต่อ)
ฟังก์ชันแบบมีการส่งค่ากลับ  และมีพารามิเตอร์ (ต่อ) การเรียกใช้ฟังก์ชัน ตัวอย่าง variable = function_name(actual_arg_list) การเรียกใช้ฟังก์ชัน การนิยามฟังก์ชัน

17 ต้นแบบฟังก์ฟชัน ต้นแบบฟังก์ชัน หรือ โปรโตไทป์ของฟังก์ชัน
เป็นการอธิบายรายละเอียดของฟังก์ชันให้ภาษาซีรู้จัก รูปแบบการเขียนโปรโตไทป์ จะเหมือนกับบรรทัดแรกของฟังก์ชัน ตัวอย่างการเขียนโปรโตไทป์ void my_print(); char my_print(); void my_print(char ch, int x); char my_print(int x); โดยจะเขียนไว้ก่อนฟังก์ชัน main() return-value-type function-name([parameter-list]);

18 แบบฝึกหัด 1 เขียนโปรแกรมด้านล่าง โดยมีการเรียกใช้ฟังก์ชัน main() {
int a,b,sum; a=5; b=6; sum=a+b; printf(“%d+%d=%d”,a,b,sum); }

19 แบบฝึกหัด 2 เขียนฟังก์ชัน max() สำหรับหาค่า max และฟังก์ชัน min() สำหรับหาค่า min main() { int max_v, min_v; max_v = max(3,1,5,6); min_v = min(3,1,5,6); printf(“maximum is %d, minimum is %d”,max_v,min_v); }

20 ข้อมูลกับฟังก์ชัน ตัวแปรในภาษาซี
Local variable – ตัวแปรที่อยู่ในฟังก์ชันใดฟังก์ชันหนึ่ง และใช้เฉพาะในฟังก์ชันนั้นเท่านั้น Global variable – ตัวแปรที่ถูกกำหนดก่อนฟังก์ชัน main() และทุก ๆ ฟังก์ชันสามารถเรียกใช้ได้

21 ตัวอย่าง

22 แบบฝึกหัด 3 ข้อมูลกับฟังก์ชัน (ขอบเขตของตัวแปร)
หาผลลัพธ์ที่ได้จากการทำงานของโปรแกรม ต่อไปนี้

23 การรับและการส่งข้อมูลให้กับฟังก์ชัน
Passing by value (การส่งผ่านโดยค่า) Passing by reference (การส่งผ่านโดยการอ้างอิง)

24 Passing by value การส่งผ่านค่า การรับค่า

25 Passing by reference ที่อยู่ (address) ของตัวแปรที่อ้างถึงจะถูกสำเนาเพื่อส่งไปให้ฟังก์ชัน การเปลี่ยนแปลงค่าของตัวแปรที่อยู่ในฟังก์ชันที่ถูกเรียก (Called function) จะทำให้ค่าของตัวแปรที่อยู่ในฟังก์ชันที่เรียกไป (Calling function ) เปลี่ยนแปลงด้วย ใช้ตัวดำเนินการ & และ * ในการส่งและรับค่าฟังก์ชัน ตามลำดับ

26 Passing by reference (ต่อ)
ตัวดำเนินการ & และ * พอยน์เตอร์ (ตัวชี้) คือ ตัวแปรหรือค่าคงที่ที่เก็บตำแหน่งที่อยู่ของหน่วยความจำ (memory address) ตัวแปรพอยน์เตอร์ (pointer variable) คือ ตัวแปรที่เก็บค่าตำแหน่งที่อยู่ที่ชี้ไปยังค่าที่เก็บอยู่จริง ตัวดำเนินการ & : เป็นตัวดำเนินการที่จะเก็บค่าตำแหน่งที่อยู่ของหน่วยความจำ (memory address) ของตัวถูกดำเนินการ(operand)

27 ตัวดำเนินการ & และ *

28 การประกาศตัวแปรพอยเตอร์
รูปแบบ: ชนิดตัวแปร *ชื่อตัวแปร ตัวอย่าง เช่น char *ch; int *m;

29 Passing by reference (ต่อ)
ตัวอย่างโปรแกรม การส่งผ่านโดยการอ้างอิง การรับค่า

30 แบบฝึกหัด 4 เขียนโปรแกรมด้านล่าง โดยมีการเรียกใช้ฟังก์ชัน main() {
int x,y,temp; x=5; y=6; temp=x; x=y; y=temp; printf(“x=%d, y=%d”,x,y); }


ดาวน์โหลด ppt Structure Programming

งานนำเสนอที่คล้ายกัน


Ads by Google