ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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); }
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.