-printf : ใช้แสดงผล ข้อความ ข้อมูลจากค่าคงที่ หรือตัวแปรที่จอภาพ
เช่น printf(“abc”);
printf(“%s”,”abc”);
-scanf : ใช้รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงในหน่วยความจำของข้อมูล
เช่น scanf(“%d”,&x);
Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่
| Format Code | ความหมาย |
| %d | ใช้กับข้อมูลแบบ integer(เก็บข้อมูลแบบตัวเลขจำนวนเต็ม) |
| %c | ใช้กับข้อมูลแบบ character(เก็บข้อมูลแบบอักขระ) |
| %f | ใช้กับข้อมูลแบบ floating(เก็บข้อมูลแบบตัวเลขทศนิยม),double |
| %s | ใช้กับข้อมูลแบบ string |
- Arithmetic Operators ได้แก่ +, - , *, /, % , -- , ++
- Relational and Equality Operators ได้แก่ < , > , <= , >= , == , !=
- - Logical Operators ได้แก่ ! , && , ||
3.1. If Statement คือ เป็นคำสั่งที่ใช้เพื่อการตัดสินใจเลือกทำงานอย่างใดอย่างหนึ่ง โดยอาศัยการทดสอบเงื่อนไขบางประการ รูปแบบ : "... if (เงื่อนไข) คำสั่ง ; ..." 3.2. if-else statement คือ ผลลัพธ์ที่ได้จะมีค่าจริงกับเท็จเท่านั้น รูปแบบ : "... if (เงื่อนไข)
{ คำสั่งต่างๆ เมื่อเงื่อนไขเป็นจริง ; } else { คำสั่งต่างๆ เมื่อเงื่อนไขเป็นเท็จ ; } ..."3.3. If-Else Statement (Nested If) คือ มีรูปแบบโดยที่เงื่อนไขซ้อนเงื่อนไขเช่นในกรณีเปรียบเทียบเงื่อนไขแรก (condition1) แล้วปรากฏว่าเป็นจริง โปรแกรมจะเลือกทำคำสั่งหลังอักขระ : แต่หลังอักขระ : มีเงื่อนไขที่สอง (condition2) ที่ต้องตรวจสอบ เช่นเดียวกันถ้าเงื่อนไขตัวแรกเปรียบเทียบกันแล้วปรากฏว่าได้ผลลัพธ์ออกมาเป็นเท็จ โปรแกรมจะเลือกทำคำสั่งหลัง else : แต่ต้องไปพบกับเงื่อนไขที่สาม (condition3) ที่ซ้อนอยู่อีกเช่นกัน รูปแบบ :
"... if (เงื่อนไขที่1)
คำสั่งชุดที่1; (กรณีเงื่อนไขที่ 1 เป็นจริง)
else if (เงื่อนไขที่2)
คำสั่งชุดที่2; (กรณีเงื่อนไขที่ 2 เป็นจริง)
else
คำสั่งชุดที่3; ..."
3.4. Switch Statement คือ จะคล้ายกับคำสั่ง If แต่ว่าเงื่อนไขจะมีมากกว่า 2 เงื่อนไข คือตรวจสอบเงื่อนไข โดยดูจากค่าของตัวแปร โดยนำค่าจากตัวแปรที่อยู่ในคำสั่ง switch มาตรวจสอบกับค่าที่อยู่หลังคำสั่ง case แต่ละคำสั่ง ถ้าตรงกัน ก็จะทำงานตามคำสั่งใน case นั้น ถ้าไม่ตรงกับ case ไหนเลยจะมาทำงานในคำสั่ง default แทน
รูปแบบ :
".... switch ( ตัวแปร ) {
case ค่าที่ 1 : คำสั่งที่ 1 ;
break;
case ค่าที่ 2 : คำสั่งที่ 2 ;
break;
default : คำสั่งที่ไม่ตรงกับค่าที่ 1 และ 2 ;
} .... "
ไม่รู้จบ
4. การทำซ้ำ(Repetition/Loop) -while statement Format :
while (เงื่อนไข) { statement-1; statement-2; …… statement-n; } |
for (ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลด) { statement -1 ; statement -2 ; ….. statement -n ; } |
do { statement -1 ; statement -2 ; ….. statement -n ; } while (นิพจน์ตรรกะ); |
5. ฟังก์ชัน [Function]
ข้อดี คือ
- เขียนโค้ดครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
- สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้
- ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว
- ทำให้โปรแกรมมีความเป็นโครงสร้าง
- สามารถแบ่งเป็นโมดูลย่อยๆได้
ฟังก์ชันแบ่งได้เป็น 2 ประเภท ได้แก่
5.1 ฟังก์ชันมาตรฐานหรือไลบรารีฟังก์ชัน [Library Function] คือ ฟังก์ชันที่ใช้ในงานนี้ เป็นรูปแบบฟังก์ชันที่ต้องมีการส่งค่ากลับ ดังนั้นตัวแปรที่จะใช้งานต้องเป็นตัวเลข กลุ่มทศนิยม เช่น float, double เป็นต้น
รูปแบบ : ".... #include<file-name> ...."
ตัวอย่างเช่น :
"... #include<stdio.h>
#include<conio.h > etc. ...." วิธีเรียกการใช้งาน Library Function - เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน - เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น แบบที่ 1 : ".... strcpy () ..." - อยู่ในแฟ้มข้อมูล string.h - ทำหน้าที่คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง รูปแบบ :
"... strcpy (str1, str2); ..."
แบบที่2 :
".... strcat() ..."
- อยู่ในแฟ้มข้อมูล string.h
- ทำหน้าที่ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน
รูปแบบ :
"... strcat (str1, str2); ..."
แบบที่ 3 :
".... strlen () ..."
- อยู่ในแฟ้มข้อมูล string.h
- ทำหน้าที่หาความยาวของข้อความ
รูปแบบ :
"... strlen (string); ..."
แบบที่ 4 :
".... getchar () ..."
- อยู่ในแฟ้มข้อมูล stdio.h
- ทำหน้าที่เป็นพังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระโดยต้องกด enter และข้อมูลที่ป้อนเข้าจะปรากฏทางจอภาพ
รูปแบบ :
"... getchar (); ..."
แบบที่ 5 :
".... getch() ..."
- อยู่ในแฟ้มข้อมูล stdio.h
- ทำหน้าที่เป็นฟังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระ โดยไม่ต้องกด enter และข้อมูลที่ป้อนเข้าจะไม่ปรากฏทางจอภาพ
รูปแบบ :
"... getch (); ..."
แบบที่ 6 :
".... gets() ..."
- อยู่ในแฟ้มข้อมูล stdio.h
- ทำหน้าที่เป็นฟังก์ชั่นรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์ เข้ามาเก็บไว้ในตัวแปรชุด (อาร์เรย์)
รูปแบบ :
"... gets (); ..."
แบบที่ 7 :
".... putchar(); ..."
- อยู่ในแฟ้มข้อมูล stdio.h
- ทำหน้าที่เป็นฟังก์ชั่นให้แสดงผลทางจอภาพครั้งละ 1 อักขระ (อาร์เรย์)
รูปแบบ :
"... putchar (); ..." 5.2. การสร้างฟังก์ชันใช้เอง [User Defined Function] คือ เป็นฟังก์ชันที่ผู้เขียนโปรแกรมนิยามขึ้นใหม่ โดยอาจจะเขียนรวมไว้ในตัวโปรแกรมต้นฉบับเดียวกัน หรือเขียนแยกไว้ในไฟล์อื่น ซึ่งจะนำมาแปลร่วมโดยการใช้ Include Directives เช่นเดียวกับฟังก์ชันมาตรฐานการสร้าง Function ประกอบด้วย 5.2.1. Function Definition หรือนิยามฟังก์ชัน รายละเอียดในการทำงานของฟังก์ชัน คือ
รูปแบบ : "... /* ………………….. */ heading comment data-type function-name (type argument argument) { declaration; statement; return(value); } ...."
Function Prototype คือ การประกาศฟังก์ชันโดยระบุทั้งชนิดของ function และ arguments ทั้งหมด เพื่อ ให้ compiler มีการตรวจสอบการเรียกใช้ชนิดของ arguments ให้ถูกต้องในขั้นตอนของการ compile ถ้า หากว่ามีการเรียกใช้ arguments ที่ไม่ถูกต้องก็จะมี message แจ้งตอนcompile ทำให้ไม่ผิด
พลาดในการเรียกใช้ฟังก์ชัน
-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 แบบ คือ 1) 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);
}
2) Pass by Reference คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นใน โปรแกรมที่เรียกใช้เปลี่ยนไปด้วย ตัวอย่าง :
void swap(int * num1, int * num2) {
int tmp;
tmp = *num1;
*num1 =* num2;
*num2 = tmp;
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น