Cpp.04 Branch syntax

oat·2024년 1월 17일

C++

목록 보기
5/10

Section 04

분기 구문

컴퓨터에게 여러가지 갈래길을 제시해 주고, 그 중 컴퓨터가 하나의 길을 선택하여서 사용할 수 있게 하는 구문

  • if 구문
  • switch 구문

if 구문과 if else 구문

if 구문

조건의 값이 참인지 거짓인지 판단하게 하는 구문

if 구문의 형태

if (조건)
	// code

조건이 참이라면 code부분을 실행하고, 거짓이라면 if 구문을 무시하고 다음 코드를 실행한다

if (조건) {
	// code
    // code
}

블록을 이용하면 여러 줄의 코드를 하나의 if 구문 안에 선언할 수 있다

예제


값이 항상 참인 true의 코드는 출력되고, 값이 항상 거짓인 false의 코드는 출력되지 않고 바로 다음 코드를 실행하였다

else 구문

if 구문의 조건이 거짓이라면 실행되는 구문

else 구문의 형태

if (조건) {
	// code
}
else {
	// code
}

컴퓨터는 if-else 구문을 하나의 코드 블럭으로 인식하기 때문에 굳이 블럭({})으로 묶을 필요가 없다

if-else 구문의 확장

if (조건) {
	// code
}
else {
	if (조건) {
	// code
	}
	else {
		// code
	}
}

위와 같이 else 안에 또다른 if-else 구문이 들어있다면 else 구문의 중괄호를 생략해도 된다

if (조건) {
	// code
}
else if {
	// code
}
else {
	// code
}

이렇게 보다 높은 가독성을 지니게 할 수 있다

if 구문과 else if 구문 뒤에 나오는 조건은 그 값이 boolean 데이터로 나오거나 boolean 데이터로 표현될 수 있는 하나의 식이 등장할 수 있다


논리 표현식

하나 이상의 조건을 검사할 때 사용하는 경우

논리 연산자

1. 논리 합 연산자 (||)

좌항 || 우함

좌항과 우항을 비교하여 두 표현식 중 어느 하나가 1이거나 0이 아니라면 전체 표현식은 참이 된다

예시

5 == 5 || 5 == 9
5 > 3 || 5 > 10
5 > 8 || 5 < 10
5 > 9 || 5 < 2
  1. true || false -> true
  2. true || false -> true
  3. false || true -> true
  4. false || false -> false

2. 논리 곱 연산자 (&&)

좌항 && 우항

좌항과 우항 두 표현식 모두 1이어야 전체 표현식이 참이 된다

예제

5 == 5 && 9 == 9
5 == 5 && 9 != 9
10 < 2 && 10 > 2
  1. true && true -> true
  2. true && false -> false
  3. false && true -> false

3. 논리 부정 연산자(!)

!(표현식)

뒤따르는 표현식의 값을 반대로 바꾼다
!true == false
!false == true

if-else 논리 연산자 응용


switch 구문과 break continue 구문

switch 구문

표현식의 값에 해당하는 case로 이동하여 그 코드를 실행하는 구문
if-else 구문과 달리 정수값을 기준으로 판단하기 때문에 다른 조건을 검사할 수 있다
선택지가 3개를 넘어가게 된다면 switch 구문을 사용하는 것이 효율적이다

switch 구문의 형태

switch (integer-expression)
{
case label1:
	// code#1
case label2:
	// code#2
case label3:
	// code#3
case label4:
	// code#4
}

예시


case로 지정해놓은 경우 이외에 다른 수가 들어오게 되면 switch 구문은 실행되지 않는다

default

switch (integer-expression)
{
case label1:
	// code#1
case label2:
	// code#2
case label3:
	// code#3
case label4:
	// code#4
default:
	// codeDefault
}

지정한 수 이외의 다른 모든 경우가 default 구문에 대응되어 switch 구문을 실행할 수 있다

break 구문

프로그래밍 코드의 일부분을 무시하고 건너뛰게 만드는 구문
모든 종류의 루프에서 사용할 수 있다

예시


i의 값이 11이 되었을 때 i의 값이 10보다 크게 되므로 break 구문이 작동하여 while문을 탈출하게 된다

continue 구문

continue 다음의 코드를 무시하고 디사 반복이 새로 시작되도록 하는 구문
반복문에서만 사용할 수 있다

예시

0개의 댓글