[C++][OOP] Flow Control - 조건문, 반복문

 

제목: C++의 flow control : 프로그램을 더욱 생동적으로!

서론

C++ 프로그래밍의 세계에서 데이터를 자유자재로 다루는 방법을 익혔다면, 이제 프로그램의 실행 흐름을 제어하는 방법을 배울 차례이다. 마치 영화감독이 배우들의 연기를 지휘하듯, 프로그래머는 flow control를 통해 프로그램의 실행 순서를 결정하고, 특정 조건에 따라 다른 동작을 수행하도록 만들 수 있다. 이번 포스팅에서는 C++의 flow control를 위한 조건문과 반복문, 그리고 입출력 stream에 대해 알아보겠다.

데이터의 입출력: stream

Stream은 데이터를 입력받거나 출력하는 추상적인 개념이다. 마치 물이 흐르는 수로처럼, stream을 통해 데이터가 연속적으로 흐르며 입출력 작업이 수행된다. C++에서는 coutcin이라는 표준 입출력 스트림을 제공하여 간편하게 데이터를 주고받을 수 있다.

  • 표준 출력 스트림 (cout): cout은 일반적으로 모니터 화면에 데이터를 출력하는 데 사용된다. 삽입 연산자(<<)를 이용하여 다양한 타입의 데이터를 출력할 수 있으며, endl을 통해 줄 바꿈을 할 수 있다.
  • 표준 입력 스트림 (cin): cin은 일반적으로 키보드로부터 데이터를 입력받는 데 사용된다. 추출 연산자(>>)를 이용하여 변수에 값을 할당할 수 있으며, 공백 문자를 이용하여 여러 개의 입력을 받을 수도 있다.

흐름 제어 (Flow Control)

프로그램은 단순히 위에서 아래로 순차적으로 실행되는 것 이상의 기능을 수행해야 한다. 특정 조건에 따라 다른 코드 블록을 실행하거나, 동일한 코드 블록을 반복적으로 실행해야 할 때도 있다. 이러한 프로그램의 실행 흐름을 제어하는 것이 바로 'flow control'이다. C++는 조건문과 반복문, 그리고 goto 문을 통해 다양한 흐름 제어를 지원한다.

조건문

조건문은 특정 조건을 만족하는지 판단하여, 조건에 따라 다른 코드 블록을 실행하도록 한다. 마치 갈림길에서 어느 길로 갈지 선택하는 것과 같다. C++는 if-else if-else 문과 switch-case 문을 제공한다.

  • if-else if-else: 여러 개의 조건을 순차적으로 검사하여, 조건을 만족하는 경우 해당 코드 블록을 실행한다.
    how to use 'if-else' in C++

  • 삼항 연산자: 조건 ? 참일 때 실행할 문장 : 거짓일 때 실행할 문장 형태로 간단한 조건 분기를 표현한다.
    how to use ternary operator in C++

  • switch-case: 변수나 표현식의 값을 여러 개의 상수와 비교하여, 일치하는 경우 해당 코드 블록을 실행한다. break 문을 사용하여 각 case 블록을 구분하며, default case는 어떤 case에도 해당하지 않을 때 실행된다.
'if-else' vs 'switch'

반복문

반복문은 특정 조건이 만족하는 동안 동일한 코드 블록을 반복적으로 실행한다. 마치 목표를 달성할 때까지 끊임없이 노력하는 것과 같다. C++는 for 문, while 문, do-while 문을 제공한다.

  • for: 초기화, 조건 검사, 증감 문을 이용하여 반복 횟수를 명확하게 지정할 수 있다.
example of 'for'

  • 범위 기반 for: C++11부터 지원되며, 배열이나 컨테이너의 모든 요소를 순회하는 데 유용하다.
    example of 'range based for'

  • while: 조건을 먼저 검사하고, 조건이 참인 동안 코드 블록을 반복 실행한다.
  • do-while: 코드 블록을 먼저 실행하고, 조건을 검사하여 조건이 참인 동안 반복 실행한다.
    'while' vs 'do-while'

goto

goto 문은 지정된 레이블로 실행 흐름을 이동시킨다. 하지만 무분별한 goto 문 사용은 코드의 가독성을 해치고 오류를 발생시킬 수 있으므로, 일반적으로 권장되지 않는다.

example of 'goto'


결론

flow control는 프로그램에 생명을 불어넣는 핵심 요소다. 조건문과 반복문을 통해 프로그램의 실행 흐름을 자유자재로 제어하고, 다양한 상황에 대응할 수 있는 유연한 프로그램을 작성할 수 있다.

이번 포스팅에서는 C++의 흐름 제어를 위한 핵심 도구인 조건문과 반복문, 그리고 입출력 스트림에 대해 알아보았다. 다음 시간에는 C++의 강력한 기능인 함수에 대해 자세히 살펴보자.

추천글 : 

[C++][OOP] Variables & Operators

(https://hyeonb.blogspot.com/2024/09/coop-variables-operators.html)

[OOP] 객체지향프로그래밍
(
https://hyeonb.blogspot.com/2024/09/oop.html)


hyeon_B

안녕하세요! AI 기술을 이용해 더 나은 세상을 만들어 나가고 싶은 과기원생 Hyeon이라고 합니다. 저는 앞으로 인공지능 시대에는 지식을 '활용'하는 능력이 중요해질 것이라고 생각합니다. 대부분의 일들은 인공지능이 뛰어난 모습을 보이지만, 인공지능은 데이터로 부터 연관관계를 학습하기 때문에 지식들을 새로 통합해서 활용하는 능력이 부족합니다. 인공지능이 뉴턴 전에 만들어졌다면 사과가 떨어지는 이유에 대답하지 못했을 것이고, 아인슈타인 전에 만들어졌다면 중력이 어떻게 생기는지 설명하지 못했을 것입니다. 따라서 앞으로 우리는 '본질'을 탐구하고 그 본질로부터 다른 곳에 적용하며 인공지능을 현명하게 활용해야 할 것입니다. 함께 인공지능 시대를 준비합시다!

댓글 쓰기

다음 이전

POST ADS1

POST ADS 2