การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/m3-programming/file/ppt/chapter...

16
L/O/G/O การสร้างฟังก์ชั่นในภาษาซี

Upload: others

Post on 28-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

L/O/G/O

การสรางฟงกชนในภาษาซ

Page 2: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

วตถประสงค

• อธบายความหมายและประเภทของฟงกชนได

• สามารถสรางฟงกชนเพอใชงานเองได

• บอกความแตกตางของฟงกชนลกษณะตาง ๆ ได

• สามารถใชฟงกชนมาตรฐานตาง ๆ ในภาษาซได

• รจกขอแตกตางระหวางตวแปรแบบโลคอลและตวแปรแบบโกลบอล

Page 3: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ฟงกชน คอ อะไร

• เปนกลมค าสงทสรางขนมาเพอใหท างานอยางใดอยางหนง

• สามารถเรยกใชงานไดหลายครง ท าใหงายตอการท างาน

• สามารถปรบปรงแกไขโปรแกรมไดงาย

Page 4: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ประเภทของฟงกชน

• ฟงกชนมาตรฐาน เปนฟงกชนทมอยแลวและเกบอยในไลบราล เชน ฟงกชนรบคาและฟงกชนแสดงผล

• ฟงกชนทผ เขยนโปรแกรมสรางขน เพอท างานอยางใดอยางหนง ท าใหงายและลดความซบซอนลง

Page 5: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

การสรางฟงกชน

ประเภทของขอมล ชอฟงกชน (พารามเตอร){

statement;

[return];

}

• ประเภทขอมล คอ ประเภทขอมลทจะสงกลบ

• ชอฟงกชน คอ ชอของฟงกชนตามกฎของภาษาซ

• พารามเตอร คอ ตวแปรทรบคาผานเขามาในฟงกชน

• Return ใชในการสงคากลบ มหรอไมมกได

Page 6: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวอยางฟงกชน

void Show_A

{

printf(“AAA\n”);

printf(“BBB\n”);

}

void Show_A

{

int i;

for(i=1; i<20; i++)

printf(“A”);

}

Page 7: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวอยางฟงกชนบวกเลข

int add(int a, int b)

{

int c;

c = a + b;

return c;

}

main()

{

printf(“3 + 5 = %d\n”,add(3.5));

getch();

return 0;

}

Page 8: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

โปรโตไทป

• จะตองมการเขยนชอฟงกชนรวมไวทสวนหวของโปรแกรม

• เพอบอกใหตวแปลภาษารจกฟงกชนกอน

• และสามารถเรยกใชงานฟงกชนทอยสวนทายของโปรแกรมได

ประเภทของขอมล ชอฟงกชน(ประเภท พารามเตอร1,…,พารามเตอร N);

Page 9: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวอยางการก าหนดโปรโตไทป

void p_aaa();

void p_bbb();

main()

{

p_aaa();

p_bbb();

getch();

return 0;

}

void p_aaa()

{

int j;

for(j=1;j<20; j++)

printf(“A\n”);

}

void p_bbb()

{

int j;

for(j=1;j<20; j++)

printf(“B\n”);

}

Page 10: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวอยางโปรแกรม Show text

void Show_text(int num);

main()

{

show_text(5);

show_text(15);

getch();

return 0;

}

void Show_text(int num);

{

int i;

for(i=1; j<num; j++)

printf(“*\n”);

}

Page 11: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวแปรทวไปและตวแปรเฉพาะท

• ตวแปรทวไป – ประกาศไวนอกฟงกชน

– ทกสวนของโปรแกรมสามารถเรยกใชงานได

– คาของมนจะเปลยนแปลงไปตามทฟงกชนนนเรยกใชงาน

• ตวแปรเฉพาะท– ตวแปรทใชงานในฟงกชนเทานน

– ฟงกชนอน ๆ ไมสามารถเรยกใชงานได

– เมอออกจากฟงกชนนขอมลจะหายไป

Page 12: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวอยาง ตวแปรแบบทวไป

int a;

void ex()

{

a=5;

printf(“%d\n”,a);

}

main()

{

a=3;

printf(“%d\n”,a);

ex();

printf(“%d\n”,a);

} return 0;3

5

5

Page 13: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวอยาง ตวแปรแบบทเฉพาะท

int a;

void ex()

{

int a;

a=5;

printf(“%d\n”,a);

}

main()

{

a=3;

printf(“%d\n”,a);

ex();

printf(“%d\n”,a);

} return 0;

3

5

3

Page 14: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ฟงกชนประเภทตาง ๆ

• ฟงกชนแบบไมมการสงคา– เชน printf, scanf, if อน ๆ

• ฟงกชนแบบสงคาผานทางเดยว

• ฟงกชนแบบสงคาสองทาง

int add(int a, int b)

{ return a+b; }

Page 15: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

www.themegallery.com

ตวอยางฟงกชนแบบสงคาสองทาง

int sqr(int x);

main()

{

int a;

printf(“Input Number:”);

scanf(“%d”,&a);

printf(“%d ^ 2 =%d\n”,a,sqr(a));

return 0;

}

int sqr(int x)

{

x=x*x;

return x;

}

Page 16: การสร้างฟังก์ชั่นในภาษาซีe-learning.wpm.ac.th/M3-Programming/File/ppt/chapter 7 Function.pdf ประเภทของฟังก์ชั่น

L/O/G/O

www.themegallery.com

Thank You!