1. คําสั่ง if
คําสั่ง if เปนคําสั่งที่ใชในการเขียนแบบเงื่อนไข ตัวอยางของประโยคในลักษณะเงื่อนไขเปนตัวอยางที่สามารถพบเห็นไดในชีวิตประจําวัน เชน ถาวันนี้ฝนไมตก ฉันจะเดินไปโรงเรียน แตถาฝนตก ฉันจะขอใหคุณพอไปสงที่โรงเรียนหรือตัวอยางเชน ถาฉันสอบไดคะแนนดี คุณพอและคุณแมจะภูมิใจ
จะใหวาประโยคเงื่อนไขดังกลาวมีอยู 2 ลักษณะ คือ ถาเงื่อนไขเปนจริงเกิดเหตุการณหนึ่ง แตถาไมจริงจะเกิดอีกเหตุการณหนึ่ง กับประโยคในลักษณะที่ถาเงื่อนไขเปนจริงจึงจะเกิดเหตุการณขึ้นเทานั้น
1.1 คําสั่ง if-else
คําสั่ง if ในรูปแบบแรกจะคํ าสั่งที่ตองทํ าทั้งในกรณีที่เงื่อนไขเปนจริงและเปนเท็จ โดยใช
นิพจนตรรกศาสตรมาเปนเครื่องมือชวยในการตรวจสอบเงื่อนไข มีรูปแบบคํ าสั่ง คือ
if ( เงื่อนไข )
คํ าสั่งที่ 1;
else
คํ าสั่งที่ 2;
ตัวอยางเชน หากรับขอมูลจากผูใชและตองการตรวจสอบวาเลขที่รับเขามามีคามากกวา 10
ใหพิมพขอความวา “Number XXXX is over than 10” แตถาไมใชใหพิมพขอความวา “Number
XXXX is not over than 10” จะเขียนเปนคําสั่งไดวา
scanf(“%d”, &number);
if (number > 10)
printf(“Number %d is over than 10”, number);
else
printf(“Number %d is not over than 10”, number);
แตหากเงื่อนไขเปนจริงหรือเท็จแลวตองทํ าคํ าสั่งมากกวา 1 คํ าสั่ง จะตองใชเขียน if-else ใน
รูปแบบที่ใชเครื่อง { } ซึ่งแสดงขอบเขตของการทํ าเงื่อนไข ครอบคํ าสั่งที่ตองทํ าในแตละเงื่อนไข มีรูป
แบบดังนี้
if ( เงื่อนไข ) {
คํ าสั่งที่ 1;
คํ าสั่งที่ 2;
….
} else {
คํ าสั่งที่ 3;
คํ าสั่งที่ 4;
…
}
ตัวอยางเหมือนในตัวอยางกอนหนานี้ แตเพิ่มเงื่อนไขวา ถาเลขนั้นมีคามากกวา 10 ใหลด
เลขนั้นลง 5 แสดงไดดังตัวอยาง
scanf(“%d”, &number);
if (number > 10) {
printf(“Number %d is over than 10”, number);
number = number – 5;
} else
printf(“Number %d is not over than 10”, number);
1.2 คําสั่ง if
ในกรณีที่ประโยคเงื่อนไขมีการทํ างานเฉพาะเงื่อนไขที่เปนจริงเทานั้น โดยไมมีการทํ างานใด
ในเงื่อนไขที่เปนเท็จ ดังแสดงในรูปที่ 3.1 (ข) สามารถเขียนแทนดวยคํ าสั่ง if โดยไมตองใสคําสั่ง
else แสดงดังรูปแบบ
if ( เงื่อนไข )
คํ าสั่งที่ 1;
แตถาเงื่อนไขเปนจริงแลวมีการทํ าคํ าสั่งมากกวา 1 คํ าสั่งขึ้นไป ก็ใชรูปแบบของเครื่องหมาย
{ } ซึ่งใชในกรณีที่มีคํ าสั่งที่ตองทํ าในเงื่อนไขและการวนซํ้ ามากกวา 1 คํ าสั่ง เพื่อแสดงขอบเขตของ
การทํ างานนั้น
ตัวอยางเชน ใหรับขอมูลจํ านวนเต็มจากผูใช หากขอมูลนั้นมีคามากกวา 60 หรือนอยกวา
20 ใหขึ้นขอความวา “Number XXXX is out of range” เขียนไดดังตัวอยาง
scanf(“%d”, &number);
if (number < 20 || number > 60)
printf(“Number %d is out of range”, number);
1.3 คําสั่ง if แบบซับซอน
ในบางกรณีประโยคเงื่อนไขอาจจะมีความซับซอน มีการเปรียบเทียบเงื่อนไขเดียวกันกับหลายคา เชน ใหรับขอมูลชั้นปของนักศึกษาและใหพิมพขอความตรงกับชั้นป กํ าหนดวาชั้นปที่ 1 พิมพวา“Freshman” ชั้นปที่ 2 พิมพวา “Sophomore” ชั้นปที่ 3 พิมพวา “Junior” ชั้นปที่ 4 พิมพวา “Senior” ชั้นปอื่น ๆ พิมพวา “Super”
scanf(“%d”, &year);
if (year == 1)
printf(“Freshman”);
else if (year == 2)
printf(“Sophomore”);
else if (year == 3)
printf(“Junior”);
else if (year == 4)
printf(“Senior”);
else
printf(“Super”)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น