[왕초보 임베디드-C 공부 일기] 6. 조건문(1) - If/else
1. If/else 구문의 정의
If/else 구문은 프로그램의 제어 흐름을 조건에 따라 분기(Branching)시키는 조건 제어문이다.
-평가 방식 : 소괄호 안의 조건식을 평가한다. C언어에서 CPU는 이 평가 결과가 0이면 거짓(False)으로, 0이 아닌 모든 값이면 참(True)으로 인식한다.
-동작 원리 : 평가 결과가 참이면 if블록 중괄호 내의 명령어들을 실행하고, 거짓이면 PC(Program Counter)를 점프시켜 else블록의 명령어들을 실행하도록 메 모리 실행 흐름을 제어한다.
-평가 방식 : 소괄호 안의 조건식을 평가한다. C언어에서 CPU는 이 평가 결과가 0이면 거짓(False)으로, 0이 아닌 모든 값이면 참(True)으로 인식한다.
-동작 원리 : 평가 결과가 참이면 if블록 중괄호 내의 명령어들을 실행하고, 거짓이면 PC(Program Counter)를 점프시켜 else블록의 명령어들을 실행하도록 메 모리 실행 흐름을 제어한다.
2. 다양한 구문 형태
상황의 복잡도에 따라 실행 흐름을 여러 개로 쪼갤 수 있다.
1) 단일 if문
조건이 참일 때만 특정 작업을 하고, 아니면 그냥 무시하고 지나간다.
예시 코드⬇️
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차 조건을 검사할 수 있는 상황에 주로 쓰인다.