If

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View If as PDF for free.

More details

  • Words: 525
  • Pages: 5
3.4 ขอความสั่งใหเลือกทํา 3.4.1 ขอความสั่ง if ขอความสั่ง if เปนขอความสั่งที่ใหตรวจสอบผลลัพธจากนิพจน ถาผลลัพธเปน จริงใหทํางานตามขอความสั่งที่อยูภายในขอความสั่ง if ขอความสั่ง if รูปแบบที่ 1 if (นิพจน) ขอความสั่ง A ;

ใชสําหรับกรณีที่ขอความสัง่ ภายในขอความสั่ง if มีเพียงขอความสั่งเดียว ถานิพจนให ผลลัพธเปนจริง จะกระทําการขอความสั่ง A แตถานิพจนเปนเท็จ จะไมกระทําการขอความสั่ง A แตจะจบการทํางานในขอความสั่ง if แลวไปกระทําการขอความสั่งที่อยูถ ัดไป ตัวอยาง 3.1 การใชขอความสั่ง if เพื่อเปรียบเทียบคา 2 คา #include<stdio.h> #include main() { int x,y,z ; y=1; z=5; x=y*z; if(x = = 5)

// เปรียบเทียบ x มีคา เทากับ 5 หรือไม

x++; // ถา x มีคาเทากับ 5 เพิ่มคา x ขึ้นอีก 1 printf(“x = %d” , x); getch( ); }

ผลการกระทําการ

ขอความสั่ง if รูปแบบที่ 2

X=6

if (นิพจน) { ขอความสั่ง 1; ขอความสั่ง 2; … ขอความสั่ง n; }

ใชสําหรับกรณีที่ขอความสัง่ ภายในขอความสั่ง if มีมากกวา 1 ขอความสั่ง ขอความสั่ง เหลานั้นจะตองอยูภายในเครื่องหมายปกกา { } ถานิพจนใหผลลัพธเปนจริง จะกระทําการขอความ สั่ง 1 ถึงขอความสั่ง n แตถานิพจนเปนเท็จจะไมกระทําการขอความสั่ง 1 ถึงขอความสั่ง n ตัวอยาง 3.2 การใชขอความสั่ง if #include<stdio.h> #include main() { int x,y ; scanf(“%d%d” , &x,&y); if(x>y) { x=x-y; printf(“x is greater than y”); } getch( ); }

รับคาจํานวนเต็ม 2 คา นํามาเก็บไวใน x และ y เปรียบเทียบคา x และ y ถาคาที่เก็บใน x มากกวาคาทีเ่ ก็บใน y จะนําผลลัพธของ x-y ไปเก็บไวใน x และแสดงขอความ x is greater than y แตถาคาที่เก็บใน x นอยกวาหรือเทากับคาที่เก็บใน y จะไมกระทําการขอความสั่ง x=x-y; และฟงกชั่น printf(“x is greater than y”);

3.4.2 ขอความสั่ง if –else ขอความสั่ง if –else เปนขอความสั่งที่ใหตรวจสอบผลลัพธจากนิพจน ถา นิพจนเปนจริงใหทํางานตามขอความสั่งที่อยูภายในขอความสั่ง if แตไมกระทํา การขอความสั่งที่อยูภายใน else หากผลลัพธเปนเท็จ จะไมกระทําการขอความสั่ง ที่อยูภายในขอความสั่ง if แตจะกระทําการขอความสั่งที่อยูภายใน else ขอความสั่ง if-else if (นิพจน) ขอความสั่ง A; else ขอความสั่ง B;

ใชสําหรับกรณีที่ขอความสัง่ ภายในขอความสั่ง if ที่จะถูกกระทําการมีเพียงขอความสั่ง เดียว ถานิพจนเปนจริง จะกระทําการขอความสั่ง A แตถานิพจนเปนเท็จ จะกระทําการขอความ สั่ง B ขอความสั่ง A หรือ ขอความสั่ง B เพียงขอความสัง่ เดียวเทานัน้ ที่จะถูกกระทํา เมื่อนิพจนเปน จริง หรือเท็จ ตัวอยาง 3.3 การใชขอความสั่ง if – else #include<stdio.h> #include main() { int x,y ; scanf(“%d%d” , &x,&y); if(x>y) printf(“x is greater than y”); else printf(“x is less than or equal to y”); getch( ); }

รับคาจํานวนเต็ม 2 คา นํามาเก็บไวใน x และ y เปรียบเทียบคา x และ y ถาคาที่เก็บใน x มากกวาคาทีเ่ ก็บใน y จะแสดงขอความ x is greater than y แตถาที่เก็บใน x นอยกวาหรือเทากับคาที่เก็บใน y จะแสดงขอความ x is less than or equal to y

3.4.3 ขอความสั่ง if ซอน ขอความสั่ง if ซอน หมายถึง การนําขอความสั่ง if หรือ if –else ไปใสไว ภายในขอความสั่ง if หรือ if-else ซึ่งขอความสั่งที่อยูภายในนี้ อาจเปนขอความสั่ง if หรือ if-else ก็ได ขอความสั่ง if หรือ if-else ที่ซอนอยูภ ายใน อาจจะอยูหลัง if หรือหลัง else ก็ได และอาจซอนกันไดโดยไมจํากัดจํานวนขอความสั่ง ขอความสั่ง if ซอน if( นิพจน 1 ) ขอความสั่ง A; else if(นิพจน 2) ขอความสั่ง B; else if .. … else ขอความสั่ง N; ถานิพจน 1 ใหผลลัพธเปนจริง จะทํางานตามขอความสั่ง A แตถานิพจน 1 ใหผลลัพธเปนเท็จ จะตรวจสอบผลลัพธของนิพจน 2 ถานิพจน 2 ใหผลลัพธเปนจริง จะทํางานตามขอความสั่ง B แตถานิพจน 2 ใหผลลัพธเปนเท็จ ใหไปตรวจสอบผลลัพธของนิพจนถัดไป จนกระทั่ง สุดทาย หากไมมีนิพจนใดเปนจริงเลย จึงจะไปทํางานตามขอความสั่ง N

ตัวอยาง 3.4 การใชขอความสั่ง if ซอน โดยรับคาคะแนน แลวนําไปคํานวณหาระดับ คะแนน #include<stdio.h> #include main() { float score; char grade; scanf(“%f” , &score); if(score>100) printf(“Score must be less than or equal to 100”); else if(score>=80) grade=’G’; else if (score>=50) grade=’P’; else grade=’F’; printf(“\n Grade = %c”, grade); getch( ); }

//1 //2 //3 //4 //5 //6 //7 //8 //9 //10 //11 //12 //13 //14 //15 //16 //17

บรรทัดที่ 7 รับคาคะแนนจากแปนพิมพ บรรทัดที่ 8 ถา score มีคามากกวา 100 ใหแสดงขอความ Score must be less than or equal to 100 บรรทัดที่ 10 ถา score มีคาตั้งแต 80 ขึ้นไป ไปทําตามขอความสั่งในบรรทัดที่ 11 มิฉะนั้นไปที่บรรทัดที่ 12 บรรทัดที่ 11 ใหเก็บ G ไวใน grade แลวไปที่ขอความสั่งในบรรทัดที่ 16 บรรทัดที่ 12 ตรวจสอบผลลัพธของนิพจน score >=50 ถา score มีคาตั้งแต 50 ขึ้น ไป ใหกระทําการขอความสั่งในบรรทัดที่ 13 แตถา score มีคานอยกวา 50 ใหกระทําการ บรรทัดที่ 14 บรรทัดที่ 13 ใหเก็บ P ไวใน grade แลวไปที่ขอความสั่งในบรรทัดที่ 16 บรรทัดที่ 15 ใหเก็บ F ไวใน grade บรรทัดที่ 16 ใหแสดงขอความ Grade= และแสดงคาของ grade

Related Documents

If
November 2019 36
If
December 2019 44
If
June 2020 12
If
November 2019 35
If
December 2019 36
If
November 2019 32