Objective (จุดประสงค์)
- เข้าใจรูปแบบคำสั่งที่ใช้ในภาษา C
- เข้าใจวิธีการดำเนินการ
- เข้าใจวิธีการวนรอบ
- สามารถสร้างโปรแกรมที่เกี่ยวข้องกับการจัดการหน่วยความจำ
- สามารถสร้างฟังก์ชันและการกำหนดเงื่อนไขต่างๆ
คำสั่งพื้นฐานต่างๆ
คำสั่งพื้นฐานต่างๆ เช่น printf, scanf
printf เช่น printf(“abc”);
printf(“%s”,”abc”);
printf(“%s”,”abc”);
scanf เช่น scanf(“%d”,&x);
Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่
%d -decimal integer
%c -character
%f -floating point number
%s -string
%c -character
%f -floating point number
%s -string
Operator (ตัวดำเนินการ)
เครื่องหมายดำเนินการ (Operator) แบ่งออกเป็น 3 ชนิด คือ
1. Arithmetic Operators ได้แก่ +, -, *, /, %, --, ++
2. Relational and Equality Operators ได้แก่ <, >, <=, >=, ==, !=
3. Logical Operators ได้แก่ !, &&, ||
Expression (นิพจน์)
หมายถึง การนำตัวแปรค่าคงที่มาสัมพันธ์กัน โดยใช้เครื่องหมายอย่างใดอย่างหนึ่ง เช่น
X + 1
A * b / c
นิพจน์จะทำงานจากซ้ายไปขวาตามลำดับการทำงานของเครื่องหมาย
1. วงเล็บ ( )
2. !, ++, --
3. *, /, %
4. +, -
5. <, <=, >, >=
6. ==, !=
7. &&
8. ||
Selection (ทางเลือก) / Condition (ลักษณะ)
- if statement
- if – else statement
- if – else statement (Nested if)
- switch statement
- if – else statement
- if – else statement (Nested if)
- switch statement
if statement
Format:
if (expression)
statement;
statement;
Example:
if (score >= 80)
printf(“YOUR grade is A \n”);
printf(“YOUR grade is A \n”);
if – else statement
Format:
if (expression)
statement-1;
else
statement-2;
statement-1;
else
statement-2;
if – else statement (Nested if)
Format:
if (expression-1)
statement-1;
else if (expression-2)
statement-2;
else
statement-3;
statement-1;
else if (expression-2)
statement-2;
else
statement-3;
switch statement
Format:
switch (expression) {
case const- expression-1;
statement-1;
break;
case const- expression-2;
statement-2;
break;
[ default: statement- default; ]
}
case const- expression-1;
statement-1;
break;
case const- expression-2;
statement-2;
break;
[ default: statement- default; ]
}
Repetition / Loop (การทำซ้ำ)
while statement
Format:
while (expression) {
statement-1;
statement-2;
statement-1;
statement-2;
…
statement-n;
statement-n;
}
for statement
Format:
for (expression-1; expression-2; expression-3) {
statement-1;
statement-2;
statement-1;
statement-2;
…
statement-n;
statement-n;
}
do – while statement
Format:
do {
statement-1;
statement-2;
statement-1;
statement-2;
…
statement-n;
statement-n;
} while (expression);
Function (ฟังก์ชัน)
ข้อดี
- -เขียน Code ครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
- -นำกลับมาใช้ใหม่ ในโปรแกรมอื่นได้
- -การแก้ไขจะแก้ไขเพียงที่เดียว
- -โปรแกรมมีความเป็นโครงสร้าง
- -แบ่งเป็นโมดูลย่อยๆ ได้
Function (ฟังก์ชัน) แบ่งเป็น 2 ประเภท คือ
1. Library Function เป็นโปรแกรมที่ผู้ผลิตโปรแกรมภาษาซี เป็นผู้เขียนขึ้น ไลบรารี่ฟังก์ชั่นจะติดมากับตัวโปรแกรมภาษาซีสามารถเรียกใช้โดย ใช้คำสั่ง #include
Format:
#inciude <file-name>
วิธีเรียกใช้งาน Library Function
- เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน
- เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น
ตัวอย่าง Library Function
strcpy( ) –อยู่ในแฟ้มข้อมูล string.h
ทำหน้าที่: คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง
Format:
strcpy(str1, str2);
strcat( ) –อยู่ในแฟ้มข้อมูล string.h
ทำหน้าที่: ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน
Format:
strcat(str1, str2);
strlen( ) -อยู่ในแฟ้มข้อมูล string.h
ทำหน้าที่: หาความยาวของข้อความ
Format:
strlen(s);
tolower( ) –อยู่ในแฟ้มข้อมูล ctype.h
ทำหน้าที่: เปลี่ยนตัวอักษรจากตัวใหญ่เป็นเล็ก
Format:
tolower(ch);
toupper( ) –อยู่ในแฟ้มข้อมูล ctype.h
ทำหน้าที่: เปลี่ยนตัวอักษรจากตัวเล็กเป็นใหญ่
Format:
toupper(ch);
getchar( ) –อยู่ในแฟ้มข้อมูล stdio.h
ทำหน้าที่: รับอักขระทางแป้นพิมพ์ทีละ 1 ตัว ต้องกด Enter เมื่อสิ้นสุดข้อมูล และข้อมูลจะปรากฏบนจอภาพด้วย
Format:
getchar( );
getch( ) –อยู่ในแฟ้มข้อมูล stdio.h
ทำหน้าที่: รับอักขระทางแป้นพิมพ์ทีละ 1 ตัว เมื่อป้อนข้อมูลเสร็จไม่ต้องกด Enter และจะไม่ปรากฎบนจอภาพ
Format:
getch( );
gets( ) –อยู่ในแฟ้มข้อมูล stdio.h
ทำหน้าที่: รับข้อมูลที่เป็นข้อความจากแป้นพิมพ์เก็บไว้ในตัวแปรชุด
Format:
get( );
putchar( ) –อยู่ในแฟ้มข้อมูล stdio.h
ทำหน้าที่: แสดงผลบนจอภาพ ทีละ 1 ตัวอักขระ
Format:
putchar( );
put( ) –อยู่ในแฟ้มข้อมูล stdio.h
ทำหน้าที่: แสดงผลเป็นข้อความที่เก็บไว้ในตัวแปรชุด
Format:
puts( );
2. User Defined Function คือ ฟังก์ชันที่ผู้เขียนโปรแกรมสามารถเขียนฟังก์ชันขึ้นมาใช้เอง โดยฟังก์ชันนี้อาจจะรวมอยู่กับโปรแกรมหลักเป็นแฟ้มเดียวกัน หรือแยกไว้คนละแฟ้มก็ได้
การสร้างฟังก์ชัน ประกอบด้วย
- Function Definition (นิยามฟังก์ชัน)
คือ รายละเอียดในการทำงานของฟังก์ชัน
- Function Prototype (ต้นแบบฟังก์ชัน)
เป็นตัวบอกให้ Compiler ทราบว่ามีการประกาศฟังก์ชันขึ้นและฟังก์ชันนั้นมีค่าที่ส่งกลับเป็นอะไร มีการรับพารามิเตอร์อะไรบ้าง มีประโยชน์ในการตรวจสอบข้อผิดพลาดระหว่างการเรียกใช้ฟังก์ชัน เราจะเขียน Function Prototype ไว้ที่ต้นโปรแกรม
- Invocation (การร้องขอ)
คือ การเรียกใช้ฟังก์ชัน มีลักษณะดังนี้
1. ฟังก์ชันที่ไม่มีการเรียกค่ากลับ การเรียกใช้ทำได้โดยอ้างถึงชื่อฟังก์ชัน
2. ฟังก์ชันที่มีการส่งค่ากลับ การเรียกใช้ทำได้เหมือนแบบแรก แต่ต้องมีตัวแปรมารับค่าที่จะส่งกลับมาด้วย
3. ฟังก์ชันที่มีการรับค่า argument การเรียกใช้ฟังก์ชัน ทำได้โดยอ้างถึงชื่อของฟังก์ชันพร้อมทั้งส่งค่าของตัวแปรไปด้วย โดยจะต้องมีชนิดสอดคล้องกับ argument ของฟังก์ชันที่เรียกใช้ การผ่านค่า argument ทำได้ 2 แบบ คือ
3.1 Pass by Value คือการส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งค่าของตัวแปรหรือค่าคงที่ไปโดยตรง ค่าของอาร์กิวเมนต์ที่ผ่านให้กับฟังก์ชันจะถูกคัดลอกส่งไปให้กับฟังก์ชัน และจะถูกเปลี่ยนแปลงเฉพาะภายในฟังก์ชัน โดยค่าของอาร์กิวเมนต์ในโปรแกรมที่เรียกใช้จะไม่เปลี่ยนแปลง
3.2 Pass by Reference คือการส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นค่าตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของอาร์กิวเมนต์ที่ส่งไป ก็จะมีผลทำให้ค่าของอาร์กิวเมนต์นั้นในโปรแกรมที่เรียกใช้เปลี่ยนไปด้วย การผ่านอาร์กิวเมนต์แบบนี้ ทำได้ ดังนี้
· ต้องกำหนดอาร์กิวเมนต์ของฟังก์ชันเป็น pointer (*)
· การเรียกใช้จะผ่าน address เป็น argument (&)
· ภายในฟังก์ชัน การเรียกใช้ format argument เวลาใช้งานจะใช้ dereferencing operator (*)
**********บทที่ 2 จบแล้วจ่ะ**********
ไม่มีความคิดเห็น:
แสดงความคิดเห็น