'만약에'라는 if의 의미처럼 C에서도 if문은 조건에 따라 다르게 실행되도록 만들 수 있습니다.
형식
if (조건식) { 조건식의 결과가 참일 때 실행하고자 하는 명령문; }
if 문에서 실행할 문장이 한 줄이라면 중괄호( { } )를 생략할 수 있습니다.
x에 9가 들어있으므로 조건식 x<10은 참이 되어 if문 안의 문장을 실행합니다.
|
||||
실행결과 10보다 작습니다. |
조건이 참일 때 실행하는 문장과 거짓일 때 실행하는 문장이 다를 때는 if-else 문을 사용합니다.
if-else문에서는 만약 조건이 참이면 if 아래의 문장을 실행하고, 조건이 참이 아니라면 else 아래의 문장을 실행합니다.
형식
if (조건식) { 조건식의 결과가 참일 때 실행하고자 하는 명령문; } else { 조건식의 결과가 거짓일 때 실행하고자 하는 명령문; }
if-else도 if와 마찬가지로 실행할 코드가 한 줄이면 중괄호를 생략할 수 있습니다.
'변수 num에 저장된 값이 짝수다.' 라는 명제는 'num를 2로 나눈 나머지가 0과 같다.'라는 수식으로 바꿀 수 있습니다.
num%2==0으로 'num을 2로 나눈 나머지가 0과 같다.'라는 명제를 표현할 수 있습니다.
if (num%2==0)를 통해 'num을 2로 나눈 나머지가 0과 같은가?'라는 조건이 '참'이면 printf("짝수입니다.\n"); 가 실행되고, '거짓'이면 printf("홀수입니다.\n"); 가 실행되는 예제입니다.
|
if-else if-else 문은 셋 이상의 실행문에서 하나를 선택해서 실행하는 구조입니다.
중간에 else if 를 얼마든지 추가할 수 있습니다.
형식
if (조건식1) { 조건식의 결과가 참일 때 실행하고자 하는 명령문; } else if (조건식2) { 조건식2의 결과가 참일 때 실행하고자 하는 명령문; } else { 조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문; }
if-else if-else도 if와 마찬가지로 실행할 코드가 한 줄이면 중괄호를 생략할 수 있습니다.
점수를 입력받은 후 90점 이상은 A, 80점 이상은 B, 70점 이상은 C, 60점 이상은 D, 그 외에는 F학점으로 처리하는 예제입니다.
|
switch 문은 if-else if-else 문과 유사합니다. switch 문은 여러 개의 상수 중에서 조건에 해당하는 하나를 골라 실행합니다.
형식
switch (조건 값) { case 값1: 조건 값이 값1일 때 실행하고자 하는 명령문; break; case 값2: 조건 값이 값2일 때 실행하고자 하는 명령문; break; ... default: 조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문; break; }
break는 해당 블록을 탈출하는 데 사용합니다. 여기서는 switch 문을 빠져나옵니다.
아래 예제에서 보이는 switch(menu)에서의 menu는 switch문으로 전달되는 인자의 정보입니다.
이 메뉴는 정수형 변수어야 하는데, 대표적으로 int형 변수가 위치하게 됩니다. 그리고 이 menu에 저장된 값에 따라서 실행할 영역이 결정됩니다.
|