บทที่2 ภาษา C (Review C Language)
Contents
คำสั่งพื้นฐานต่างๆ เช่น printf,scanf
- เช่น printf( “abc” );
printf( “%s”, ”abc” );
- เช่น scanf( “%d”,&x);
Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่
%d ใช้กับข้อมูลแบบ integer
%c ใช้กับข้อมูลแบบ character
%f ใช้กับข้อมูลแบบ floating
%s ใช้กับข้อมูลแบบ string
Operator
เครื่องหมายดำเนินการ (Operator) แบ่งออกเป็น 3 ชนิด คือนิพจน์ (Expression)
- Arithmetic Operators ได้แก่ +, - , *, /, % , -- , ++
- Relational and Equality Operators ได้แก่ < , > , <= , >= , == , !=
- - Logical Operators ได้แก่ ! , && , ||
คือการนำตัวแปรค่าคงที่มาสัมพันธ์กันโดยใช้เครื่องหมายอย่างใดอย่างหนึ่ง
นิพจน์จะทำงานจากซ้ายไปขวาามลำดับการทำงานของเครื่องหมาย
- วงเล็บ
- !, ++, --
- *, /, %
- +, -
- <, <=, >, >=
- ==, !=
- &&
- ||
selection/Condition
- if statement
- if - else statement
- if - else statement (Nested if)
- switch statement
Repetition/Loop
- while statement
Format :
while (expression) {
statement-1;
statement-2;
……
statement-n;
}
- for statement
Format :
for (expression -1; expression-2; expression-3 ) {
statement -1 ;
statement -2 ;
…..
statement -n ;
}
- do-while statement
Format :
do {
statement -1 ;
statement -2 ;
…..
statement -n ;
} while (expression);
Function
ข้อดี
- เขียนโค้ดครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
- สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้
- ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว
- ทำให้โปรแกรมมีความเป็นโครงสร้าง
- สามารถแบ่งเป็นโมดูลย่อยๆได้
Function (Cont.)
ฟังก์ชันแบ่งเป็น 2 ประเภท คือ
- Library Function
- Format :
#include<file-name>
- Example
#include<stdio.h> #include<conio.h > etc.
Example Library Function
strcpy() - อยู่ในแฟ้มข้อมูล string.h
- ทำหน้าที่: คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง
- Format:
strcpy(str1, str2);
Library Function
วิธีเรียกใช้งาน Library Function
- เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน
- เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น
User Defined Function
-คือ ฟังก์ชันที่ผู้เขียนโปรแกรมสามารถเขียนฟังค์ชันขึ้นใช้เอง โดยฟังก์ชันนี้อาจจะรวมอยู่กับโปรแกรมหลักเป็นแฟ้มเดียวกัน หรือยกฟังก์ชันเหล่านี้ไว้คนละแฟ้มข้อมูลก็ได้-การสร้างฟังก์ชัน ประกอบด้วย- Function Definition
- Function Prototype
- Invocation
Function Definition- Function Definition หรือนิยามฟังก์ชัน คือ รายละเอียดในการทำงานของฟังก์ชัน
- Format :
data-type function-name(type argument ){declaration;statement;return(value);}Function Prototype- เป็นตัวบอกให้ Compiler ทราบว่าการประกาศฟังก์ชันขึ้นและฟังก์ชันนั้นมีค่าที่ส่งกลับเป็นอะไร มีการรับพารามิเตอร์อะไรบ้าง มีประโยชน์ในการตรวจสอบข้อผิดพลาดระหว่างการเรียกใช้ฟังก์ชัน
Example:void print_banner(void);void print_banner(int amount);Invocation- คือการเรียกใช้ฟังก์ชัน
ลักษณะของฟังก์ชัน
-ฟังก์ชันที่ไม่มีการส่งค่ากลับ การเรียกใช้ทำได้โดยอ้างถึงชื่อฟังก์ชัน
...........
Print_banner () ;-ฟังก์ชันที่มีการส่งค่ากลับ การเรียกใช้ทำได้เหมือนแบบแรก แต่ต้องมีตัวแปรมารับค่าที่จะต้องส่งกลับด้วยint main(void) {int k, j;j = prompt ()k = prompt ();printf(“j = %d and k = %d”, j, k);-ฟังก์ชันที่มีการรับค่า argumentการเรียกใช้ฟังก์ชันทำได้โดยอ้างถึงชื่อของฟังก์ชันพร้อมทั้งส่งค่าของตัวแปร(parameter)ไปด้วย โดยจะ ต้องมีชนิดสอดคล้องกับ argument ของฟังก์ชัน ที่เรียกใช้-การผ่านค่า argument ให้ฟังก์ชัน ทำได้ 2 แบบ คือPass by Value คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งค่าของตัวแปรหรือค่าที่ส่งไปโดย ค่าคงที่ผ่านให้กับค่าฟังก์ชันจะถูกคัดลอกส่งให้กับ ฟังก์ชันและจะถูกเลี่ยนแปลงเฉพาะภายในฟังก์ชัน โดยค่าของ argumentในโปรแกรมที่เรียกใช้จะไม่เปลี่ยนแปลง ตัวอย่าง :void swap(int num1, int num2) {int tmp;tmp = num1;num1 = num2;num2 = tmp;print(“A is %d B is %d\n”, num1, num2);}Pass by Referenceคือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นใน โปรแกรมที่เรียกใช้เปลี่ยนไปด้วย ตัวอย่าง :void swap(int * num1, int * num2) {int tmp;tmp = *num1;*num1 =* num2;*num2 = tmp;}
ตัวอย่าง Library Function s
trcpy () –อยู่ในแฟ้มข้อมูล string.h
- ทำหน้าที่ : คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง
- Format :
strcpy (str1, str2);
ไม่มีความคิดเห็น:
แสดงความคิดเห็น