"Else if"의 두 판 사이의 차이
잔글 |
|||
(사용자 2명의 중간 판 2개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | ''' | + | '''Else if'''는 [[if]]문에서 조건을 추가하고 싶을 때 사용하는 조건문이다. if문을 사용하여 구현이 가능하지만 Else if도 함께 쓰는 것이 일반적이다. |
− | == | + | == 개요 == |
− | if문은 만약이라는 뜻을 가지고 있다. if문은 조건문으로써 조건이 참이면 실행하고 거짓이라면 실행하지 않는다. if else문은 조건이 여러가지 일때 쓰고 if가 거짓이 되면 실행된다. if가 아니라면 | + | Else if는 if문과 함께 사용하면 가독성이 높아지기도 하며 처리 속도가 빠르다. if문은 만약이라는 뜻을 가지고 있다. if문은 조건문으로써 조건이 참이면 실행하고 거짓이라면 실행하지 않는다. if else문은 조건이 여러가지 일때 쓰고 if가 거짓이 되면 실행된다. if가 아니라면 Else if로 다른건 맞는지 물어보는 식이다. Else if는 한계 없이 얼마든지 쓸 수 있다. [[else]]는 모든 조건이 불만족되었을 때 최종적으로 실행된다.<ref>NULL, 〈[https://1924.tistory.com/24 else if, else 정리]〉, 《티스토리》, 2016-12-14</ref> |
== 문법 == | == 문법 == | ||
12번째 줄: | 12번째 줄: | ||
조건식 1과 조건식 2가 false | 조건식 1과 조건식 2가 false | ||
} | } | ||
− | + | [[If else]]문은 if문의 조건식의 결과에 따라 조건식이 [[true]]면 if문의 블록이 실행되고 조건식이 [[false]]면 else문이 실행되는 조건문이다. | |
== 연산자 == | == 연산자 == | ||
− | + | Else if문은 [[연산자]]를 사용해서 조건을 검사해야 한다. 대표적으로 사용하는 연산자는 다음과 같다. | |
+ | |||
=== 관계 연산자 === | === 관계 연산자 === | ||
− | 관계 | + | 관계 연산자는 두 값을 비교하여 결과에 따라 참 또는 거짓을 반환한다. |
− | + | ||
− | + | ;연산자에 따른 데이터 타입 | |
− | * != : 같지 않다 | + | * '''==''' : 같다 |
− | * < : 미만 | + | * '''!=''' : 같지 않다 |
− | * > : 초과 | + | * '''<''' : 미만 |
− | * <= : 이하 | + | * '''>''' : 초과 |
− | * >= : 이상 | + | * '''<=''' : 이하 |
+ | * '''>=''' : 이상 | ||
+ | |||
=== 논리 연산자 === | === 논리 연산자 === | ||
논리 연산자란 참과 거짓을 연산하여 다시 참 또는 거짓을 반환한다. | 논리 연산자란 참과 거짓을 연산하여 다시 참 또는 거짓을 반환한다. | ||
− | * ''' | + | |
− | + | ;연산자에 따른 기능 | |
− | * && : 두 식이 모두 참이면 결과는 참, 한 식이라도 거짓이면 결과는 거짓(AND) | + | * '''!''' : 식이 참이면 거짓, 거짓이면 참(NOT) |
− | * || : 한식이라도 참이면 결과는 참(OR)<ref>이재윤, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lool2389&logNo=220967360380 C언어 1 - 관계와 논리 연산자 / if 조건문]〉, | + | * '''&&''' : 두 식이 모두 참이면 결과는 참, 한 식이라도 거짓이면 결과는 거짓(AND) |
+ | * '''||''' : 한식이라도 참이면 결과는 참(OR)<ref>이재윤, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lool2389&logNo=220967360380 C언어 1 - 관계와 논리 연산자 / if 조건문]〉, 《네이버 블로그》, 2017-03-26</ref> | ||
== 예제 == | == 예제 == | ||
45번째 줄: | 49번째 줄: | ||
return 0; | return 0; | ||
} | } | ||
− | }<ref>note, 〈[https://www.it-note.kr/274 IT 개발자 Note :: 13, 조건문(if ~ else if ~ else)]〉, | + | }<ref>note, 〈[https://www.it-note.kr/274 IT 개발자 Note :: 13, 조건문(if ~ else if ~ else)]〉, 《티스토리》, 2019-10-31</ref> |
=== 가위바위보 게임 === | === 가위바위보 게임 === | ||
51번째 줄: | 55번째 줄: | ||
{ | { | ||
int a; | int a; | ||
− | |||
printf("숫자를 입력하세요 : "); | printf("숫자를 입력하세요 : "); | ||
scanf("%d",&a); | scanf("%d",&a); | ||
− | |||
if(a==1) | if(a==1) | ||
{ | { | ||
68번째 줄: | 70번째 줄: | ||
} | } | ||
− | 이것은 간단한 가위바위보 게임이다. 작동 알고리즘을 살펴보면 먼저 [[scanf]]로 숫자를 스캔한 뒤 그 값이 1~ | + | 이것은 간단한 가위바위보 게임이다. 작동 알고리즘을 살펴보면 먼저 [[scanf]]로 숫자를 스캔한 뒤 그 값이 1~3이냐에 따라 가위바위보를 결정하는 알고리즘이다. 먼저 if문 조건을 검사하고 조건이 만족하지 않는다면 밑의 Else if문으로 가서 순차적으로 검사한 뒤 조건이 만족하는 조건절의 코드 블록이 실행된다. |
== 단점 == | == 단점 == | ||
− | + | * 변경, 확장이 될수록 코드가 복잡해져서 수정할 위치를 찾기가 어렵다. | |
− | * 변경,확장이 | + | * 실수로 추가하지 않고 누락하는 경우가 생긴다. 즉, 유지보수가 점점 어려워진다.<ref>dublin, 〈[https://dublin-java.tistory.com/47 if-else의 문제점]〉, 《티스토리》, 2019-12-28</ref> |
− | * 실수로 추가하지 않고 누락하는 경우가 생긴다. | ||
− | 즉 유지보수가 점점 어려워진다.<ref>dublin, 〈[https://dublin-java.tistory.com/47 if-else의 문제점]〉, 《티스토리》, 2019-12-28</ref> | ||
{{각주}} | {{각주}} | ||
80번째 줄: | 80번째 줄: | ||
== 참고자료 == | == 참고자료 == | ||
* NULL,〈[https://1924.tistory.com/24 else if, else 정리]〉, 《티스토리》, 2016-12-14 | * NULL,〈[https://1924.tistory.com/24 else if, else 정리]〉, 《티스토리》, 2016-12-14 | ||
− | * 이재윤, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lool2389&logNo=220967360380 C언어 1 - 관계와 논리 연산자 / if 조건문]〉, | + | * 이재윤, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lool2389&logNo=220967360380 C언어 1 - 관계와 논리 연산자 / if 조건문]〉, 《네이버 블로그》, 2017-03-26 |
− | * note, 〈[https://www.it-note.kr/274 IT 개발자 Note :: 13, 조건문(if ~ else if ~ else)]〉, | + | * note, 〈[https://www.it-note.kr/274 IT 개발자 Note :: 13, 조건문(if ~ else if ~ else)]〉, 《티스토리》, 2019-10-31 |
* dublin, 〈[https://dublin-java.tistory.com/47 if-else의 문제점]〉, 《티스토리》, 2019-12-28 | * dublin, 〈[https://dublin-java.tistory.com/47 if-else의 문제점]〉, 《티스토리》, 2019-12-28 | ||
2021년 8월 11일 (수) 13:12 기준 최신판
Else if는 if문에서 조건을 추가하고 싶을 때 사용하는 조건문이다. if문을 사용하여 구현이 가능하지만 Else if도 함께 쓰는 것이 일반적이다.
개요[편집]
Else if는 if문과 함께 사용하면 가독성이 높아지기도 하며 처리 속도가 빠르다. if문은 만약이라는 뜻을 가지고 있다. if문은 조건문으로써 조건이 참이면 실행하고 거짓이라면 실행하지 않는다. if else문은 조건이 여러가지 일때 쓰고 if가 거짓이 되면 실행된다. if가 아니라면 Else if로 다른건 맞는지 물어보는 식이다. Else if는 한계 없이 얼마든지 쓸 수 있다. else는 모든 조건이 불만족되었을 때 최종적으로 실행된다.[1]
문법[편집]
if(조건식1) { 조건식 1이 true } else if(조건식2) { 조건식 2이 true } else { 조건식 1과 조건식 2가 false }
If else문은 if문의 조건식의 결과에 따라 조건식이 true면 if문의 블록이 실행되고 조건식이 false면 else문이 실행되는 조건문이다.
연산자[편집]
Else if문은 연산자를 사용해서 조건을 검사해야 한다. 대표적으로 사용하는 연산자는 다음과 같다.
관계 연산자[편집]
관계 연산자는 두 값을 비교하여 결과에 따라 참 또는 거짓을 반환한다.
- 연산자에 따른 데이터 타입
- == : 같다
- != : 같지 않다
- < : 미만
- > : 초과
- <= : 이하
- >= : 이상
논리 연산자[편집]
논리 연산자란 참과 거짓을 연산하여 다시 참 또는 거짓을 반환한다.
- 연산자에 따른 기능
- ! : 식이 참이면 거짓, 거짓이면 참(NOT)
- && : 두 식이 모두 참이면 결과는 참, 한 식이라도 거짓이면 결과는 거짓(AND)
- || : 한식이라도 참이면 결과는 참(OR)[2]
예제[편집]
윤년 여부 판단 함수[편집]
int is_leap_year(int year) { if(year % 400 == 0) { // 년도를 400으로 나누어지면 윤년 return 1; } else if(year % 100 == 0) { // 년도를 100으로 나누어지면 윤년아님 return 0; } else if(year % 4 == 0) { // 년도를 4로 나누어지면 윤년 return 1; } else { // 그 외는 윤년이 아님 return 0; } }[3]
가위바위보 게임[편집]
int main() { int a; printf("숫자를 입력하세요 : "); scanf("%d",&a); if(a==1) { printf("가위"); } else if(a==2) { printf("바위"); } else if(a==3) { printf("보"); }
이것은 간단한 가위바위보 게임이다. 작동 알고리즘을 살펴보면 먼저 scanf로 숫자를 스캔한 뒤 그 값이 1~3이냐에 따라 가위바위보를 결정하는 알고리즘이다. 먼저 if문 조건을 검사하고 조건이 만족하지 않는다면 밑의 Else if문으로 가서 순차적으로 검사한 뒤 조건이 만족하는 조건절의 코드 블록이 실행된다.
단점[편집]
- 변경, 확장이 될수록 코드가 복잡해져서 수정할 위치를 찾기가 어렵다.
- 실수로 추가하지 않고 누락하는 경우가 생긴다. 즉, 유지보수가 점점 어려워진다.[4]
각주[편집]
- ↑ NULL, 〈else if, else 정리〉, 《티스토리》, 2016-12-14
- ↑ 이재윤, 〈C언어 1 - 관계와 논리 연산자 / if 조건문〉, 《네이버 블로그》, 2017-03-26
- ↑ note, 〈IT 개발자 Note :: 13, 조건문(if ~ else if ~ else)〉, 《티스토리》, 2019-10-31
- ↑ dublin, 〈if-else의 문제점〉, 《티스토리》, 2019-12-28
참고자료[편집]
- NULL,〈else if, else 정리〉, 《티스토리》, 2016-12-14
- 이재윤, 〈C언어 1 - 관계와 논리 연산자 / if 조건문〉, 《네이버 블로그》, 2017-03-26
- note, 〈IT 개발자 Note :: 13, 조건문(if ~ else if ~ else)〉, 《티스토리》, 2019-10-31
- dublin, 〈if-else의 문제점〉, 《티스토리》, 2019-12-28
같이 보기[편집]