| การจะสั่งให้โปรแกรมทำอะไร ไปทางไหน อย่างไร เราก็ต้องมีการกำหนดเงื่อนไขการทำงานให้กับโปรแกรม ว่าจะให้ไปทำงานไหนก่อน ดูตัวอย่าง |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee |
. . . . . . . .ตัวอย่างข้างบนค่อนข้างจะตรงตัว คือ ถ้าค่าของ i น้อยกว่า 100 พิมพ์ข้อความ Sawasdee แจกแจงได้ดังนี้if แปลว่า ถ้าเครื่องหมายเปรียบเทียบค่าสองค่า ที่ใช้บ่อยๆ ได้แก่ < น้อยกว่าจากเครื่องหมายข้างบน เราสามารถนำไปใช้ได้แบบนี้ |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee1Sawasdee4 |
. . . .. . .จะเห็นว่าโปรแกรมจะพิมพ์ข้อความมาสองบรรทัด เพราะเงื่อนไขต่อไปนี้ ถูกต้องif( i < 100 ) printf( "Sawasdee 1\n" ); //<-------- เปรียบเทียบว่าน้อยกว่า 100 หรือไม่ if( i <= 100 ) printf( "Sawasdee 4\n" ); //<-------- เปรียบเทียบว่าน้อยกว่าหรือเท่ากับ 100 หรือไม่. . . . . . . .ที่เหลือไม่ถูกต้อง ก็จะไม่พิมพ์ออกมา จำเครื่องหใายเปรียบเทียบไว้นะครับว่ามีอะไรบ้าง ต่อไปเป็นการเปรียบเทียบค่าจากตัวแปรสองตัว |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee1Sawasdee4 |
| . . . . . . . .เรายังสามารถเปรียบเทียบหลายๆ ชั้นได้โดยใช้เครื่องหมายวงเล็กครอบ แบบนี้ |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee |
. . . . . . . .คราวนี้มีเครื่องหมายประหลาด โผล่มาแล้ว ฮ่า ฮ่า ฮ่า ไม่ยากๆ เนื่องจากมีการเปรียบเทียบซ้อนกันหลายชั้น เราก็ต้องมีเครื่องหมายบอก แปลได้ว่าif((i < 100) || (i < j )) printf( "Sawasdee\n" );. . . . . . . .ถ้าค่าของ i น้อยกว่า 100 หรือ ค่าของ i น้อยกว่า ค่าของ j แปลเป็นภาษามนุษย์ก็ได้แบบนี้ละ นอกจากนั้นก็ต้องมีเครื่องหมายอื่นๆ อีกเพื่อความหลากหลายในการเปรียบเทียบข้อมูล ดังนี้ || หรือ. . . . . . . .ถ้า, หรือ, และ แค่นี้ละครับไม่มีอะไรมาก เราก็นำมาใช้งานแบบนี้ |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee1Sawasdee2 |
| แล้วถ้าเราต้องการสร้างเงื่อนไขที่ซ้อนลงไปอีก คือ มี if หลายๆชั้นเราจะทำอย่างไร ดูตัวอย่างการใช้คำสั่ง if ซ้อน if |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee1 |
| . . . . . .จะเห็นคำสั่งเพิ่มเข้ามาอีกคือ else จะเป็นการดำเนินดารเปรียบเทียบต่อจากรายการ if ก่อนหน้านั้นภ้าไม่เป็นจริง คือ ถ้า เงื่อนไข if( i > 100 ) ไม่เป็นจริง ก็จะมาทำเงื่อนไขต่อที่ if( i < 100) ทันที งงไหม ?? ก็ไม่มีอะไรมาก เหมือนโซ่ คล้องกันไว้แค่นั้นเอง ถ้าเงื่อนไขแรกเป็นจริง ก็ไม่ต้องมาทำเงื่อนไขที่สองงัย แต่ถ้าไม่มีelse ก็จะทำตามเงื่อนไขทั้งหนึ่ง และ สองลองเปรียบเทียบดูนะครับ อยากลองหลายๆ ชั้นก็ใส่ else ต่อท้ายเข้าไป คราวนี้มาดูอีกตัวอย่าง |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee1ha ha ha |
| . . . . . . . .คราวนี้เราใส่ขอบเขตการทำงานเข้าไป ก็ไม่ยากอะไรอีกนั่นละ ลองไม่ใส่ขอบเขตเข้าไปสิครับ ฮ่า ฮ่า ฮ่า ลองดูๆ จากตัวอย่างทั้งหมด เป็นการใช้คำสั่ง if ในการกำหนดเงื่อนไข และใช้เครื่องหมายเปรียบเทียบอีกทีหนึ่ง ต่อไปเป็นคำสั่งกำหนดเงื่อนไขอีกรูปแบบหนึ่ง ดูตัวอย่าง |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee1 |
| . . . . . . . .คำสั่ง switch จะมีความสะดวกมากกว่า คำสั่ง if ในกรณีที่มีเปรียบเทียบมากๆ การใช้ if เพียงคำสั่งเดียว คงไม่สะดวกเป็นแน่แท้ ลองเปรียบเทียบกับตัวอย่างข้างล่างดูนะครับ ทำงานเหมือนกัน |
| #include <stdio.h>#include <conio.h> int main( ) { int i = 10;} |
| Sawasdee1 |
| . . . . . . . .เมื่อเรารู้จักการกำหนดเงื่อนไขเบื้องต้นแล้ว ให้ลองนำความรู้จากบทต้นๆ มาทำการเขียนเปรียบเทียบกัน ดูนะครับ ลองเขียนเงื่อนไขภายใน function ของเราเอง หรือการส่งค่า รับค่า ลองดู ไม่ยากๆ |
สรุป ได้อะไรบ้าง
| if( i < 100 ) printf( "Sawasdee\n" ); //<-------- คำสั่ง if แปลว่า ถ้า< น้อยกว่า > มากกว่า == เท่ากับ <= น้อยกว่หรือเท่ากับ >= มากกว่าหรือเท่ากับ if( i < 100 ) printf( "Sawasdee 1\n" ); //<-------- เปรียบเทียบว่าน้อยกว่า 100 หรือไม่ if( i > 100 ) printf( "Sawasdee 2\n" ); //<-------- เปรียบเทียบว่ามากกว่า 100 หรือไม่ if( i == 100 ) printf( "Sawasdee 3\n" ); //<-------- เปรียบเทียบว่าเท่ากับ 100 หรือไม่ if( i <= 100 ) printf( "Sawasdee 4\n" ); //<-------- เปรียบเทียบว่าน้อยกว่าหรือเท่ากับ 100 หรือไม่ if( i >= 100 ) printf( "Sawasdee 5\n" ); //<-------- เปรียบเทียบว่ามากกว่าหรือเท่ากับ 100 หรือไม่ if( i < 100 ) printf( "Sawasdee 1\n" ); else //<--------- เพิ่มเข้ามา if( i < 50 ) printf( "Sawasdee 2\n" ); switch( i ) //<----- ดูตรงนี้ { // จะเปรียบเทียบว่าเท่ากันหรือไม่} |
| . . . . . . . .วันนี้ก็ได้เรื่องการสร้าง การกำหนดเงื่อนไขและเปรียบเทียบไปบาง ส่วนลองหัดเขียนดูตามตัวอย่างนะครับ เพราะไม่ยากอะไร แล้วต่อไป จะเป็นการเข้าเงื่อนไขแบบวนรอบ หรือ loop คอยติดตามนะครับ |