If

위키원
audrbchzl (토론 | 기여)님의 2021년 7월 12일 (월) 14:59 판
이동: 둘러보기, 검색

if문은 If문은 조건식의 결과에 따라 중괄호 { } 로 묶어놓은 블록이 실행여부가 결정되는 조건문이다. 조건식에는 true 또는 false값을 산출할 수 있는 연산식이나 boolean변수가 올 수 있다. 조건식이 true면 블록을 실행하고 false면 블록을 실행하지 않는다. C언어에서 0은 false(거짓)로 0이 아닌 나머지 값은 모두 true(참)로 인식한다.


문법

if(조건식){
   실행문....
}

만약 조건식이 true가 될때 실행해야 할 문장이 하나밖에 없다면 중괄호 {}를 아래와 같이 생략 할수도 있다.

if(1)
  printf("if문 예제")[1]

연산자

if문 조건에는 연산자를 사용해서 조건을 검사해야 한다. 대표적으로 사용하는 연산자는 다음과 같다.

관계 연산자

관계 연산자란 두 값을 비교하여 결과에 따라 참 또는 거짓을 반환한다.

  • 연산자에 따른 데이터 타입
  • == : 같다
  •  != : 같지 않다
  • < : 미만
  • > : 초과
  • <= : 이하
  • >= : 이상

논리 연산자

논리 연산자란 참과 거짓을 연산하여 다시 참 또는 거짓을 반환한다.

  • 연산자에 따른 기능
  •  ! : 식이 참이면 거짓, 거짓이면 참(NOT)
  • && : 두 식이 모두 참이면 결과는 참, 한 식이라도 거짓이면 결과는 거짓(AND)
  • || : 한식이라도 참이면 결과는 참(OR)[2]

예제

게임

예시로 게임으로 들어서 표현하자면 만약 사용자가 스페이스바를 눌렀다면 점프를 하게 하고 점프 중에는 점프가 되지 않게 해야된다고 가정했을때 코드는 다음과 같다.
if(캐릭터가 점프 중이 아닐때) {
캐릭터 점프를 동작시킨다.
} 

게임을 제작하는 엔진이나 환경마다 다 다르기 때문에 전형적인 알고리즘을 구현한 코드이다. 이러한 알고리즘으로 대부분의 게임들이 if조건문을 사용하여 구현되는데 여기서 한발 더 나아가 예외처리도 해주어야 한다. 코드로 예시를 들자면 다음과 같다.

else(현재 점프 중일때) {
캐릭터 점프를 동작시키지 않는다.
}

캐릭터가 점프 중이면 점프를 동작시키면 안되기 때문에 else if를 사용하여 동작을 차단시킨 코드이다. 이러한 식으로 else를 사용하여 예외처리가 가능하다.[3]

단점

if문의 단점은 다음과 같다.

  • 변경,확장이 될 수록 코드가 복잡해져서 수정할 위치를 찾기가 어렵다.
  • 실수로 추가하지 않고 누락하는 경우가 생긴다.

즉 유지보수가 점점 어려워진다.[4]


각주

  1. [C언어 If문 사용법 & 예제 총정리]〉, 《코딩팩토리》, 2019-07-21
  2. 이재윤, 〈C언어 1 - 관계와 논리 연산자 / if 조건문〉, 《네이버블로그》, 2017-03-26
  3. if문(조건문) 이해 예제 - C언어〉, 《티스토리》, 2016-09-10
  4. if-else의 문제점〉, 《티스토리》, 2019-12-28

참고자료

같이 보기