[synergy 요청] c언어 기초 반복문

목록으로 돌아가기

[C언어 기초] : 반복문 Ⅰ


01. 반복문은 왜 사용하나요? 🤔

반복문을 사용하는 가장 큰 이유는 코드의 반복을 줄이기 위해서 입니다.
예를 들어, 간단하게 0부터 4까지의 정수를 출력하는 코드를 짜보려 합니다. 출력 함수 printf만을 사용해서 만들기 위해서는 아래와 같이 작성을 해야할 것입니다.

printf("%d\n", 1);
printf("%d\n", 2);
printf("%d\n", 3);
printf("%d\n", 4);
printf("%d\n", 5);

이렇게 5번의 printf 함수를 사용하여 코드를 완성했습니다.

비교 예제로 for문을 사용한 코드는 아래와 같습니다.

for(int i = 1 ; i <= 5 ; ++i) {
    printf("%d\n", i);
}

보신 결과와 같이 한눈에도 반복문의 코드가 확연히 줄어든 모습을 볼 수 있습니다. 또한, 가독성을 생각해도 훨씬 간단해진 느낌입니다. 사실 더 확연한 차이를 보기 위해서는 1~5까지 출력이 아닌 1~1000까지 출력을 해보면 알 수 있습니다. 반복문을 쓴 코드는 코드 길이에 변함이 없지만 printf만을 사용한 예제는 printf 함수를 1000번 사용해야 합니다.

이렇게 반복문을 왜 써야하는지는 쉽게 느끼셨을 수 있을 거라 생각듭니다. 그렇다면 이제 C언어의 반복문에는 어떤 함수가 있으며, 어떻게 사용해야 하는지에 대해 기초적인 부분을 설명해보겠습니다.


02. 반복문의 종류는? 🤔

C언어에서 반복문은 3가지의 함수가 있습니다. 첫번째는 위의 예제로 설명드렸던 ‘for 문’, ‘while 문’, 마지막으로 ‘do-while 문’ 이 있습니다. 기초적인 문법은 아래의 그림과 같습니다.

해당되는 선언 및 초기화, 조건, 실행문 자리에 잘 맞춰 작성하면 기초적인 반복문 사용이 가능합니다. 많은 분들이 반복문에서 어려움을 느끼는 점은 쓰기는 썼는데 내부적으로 어떻게 실행되는지를 몰라서 이해를 못하거나 응용할 때 어려워합니다. 그래서 간단한 예제와 함께 반복문 3가지가 어떻게 내부적으로 흘러가는지 쉽게 설명드리겠습니다.


03. 반복문의 흐름을 이해해봅시다! ☝

쉬운 이해를 돕기 위해 손으로 작성하여 보여드리겠습니다.
예제는 모두 동일하게 0, 1을 출력하는 간단한 예제입니다.

  1. for 문
  2. while 문
  3. do - while 문


이렇게 반복문 3가지 각각의 흐름과 문법을 알아봤습니다.
요약을 하자면 3가지의 반복문는 반복이라는 기능을 수행함에 있어서는 모두 같은 결과를 뽑아낼 수 있습니다. 하지만 함수 안에서 선언과 초기화를 했던 for 문조건만 가지고 참이 될 때까지 반복했던 while 문, 마지막으로 실행 순서가 혼자 달랐던 do-while문 까지 코드의 구성과 흐름은 조금씩 다른 모습을 볼 수 있었습니다.

너무 쉽게 느껴지셨을 수도 있지만 이런 기초적인 흐름을 제대로 알아야 이 후에 복잡한 코드를 작성하실 때에 헷갈리지 않으실 수 있습니다. 아무리 복잡한 반복문 코드여도 제가 작성한 그림의 순서와 같이 따라가보시면 어렵지 않게 느끼실 수 있을겁니다. 여기까지 기초 반복문 개념에 대해 설명해보았습니다. 설명이 틀린 부분이나 부족한 부분이 있다면 꼭 아래 댓글로 요청해주세요! 다음에는 중첩 반복문에 대해 정리해보겠습니다. 감사합니다. 😄

author-profile
Written by jonghoinside

댓글