본 글은 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 |
댓글