คำสั่งที่ใช้ในการควบคุมโปรแกรม
ในภาษา C++ นั้น มีคำสั่งที่ใช้ในการควบคุมโปรแกรมมากมาย
เช่น การวนลูป การใช้ข้อแม้ต่างๆ ในบทนี้เราจะมาพูดถึงเรื่องเหล่านี้กัน
ซึ่งถือว่าเป็นเรื่องที่สำคัญอย่างมากทีเดียวสำหรับการเขียนโปรแกรม
While Loop
เรื่องแรกที่ผมจะพูดถึงก็คือการใช้
while ในการวลลูปนะครับ
|
|
 |
|
#include <iostream.h> int main() { int index=0; while(index<5) { cout<<"The value of index is "<<index<<"\n"; index=index+1; } return 0; }
|
|
|
|
 |
[Download Code]
ตัวอย่างข้างบนเป็นตัวอย่างของการใช้
While นะครับ ก็คือ While(ข้อแม้) ครับ
จะเห็นว่าเมื่อ Run โปรแกรมจะมีการแสดงคำทั้งหมด
5 บรรทัด โดยเริ่มจากบรรทัดแรก index จะเท่ากับ 0 และบรรทัดสุดท้ายเท่ากับ
4 ครับ ทั้งนี้ก็เพราะเราให้ค่าเริ่มต้นเท่ากับ 0 และให้วนลูปไปเรื่อยๆจนกว่าข้อแม้จะเป็นเท็จ
ก็คือค่าเท่ากับ 5 ก็จะเป็นการจบลูปครับ
Do-While Loop
|
|
 |
|
#include <iostream.h> int main() { int index=0; do { cout<<"The value of index is "<<index<<"\n"; index=index+1; }while(index>5); return 0; }
|
|
|
|
 |
[Download Code]
จากตัวอย่างเมื่อ Run ออกมาจะเห็นผลแค่บรรทัดเดียวก็คือ
index=0 ครับ เหตุที่เป็นเช่นนี้ก็เพราะว่า ข้อแม้ของเราคือ index>5 ครับ
ดังนั้นเมื่อเริ่มลูป เราให้ค่าเริ่มต้นเป็น 0 แต่ข้อแม้เราคือ ต้องมีค่ามากกว่า
5 ดังนั้นข้อแม้จึงเป็นเท็จครับ
ผมทำแบบนี้เพื่อที่จะให้เห็นความแตกต่างระหว่าง
while และ do while ครับ โดยที่ while นั้น จะมีการตรวจข้อแม้ก่อน ถ้าข้อแม้เป็นจริงจึงจะเริ่มคำสั่งภายในลูป
ส่วน do while นั้น จะทำคำสั่งภายในลูปก่อน 1ครั้ง แล้วจึงตรวจสอบข้อแม้ครับ
For Loop
|
|
 |
|
#include <iostream.h> int main() { int index; for(index=0;index<5;index++) cout<<"The value of index is "<<index<<"\n"; return 0; }
|
|
|
|
 |
[Download Code]
จะเห็นว่าการใช้ For นั้นจะไม่มีเครื่องหมาย
{} ครับ เพราะว่าคำสั่งภายในมีแค่บรรทัดเดียว ดังนั้นจึงไม่ต้องมี {} แต่ถ้าคำสั่งภายในมีมากกว่า
1 บรรทัดก็จำเป็นที่จะต้องมีเครื่องหมาย {} นะครับ
การใช้คำสั่งก็คือ for(ให้ค่าเริ่มต้น;ข้อแม้;คำสั่งหลังจากวนลูป
1 รอบ)
มีสิ่งใหม่ในตัวอย่างนี้ก็คือ index++
ครับ ซึ่งก็มีความหมายเช่นเดียวกันกับ index=index+1 ครับ
การใช้คำสั่ง IF
|
|
 |
|
#include <iostream.h> int main() { int index; for(index=0;index<5;index++) { if(index<4) { if(index==3) cout<<"index is 3"<<"\n"; else cout<<"index is less than 3"<<"\n"; } else cout<<"index is greater than 3"<<"\n"; } return 0; }
|
|
|
|
 |
[Download Code]
การใช้คำสั่ง if ก็คือ if(ข้อแม้)
ครับ ส่วนคำสั่งภายใน else นั้นจะถูกกระทำก็ต่อเมื่อ ค่าของ if เป็นอย่างอื่นนอกจากทีกำหนดไว้ครับ
ส่วน == นั้นเป็นตัวที่ใช้เปรียบเทียบครับ ส่วน = เฉยๆ นั้นเป็นการให้ค่าครับ
การใช้คำสั่ง Switch
|
|
 |
|
#include <iostream.h> int main(){ int index; for(index=0;index<5;index++) { switch(index) { case 0: case 1: case 2:cout<<"Index is less than 3"<<"\n"; break; case 3:cout<<"Index is 3"<<"\n"; break; default:cout<<"Index is greater than 3"<<"\n"; break; } } return 0; }
|
|
|
|
 |
[Download Code]
การใช้คำสั่ง switch ก็อย่างที่เห็นนะแหละครับ
จากนั้น ก็เป็นการบอกว่าถ้าค่าเท่านี้ให้ทำอะไร อย่างเช่น ถ้าค่าเท่ากับ
3 ก็ให้บอกว่า index=3 ครับ
จะเห็นว่าใน case 0 และ 1 ผมไม่ได้เขียนคำสั่งอะไรไว้
ไม่ใช่หมายความว่าไม่ทำอะไรนะครับ แต่หมายความว่า ในบรรทัดใดก็ตามที่ไม่มีคำสั่ง
ก็ให้ทำคำสั่งในบรรทัดต่อมาแทน ถ้าบรรทัดต่อมาไม่มีคำสั่งอีก ก็ทำในบรรทัดต่อมาเรื่อยๆครับ
ส่วนคำสั่ง default นั้นก็หมายความว่า
ถ้าค่าที่ออกมาไม่ตรงกับค่า case ที่เราตั้งไว้ก็จะมาทำคำสั่งในนี้ครับ
และสุดท้ายคำสั่ง break ก็เป็นคำสั่งบอกให้จบส่วนของคำสั่ง
switch ครับ และนอกจากนี้ยังมีอีกคำสั่งหนึ่งนั้นก็คือ continue ซึ่งมีวิธีใช้เหมือนกัน
แต่มีความหมายต่างกันคือ break เป็นคำสั่งให้จบลูป ส่วน continue เป็นคำสั่งให้ไปเริ่มต้นทำลูปใหม่ครับ
การใช้คำสั่ง GoTo
|
|
 |
|
#include <iostream.h> int main() { goto start; start: cout<<"Start"<<"\n"; return 0; }
|
|
|
|
 |
[Download Code]
คำสั่ง goto จะเป็นคำสั่งที่ใช้ในการกระโดดไปทำงานตามชื่อของ
Label ที่เรากำหนด(ตามตัวอย่าง Label จะชื่อ Start)
|