#6 if else, break, continue

김터넷 ㅣ 2023. 1. 18. 23:48

728x90
반응형

if (조건) {...} else {...}

#include <stdio.h>

 int main(void)
  
 {
 // 티켓을 구매한다고 가정, 학생/ 일반인으로 구분 (일반인: 20세)

 int age = 17;
  
 if (age >= 20)
 {
 printf("일반인 입니다\n");
  }
  else
 {
 printf("학생입니다\n");
 }


 //위에는 두가지의 조건이다. 그렇다면 초딩(8~13) 중딩(14~16) 고딩(17~19) 세가지로 나눈다면?

 int age = 8;
 if (age >= 8 && age <= 13) // && 두가지 조건이 모두 같을때 쓰는 기호
 {
 printf("초등학생입니다\n");
 }
 else if (age >= 14 && age <= 16)
 {
 printf("중학생입니다\n");
 }
 else if (age >= 17 && age <= 19)  // else if구문은 여러번 나올 수있다.
 {
 printf("고등학생입니다.\n");
 }
 else     //else if 조건에 없으면 else로 빠져나와서 조건을 수행하게 된다.
 {
 printf("학생이 아닌가봐요\n");
 }
 

 break , continue

 예시 -  1번부터 30번까지의 학생에게 1번에서 5번까지 조별 발표를 한다.

 for (int i = 1; i <= 30; i++)
 {
 if (i >= 6)
 {
  printf ("나머지 학생은 집에 가세요\n");
  break;  // 조건이 맞을때 for문을 탈출하게 만드는게 break 일단 break를 만나면 탈출하게 된다
  }
  printf ("%d번 학생은 조별 발표를 준비를 하세요\n", i);
  }



break , continue

예시 - 1번부터 30번까지 있는 반에서 7번 학생은 아파서 결석 7번을 제외하고 6번부터 10번가지 조별 발표를 한다.

 for (int i = 1; i <= 30; i++)
 {
   if (i >= 6 && i <= 10)
 {
   if (i == 7)  //if문 안에 또다른 if문이 중첩 되었는데 상관없다. if문은 얼마든지 중첩 가능하다.
 {
    printf("%d번 학생은 결석입니다\n", i);   // i는 7번학생이라는 조건에 부합했지만
    continue;     //  continue는 조건에 들어왔을때 continue를 만나면 그 이후 문장을 실행 하지않고
                    //  바로 for문의 조건으로 가게 된다. 그러므로 아래의 출력문은 제외하게 된다.
 }
 printf("%d번 학생은 조별 발표 준비를 하세요\n", i);

 }

 

continue가 없다면 다음 printf문을 출력하기 때문에 이렇게 7번 학생이 중복 된다.

하지만 continue를 선언해주면 중복없이 잘 출력되는 것을 확인 할 수 있다.

반응형

'C 언어' 카테고리의 다른 글

#8 UP & DOWN  (0) 2023.01.20
#7 and, or, rand, switch  (0) 2023.01.19
#5 이중반복문 예시 거꾸로별과 피라미드  (0) 2023.01.17
23年 1月 16일 마음에도 솔직해지는 용기  (0) 2023.01.16
#4 알고는 치자 !  (0) 2023.01.16