#연구/#C

C언어 반복문 (while, for) 작성 방법 및 코드 바꿔보기

every7hing 2021. 5. 11. 15:12
반응형

 

C언어 while 반복문 for문으로 바꿔보기 

#while을 for문으로 바꾸는 방법

 

C언어에는 대표적인 반복문이 두 가지 존재합니다.

바로 while문for문이죠.

반복문

 

떤 조건에 맞춰 반복하여 일을 처리한다는 것은 둘 다 비슷하지만, 문법에 차이가 조금 있습니다.

아래 두 가지 반복문의 문법을 잠깐 정리해봅시다.

1. while

while문은 아래와 같은 문법을 사용하고 있습니다.

test 위치에 조건에 따라 반복문이 제어가 되는 것이지요.

//The while statement is a loop statement with an exit test at the beginning of the loop. Here is the general form of the while statement:

while (test)
  statement

 

2. for

for문은 아래와 같은 문법을 사용하고 있습니다.

괄호안에서, 초기화, 조건, 스텝 등을 정의해서 반복문을 제어할 수 있습니다.

 

//The for statement is a loop statement whose structure allows easy variable initialization, expression testing, and variable modification. It is very convenient for making counter-controlled loops. Here is the general form of the for statement:

for (initialize; test; step)
  statement

 

그렇다면, 아래 예제를 보면서 실제로 while문이 동작하는 것을 먼저 살펴봅시다.

내용은 간단하죠.

MAX 값은 최대 반복할 횟 수를 정의하고 있습니다. CNT는 현재 반복된 횟 수를 나타내고 있습니다.

#include <stdio.h>

int main(void) {
  int MAX = 10, CNT = 1;

  while(CNT <= MAX){
    printf(" %2d회 반복\n", CNT);
    CNT++;
  }

  return 0;
}

 

위와 같이 정의된 코드를 실행해보겠습니다.

어떤 결과가 나올까요?

 

  1회 반복
  2회 반복
  3회 반복
  4회 반복
  5회 반복
  6회 반복
  7회 반복
  8회 반복
  9회 반복
 10회 반복

 

네, MAX로 정의된 10의 값에 맞춰 10번 반복된 내용을 출력해주고 있습니다.

그렇다면, 이 코드를 for문으로 바꿔 볼 수 있을까요?

while

 

네! 당연히 바꿔볼 수 있습니다.

어떻게 하면 될까요?

궁금하신 분들은 아래 코드를 눈여겨 보시기 바랍니다.

#include <stdio.h>

int main(void) {
  int MAX = 10, CNT = 1;

  for(CNT = 1; CNT <= MAX; CNT++){
    printf(" %2d회 반복\n", CNT);
  }
  return 0;
}

 

자 어떤가요.

위에서 알아본 for문의 문법에 맞춰, 초기화, 조건, 스텝을 정의했습니다.

사실 아주 간단하죠.

그렇다면, 실행 결과도 같을까요?

 

  1회 반복
  2회 반복
  3회 반복
  4회 반복
  5회 반복
  6회 반복
  7회 반복
  8회 반복
  9회 반복
 10회 반복

 

네, 다시 실행해본 결과 정확히 같네요!

위에서 보신 것과 같이, while문으로 작성된 코드를 for문으로 간단히 바꿔보았습니다.

두 반복문의 문법을 잘 이해하고 있다면, 사실 어려운 것도 아니죠.

 

스스로 한번 더 연습해보는 것도 코드를 이해하는데 도움이 될 것 같습니다.

그렇다면, 다음 시간에도 유익한 정보로 돌아오겠습니다!

 

그 밖에도 다양한 기술관련 정보들을 공유하고 있습니다.

궁금하신 분들은 아래 이미지 링크를 이용하시면 좋을 것 같습니다.

 

< 아래 이미지를 클릭하시면 더욱 더 다양한 컨텐츠를 만나볼 수 있습니다 ↓ >

 

반응형