[왕초보 임베디드-C 공부 일기] 6. 조건문(1) - If/else

1. If/else 구문의 정의 

   If/else 구문은 프로그램의 제어 흐름을 조건에 따라 분기(Branching)시키는 조건 제어문이다. 
   -평가 방식 : 소괄호 안의 조건식을 평가한다. C언어에서 CPU는 이 평가 결과가 0이면 거짓(False)으로, 0이 아닌 모든 값이면 참(True)으로 인식한다. 
   -동작 원리 : 평가 결과가 참이면 if블록 중괄호 내의 명령어들을 실행하고, 거짓이면 PC(Program Counter)를 점프시켜 else블록의 명령어들을 실행하도록 메                     모리 실행 흐름을 제어한다.

2. 다양한 구문 형태

   상황의 복잡도에 따라 실행 흐름을 여러 개로 쪼갤 수 있다. 

   1) 단일 if문
      조건이 참일 때만 특정 작업을 하고, 아니면 그냥 무시하고 지나간다. 
예시 코드⬇️
if(temperture > 80) {
    // 80도가 넘을 때만 실행
}

   2) if-else문
      참일 때의 행동과 거짓일 때의 행동을 명확히 나눈다. 
예시 코드⬇️
if(battery > 20){
   //정상 주행 모드
} else {
   //절전 모드 진입
}

   3) if-else if-else문
      여러 개의 조건을 순차적으로 검사한다. 위에서부터 검사하다가 하나라도 참이 나오면 그 블록만 실행하고 전체 조건들을 빠져나온다. 
예시 코드⬇️
if(speed > 100){
   //매우 빠름
} else if(speed > 50) {
   // 보통
} else {
   // 느림
}

   4)중첩 if문(Nested if)
       조건문 안에 또 다른 조건문이 들어간 형태이다. 1차 조건을 만족해야 2차 조건을 검사할 수 있는 상황에 주로 쓰인다.