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 |