[C++ 기초부터 심화까지 Chapter 04. 실행 흐름 제어]

2025. 5. 7. 23:39·개발 언어/C++
  • 이번 장에서는 특정 조건에 따라 프로그램의 실행 흐름을 제어하는 방법을 알아봄
  • 조건문과 반복문은 흐름을 조절하고 반복되는 작업을 자동화하는데 필수

04-1 조건문으로 흐름 제어

if 문으로 분기하기

if문의 동작 방식은 매우 익숙함.

if ()
{
    // 실행문1
}
else if()
{
    // 실행문2
}
else
{
    // 실행문3
}

switch 문으로 분기하기

  • if else 문으로 처리할 수 있지만, 갈래가 많아지면 코드를 읽기가 어려워짐
  • 따라서 switch 문을 사용할 수 있음
  • switch 문은 여러 경우의 수 가운데 하나를 선택해 실행할 때 사용함.

switch문의 동작 방식

  • switch 문은 하나의 변수나 표현식을 평가한 결과에 따라 case 중 하나를 선택해 해당 코드를 실행.
  • 이떄 label은 경우의 수를 나타내는 상수임!!
switch (표현식)
{
case 상수1 :
  // 상수 1일때 실행할 코드
  break;
case 상수2 :
  // 상수 2일때 실행할 코드
  break;
default :
  // 어떤 case에도 해당하지 않을 때, 실행할 코드
}

04-2 반목문으로 흐름 제어

do~while 문의 동작 방식

  • do~while은 while문처럼 동작하지만 코드블록을 먼저 실행한 다음, 조건을 검사함. 최소한 한 번은 실행되도록 보장
#include <iostream> 
using namespace std;

int main()
{
    int count = 0;
    do {
        cout << count << endl;
        count ++
    } while (count < 5);
    return 0;
}

for 문으로 반복하기

  • 반복 횟수를 정확히 제어해야할 때 효과적으로 사용할 수 있음.
  • 초기화, 조건식, 증감식을 모두 한곳에서 관리하여 코드가 더 간결함.
  • for문 형식
for (초기화; 조건식; 증감식){
  // 반복 실행 코드
}
  1. 초기화: 반복이 시작되기 전에 한번만 실행되며, 변수를 선언하고 초기화
  2. 조건식: 반복이 실행되기 전에 매번 평과됨. 참이면 반복 실행.
  3. 증감식: 반복한 후에 실행되며 조건식에 사용된 변수를 업데이트.

break 키워드로 원할 때, 반복문은 빠져나올 수 있음. (for, while, do~while 모두 적용 가능)


04-3 표현식과 구문의 차이

  • 표현식과 구문은 중요한 개념. 각각 다르게 사용됨.

표현식(expression)

  • 하나 이상의 변수, 연산자, 리터럴을 조합해 값을 평가하고 결과를 반환.
  • 수학에서 수식과 같으며 결과값이 항상 나오는 코드
// 표현식 예시
a = b + c;
result = func();

구문(statement)

  • 하나 이상의 연산을 수행하거나 동작을 실행하는 명령문의 집합으로, 값을 할당하거나 프로그램의 실행 흐름을 제어함.
// 구문 예시
int a = 0;
while (true)
{
++a;
if (a > 10)
break;
}

 

※ 이 글은 직접 구매한『Do it! C++ 완전 정복』(문종채, 조규남 저, 성안당)을 참고하여 개인적으로 학습한 내용을 정리한 것입니다. 본문에 사용된 내용 및 예제 코드는 책의 내용을 기반으로 하되, 이해를 돕기 위한 개인적인 해석과 실습 결과를 포함하고 있습니다.

 

참고한 예제 코드: [GitHub - mystous/DoItCPP](https://github.com/mystous/DoItCPP) 
예제 코드의 일부는 위 오픈소스 저장소를 참고하거나 수정하여 활용했으며, 해당 저장소는 학습용으로 공개되어 있습니다.

 

'개발 언어 > C++' 카테고리의 다른 글

[C++ 기초부터 심화까지 Chapter 06. 객체지향과 클래스]  (0) 2025.05.08
[C++ 기초부터 심화까지 Chapter 05. 예외 처리 구문]  (0) 2025.05.07
[C++ 기초부터 심화까지 Chapter 03. Pointer and memory]  (2) 2025.05.07
C++ 공부에 관하여  (0) 2025.05.07
'개발 언어/C++' 카테고리의 다른 글
  • [C++ 기초부터 심화까지 Chapter 06. 객체지향과 클래스]
  • [C++ 기초부터 심화까지 Chapter 05. 예외 처리 구문]
  • [C++ 기초부터 심화까지 Chapter 03. Pointer and memory]
  • C++ 공부에 관하여
lidarmansiwon
lidarmansiwon
lidarmansiwon 님의 블로그 입니다.
  • lidarmansiwon
    라이다맨 시원의 연구개발 라이프
    lidarmansiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (12)
      • 이론 정리 (2)
        • Thor I. Fossen 리뷰 (1)
      • Ubuntu 및 Linux (0)
        • Trouble shooting (0)
      • 개발 언어 (5)
        • C++ (5)
        • Python (0)
      • 논문 리뷰 (3)
      • ROS2 (2)
  • 블로그 메뉴

    • Github
    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    usv formation
    자율선박
    do it! c++ 완전 정복
    이접안
    multithreadedexecutor
    C++
    Sliding mode control
    navigationcontrol
    singlethreadedexecutor
    marinecraft
    해양공학
    usv formation path planning based on behavior trees and fast marching method
    ROS2
    motioncontrol
    maritimerobotics
    cpp
    실행 흐름 제어
    슬라이딩 모드 컨트롤
    c++ 기초부터 심화까지
    fossen
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
lidarmansiwon
[C++ 기초부터 심화까지 Chapter 04. 실행 흐름 제어]
상단으로

티스토리툴바