if 조건문
if (조건절)
{
실행문;
}
if 조건문은 위와 같은 형식을 가지며, 조건에 해당하는 경우에 실행문을 실행시킨다.
#include <stdio.h>
int main(void)
{
int num;
printf("정수 입력: ");
scanf("%d", &num);
if (num<0)
printf("입력 값은 0보다 작다. \n");
if (num>0)
printf("입력 값은 0보다 크다. \n");
if (num==0)
printf("입력 값은 0이다. \n");
return 0;
}
위의 예시처럼 각각의 if문에 해당하는 조건을 명시해 코드를 작성할 수도 있지만,
조건에 해당하는 경우(if)와 그렇지 않은 경우(else)로 나누에 구분해 작성할 수도 있다.
// if ~ else
#include <stdio.h>
int main(void)
{
int num;
printf("정수 입력: ");
scanf("%d", &num);
if (num<0)
printf("입력 값은 0보다 작다. \n");
else if (num>0)
printf("입력 값은 0보다 크다. \n");
else
printf("입력 값은 0이다. \n");
return 0;
}
조건 연산자(삼항 연산자)
`(condition) ? A : B`의 형태를 갖는 연산자로, 조건이 참인 경우에 A를 반환하고 거짓인 경우에 B를 반환한다.
int main(void)
{
int num, abs;
printf("정수 입력: ");
scanf("%d", &num);
abs = num>0 ? num:num*(-1); // num이 양수인 경우 그대로, 음수인 경우 양수로 return
printf("절댓값: %d \n", abs);
return 0;
}
break : 반복문 탈출
`break`를 사용하면 `break`가 속해있는 반복문을 탈출하게 된다.
int main(void)
{
int sum=0, num=0;
while (1) // 무한 루프
{
sum+=num;
if (sum>5000)
break; // sum>5000이면 while문 탈출
num++;
}
printf("sum: %d \n", sum);
printf("num: %d \n", num);
return 0;
}
continue : 건너뛰기(생략)
`continue`를 사용하면 조건에 해당하는 경우, 해당 부분을 생략하고 넘어가게 된다.
int main(void)
{
for (int num=0; num<3; num++)
{
if (num==1)
continue;
printf("num: %d \n", num);
}
return 0;
}
/* output
num: 0
num: 2
*/
switch문
`switch`문의 기본 구성은 다음과 같다.
switch(변수)
{
case a:
실행문;
case b:
실행문;
break;
default:
실행문;
}
switch문은 if처럼 조건문이지만, 1:1의 조건만을 설정할 수 있으며 `num>=1`과 같은 범위나 연산에 대한 조건을 적용할 수 없다.
실행 방식은 if절과는 차이가 존재하는데 if절은 조건에 해당하는 실행문만을 실행하는 반면에, switch문의 경우에는 조건에 해당하는 case로 이동한 뒤에 해당 case이하의 모든 실행문을 실행하며, 그 과정에서 `break`가 있는 경우에 그 곳에서 실행을 멈추게 된다.
#include <stdio.h>
int main(void)
{
int num;
printf("insert num: ");
scanf("%d", &num);
switch (num)
{
case 1:
printf("num is 1 \n");
break;
case 2:
printf("num is 2 \n");
case 3:
printf("num is 3 \n");
default:
printf("default \n");
}
return 0;
}
위 예시에서 `num`에 1을 입력하게 되면, case 1으로 이동해 "num is 1"을 출력한 후에 `break`로 인해 출력을 멈추게 된다.
`num`이 2인 경우에는 case 2이하의 실행문을 실행하는 과정에서 `break`문이 없기 때문에, "num is 2", "num is 3", "default"를 모두 출력한다.
switch (n)
{
case 'a':
case 'A':
실행문 a;
break;
case 'b':
case 'B':
실행문 b;
break;
}
또한, 위와 같이 하나의 공통된 실행문을 실행하기 위한 조건에 대해 여러 case를 지정해 사용하는 것도 가능하며,
default문을 생략하는 것도 가능하다.
'공부 > C언어' 카테고리의 다른 글
C언어 - (8) : 함수/지역변수/전역변수/static변수 (0) | 2024.10.10 |
---|---|
C언어 - 난수 생성 (1) | 2024.10.09 |
C언어 TIL (241007) (0) | 2024.10.07 |
C언어 - (6) : 반복문 (0) | 2024.10.07 |
C언어 - (5) : printf / scanf (3) | 2024.10.06 |