리눅스 C-언어 초급과정
5. if문
다유데브
2022. 11. 14. 10:56
반응형
1) 목표
- if 문 이해하기
- if 문에서 사용하는 조건(연산자)에 대해 알아보기
- 조건연산자 이해하기
2) 설명
- if(조건)
조건의 비교연산자 결과 참(true)/거짓(false)으로 사용 - if(값)
값이 0이면 거짓(false)이고
값이 0이외면 참(true)입니다. (-1, 1, ..)
비교연산자(조건) | 설명 |
== | 같음 |
!= | 다름(같지 않음) |
> | 크다 |
< | 작다 |
>= | 크거나 같다 |
<= | 작거나 같다 |
3) 사용법
▶ if 단독사용
조건이 참(true)이면 { 실행문; } 이 실행됩니다.
실행문이 1개인 경우 {} 가 생략될 수 있습니다.
(1개의 실행문일 경우도 {}로 감싸는걸 추천드립니다.)
if (조건) {
실행문;
}
▶ if ~ else
조건이 참(true)이면 실행문1이 실행되고, 거짓(false)이면 실행문2가 실행됩니다.
if (조건) {
실행문1;
} else {
실행문2;
}
▶ if ~ else if ~ else
조건1이 참이면 실행문1, 조건2가 참이면 실행문2, 조건3이 참이면 실행문3이 실행되고, 그외는 실행문4가 실행됩니다.
if (조건1) {
실행문1;
} else if (조건2) {
실행문2;
} else if (조건3) {
실행문3;
} else {
실행문4;
}
4) 예제프로그램
- vi if.c
#include <stdio.h>
int main() {
int nVal = 10;
// if문 {} 가 있는 경우
if (nVal == 10) {
printf("TRUE: nVal == 10 \n");
}
// if문 {} 가 없는 경우 : 코드가 1줄인 경우
if (nVal == 10)
printf("TRUE: nVal == 10 \n");
// if(값) 으로 사용
if (0) {
printf("TRUE: value 0 \n");
}
if (-10) {
printf("TRUE: value -10 \n");
}
// if ~ else
if (nVal == 5) {
printf("TRUE: nVal == 5 \n");
} else {
printf("FLASE: nVal != 5 \n");
}
if (nVal < 3) {
printf("1. nVal < 3 \n");
} else if (nVal < 5) {
printf("2. nVal < 5 \n");
} else if (nVal <= 10) {
printf("3. nVal <= 10 \n");
} else {
printf("4. else \n");
}
// 조건연산자
// if ~ else문을 대체할 수 있습니다.
printf("조건연산자\n");
(nVal == 5) ? printf("TRUE: nVal == 5 \n") : printf("FLASE: nVal != 5 \n");
return 0;
}
5) 컴파일/실행
~/c-lecture (master ✘)✹✭ ᐅ gcc -o if if.c
~/c-lecture (master ✘)✹✭ ᐅ ./if
TRUE: nVal == 10
TRUE: nVal == 10
TRUE: value -10
FLASE: nVal != 5
3. nVal <= 10
조건연산자
FLASE: nVal != 5
~/c-lecture (master ✘)✹✭ ᐅ
6) 분석
- 변수 선언과 동시에 값을 할당 할 수 있습니다.
...
int nVal = 10;
- 실행문이 1개인 경우 {} 가 생략 가능합니다.
...
// if문 {} 가 없는 경우 : 코드가 1줄인 경우
if (nVal == 10)
printf("TRUE: nVal == 10 \n");
- == 연산자 nVal의 값이 10과 같으면 참(true)이므로 if 문의 내용이 출력됩니다.
...
// if문 {} 가 있는 경우
if (nVal == 10) {
printf("TRUE: nVal == 10 \n");
}
// if문 {} 가 없는 경우 : 코드가 1줄인 경우
if (nVal == 10)
printf("TRUE: nVal == 10 \n");
- c언어에서 0의 값은 거짓입니다. 그래서 if 문이 실행되지 않습니다.
...
// if(값) 으로 사용
if (0) {
printf("TRUE: value 0 \n");
}
- c언어에서 0이외의 값은 참(true)입니다. 그래서 if 문이 실행됩니다.
...
if (-10) {
printf("TRUE: value -10 \n");
}
- nVal의 값이 5가 아니므로 else 문이 실행됩니다.
...
// if ~ else
if (nVal == 5) {
printf("TRUE: nVal == 5 \n");
} else {
printf("FLASE: nVal != 5 \n");
}
- nVal의 값이 10이므로 조건 nVal <= 10 이 참이므로 printf("3. nVal <= 10 \n"); 실행됩니다.
...
if (nVal < 3) {
printf("1. nVal < 3 \n");
} else if (nVal < 5) {
printf("2. nVal < 5 \n");
} else if (nVal <= 10) {
printf("3. nVal <= 10 \n");
} else {
printf("4. else \n");
}
- 조건연산자는 if ~ else를 대체할 수 있습니다. if ~ else문을 단일 문장으로 사용가능하기 때문에 자주 사용됩니다.
...
// 조건연산자
// if ~ else문을 대체할 수 있습니다.
printf("조건연산자\n");
(nVal == 5) ? printf("TRUE: nVal == 5 \n") : printf("FLASE: nVal != 5 \n");
- 조건연산자는
(조건) ? 참(true)일때 실행문 : 거짓(false)일때 실행문 으로 사용됩니다.
(nVal == 5) ==> 조건이고
? printf("TRUE: nVal == 5 \n") ==> 조건이 참일때 즉, nVal의 값이 5일때 실행됩니다.
: printf("FALSE: nVal != 5 \n") ==> 조건이 거짓일때 즉, nVal의 값이 5가 아닐때 실행됩니다.
반응형