본 글은 C언어를 배우고 나서 복습 겸 정리한 글입니다.
코드
#include <stdio.h> int main() { int a; int b; printf("a : "); scanf("%d", &a); printf("b : "); scanf("%d", &b); if (a == b){ printf("a와 b는 같습니다."); } else if (a > b){ printf("a가 b보다 큽니다."); } else printf("a가 b보다 작습니다."); return 0; }
실행결과
입력 : 10
, 2
출력 : a가 b보다 큽니다.
입력 : 2
, 3
출력 : a가 b보다 작습니다.
요약
line 13~20
if
(만약) a와 b가 같다면, a와 b는 같습니다. 출력
esle if
(만약 위 조건이 아니고) a가 b보다 크다면, a가 b보다 큽니다. 출력
else
(위 조건 모두 아니라면) a가 b보다 작다면, a가 b보다 작습니다. 출력
if 문
if
if문을 사용하면 조건에 따라서 수행하는 코드가 다르게 할 수 있다.
if (조건) { 실행될 코드 } 의 형식으로 사용하며 조건이 참일 때만 실행된다.
* if()뒤에 ;(세미콜론)을 붙이지 않도록 주의
if뒤에 ;(세미콜론)을 붙인다면 if문이 끝나버리고 실행될 코드는 if문과 관계 없이 실행되어 버린다.
만약 예제 코드처럼 실행될 코드가 한 줄이라면 중괄호는 생략 가능하다.
#include <stdio.h> int main() { if(4 > 3) printf("if문 예제"); return 0; }
if문을 다중으로 쓰면 조건을 여러개 만족 시켜야 실행되도록 할 수 있다.
#include <stdio.h> int main() { int a = 2; int b = 3; int c = 5; if (a < b) //a가 b보다 작으면 밑 줄 실행 if (a < c) //a가 c보다 작으면 밑 줄 실행 if(b < c) //b가 c보다 작으면 밑 줄 실행 printf("hello"); return 0; }
다중 if문은 논리 연산자들 통해 간단하게 표현할 수 있다.
#include <stdio.h> int main() { int a = 2; int b = 3; int c = 5; if ((a < b) && (a < c) && (b < c)) printf("AND"); if ((a < b) || (a < c) || (b < c)) printf("OR"); return 0; }
&&연산으로는 모든 조건을 만족시키면 실행,
|| 연산으로는 (a < b), (a < c), (b < c)중에 하나만 만족시켜도 실행이 된다.
괄호()는 조건의 연산을 더 정확하게 할 수 있도록 해준다.
예를 들면, A라는 조건과 B라는 조건이 둘 중 하나 이상이 참(OR)이고(AND) C라는 조건이 참일때 실행은 다음과 같이 쓸 수 있다.
if (A || B)
if C
실행;
이것을 논리연산자를 사용하고 괄호로 순서를 명확히 해주면
if ((A || B) && C)
실행;
이렇게 더 간단하게 쓸 수도 있다.
if - else
if - else 문은 if의 조건이 참이면 실행, 거짓이면 else가 실행된다.
#include <stdio.h> int main() { int a = 4; int b = 3; if (a==b) printf("a와 b가 같다."); else printf("a와 b가 같지 않다."); return 0; }
a와 b는 같지 않으므로 if의 실행문을 실행하지 않고
else의 실행문이 실행된다.
if - else if - else
if - else if - else문은 if의 조건을 검증하고, 거짓이면 else if의 조건을 검증하고, 거짓이면 else가 실행된다.
else if 의 개수는 제한이 없다.
#include <stdio.h> int main() { int a = 6; int b = 2; if (a == b){ printf("a와 b는 같습니다."); } else if (a > b){ printf("a가 b보다 큽니다."); } else printf("a가 b보다 작습니다."); return 0; }
a가 b보다 크므로 if는 건너뛰고 else if 가 실행된다.
if - else (if - else if - else)문과 if문을 여러개 쓴 것을 비교해 보면
if문은 첫 if를 검증하고도 밑의 if를 계속 검증하며 내려가게 된다.
반면 if - else (if - else if - else)문은 if가 참이면 조건문 자체를 빠져나가므로 더 빠르다.
'Programming > C Memo' 카테고리의 다른 글
10. 반복문(2) [while, do - while] (0) | 2020.02.14 |
---|---|
09. 반복문(1) [for문] (0) | 2020.02.12 |
07. 입력 (0) | 2020.02.10 |
06. 출력과 주석 (0) | 2020.02.10 |
05. 연산자(2) [ 비트, 시프트, 삼항, 대입] (0) | 2020.02.10 |
댓글