본문 바로가기
IT 기술/C언어

C언어 제어문(for 반목문)_15일차

by 썬's 2023. 2. 11.

안녕하세요 보글리아입니다.

저번 시간부로 제어문 중 하나인 조건문을 마무리했습니다.

이번 시간에는 새로운 제어문인 반복문을 알아보겠습니다.

반복문에는 for문과 while, do while문이 있는데요.. 이번 시간에는 for문을 설명드리겠습니다.

※제 수업은 이전주차에서 배운 개념을 재차 설명드리지 않습니다※

※본 수업에 들어가기 앞서 수업내용을 요약하고 세부적인 설명에 들어가겠습니다※

 


요약

  • 반복문이란 프로그래머가 설정한 명령을 조건에 맞으면 반복하는 문법이다.
  • for 반복문은 초기식, 조건식, 증감식으로 구성된다.
  • for 반복문에서 세 가지 구성요소 중 하나라도 작성하지 않으면, 오류가 발생하거나 무한루프 현상에 빠진다.

for 반복

C언어에서 반복문이란 일정한 형태의 작업을 반복해서 수행하는 문법을 말합니다. 이 중 for 반복문은 명확한 구성으로 되어 있고 시작과 끝이 투명한 반복 작업에 많이 사용하기 때문에, 가장 많이 사용하는 반복문입니다.

즉 반복문이란 프로그래머가 지정한 작업을 반복해서 수행하는 문법입니다. for문에는 초기식, 조건식, 증감식이 있습니다.

 

예를 들어, '숫자 1에서 6이 될 때까지 1씩 더해라'라는 반복문이 있다고 해보겠습니다. 

이 문장에서 숫자 1은 시작 조건인 초기식입니다. 그리고 6은 반복문이 끝나는 지점인 종결 조건입니다. 이 종결 조건을 조건식이라 합니다. 마지막으로 1씩 더해라 이 부분은 시작 조건인 1부터 끝나는 지점인 6까지 반복해서 조건 변화를 주는 조건 수식인 증감식입니다.

 

for문의 형태는 다음과 같습니다. 하나씩 살펴보면 다음과 같습니다.

  • 초기식 : 반복을  시작하기 위한 시작 조건
  • 조건식 : 반복을 진행할 건지 여부를 묻는 조건
  • 증감식 : 반복의 조건을 바꾸는 조건

여기서 초기식, 조건식 그리고 증감식 이 세 가지 요소 중 한 가지라도 없으면, 반복문을 사용하지 못하거나, 무한루프가 발생하는 오류가 생길 수 있습니다. 이제 for문의 형태를 알아봤으니 for문을 직접 사용해 보겠습니다.

for(초기식; 조건식; 증감식)
{
    반복해서 실행할 명령;
}

 

하단 코드를 보시면 초기식에 i 변수를 선언하고 값을 1 대입했습니다. 그리고 for문을 끝낼 조건식에는 i < 6, 즉 i가 6보다 작으면 반복문을 종료하겠다는 의미입니다. 마지막 증감식에는 i의 값을 1씩 증가시킨다는 의미입니다.

이를 출력해 보면, i의 값이 5인 지점에서 for의 초기식의 값인 i의 값이 더 이상 늘지 않고 종료되는 것을 보실 수 있습니다.

#include <stdio.h>

int main()
{
	for (int i = 1; i < 6; ++i)
	{
		printf("i는 %d번 반복됩니다 \n", i);
	}

	return 0;
}

출력 결과
출력 결과

여러분들의 이해를 돕기 위해 for문의 작동순서는 다음과 같습니다.

  1. 먼저 i의 초기식 값을 확인합니다.
  2. 그리고 초기식의 값이 조건식의 값에 부합하는지 판단합니다.
  3. 초기식이 조건식에 부합하다면, for문 내 문장을 출력합니다.
  4. 그리고 증감식으로 가 i의 값인 1을 1 증가시켜 2로 만듭니다.
  5. 다시 조건식으로 가 초기식에 값이 조건식에 부합하는지 판단합니다.
  6. 이런 식으로 3 -> 4 -> 5 -> 3 -> 4 -> 5 반복되면서 for문의 초기식이 조건식에 부합하지 않을 때까지 반복합니다.
  7. 초기식이 조건식에 부합하지 않는다면 for문을 종료합니다.

for문은 항상 시작 조건인 초기식에서 시작해서 명령문을 실행하기 전 종결 조건인 조건식을 체크해 조건식이 참이면 명령문을 실행하고 아니라면 명령문을 종료합니다. 참이라면 증감식에서 조건 변경 후 다시 조건식을 체크하는 순서로 진행됩니다.

for문 작동순서
for문 작동순서

for문 사용 시에 주의하실 점이 있습니다. 바로 초기식과 조건식 끝에 세미콜론(;)을 작성해주셔야 합니다. 그리고  증감식은 무조건 작성하지 않습니다!!

만약 증감식을 작성하지 않으면, 무한루프라는 게 발생합니다. 무한루프란 반복문을 빠져나가지 못하는 현상을 말합니다.

 

하단 코드를 보시면 증감식을 작성하지 않았습니다.

그리고 코드를 실행시키면 다음 동영상과 같이 무한루프에 빠지게 됩니다. 그렇기에 무조건 증감식을 작성해주셔야 합니다!!

#include <stdio.h>

int main()
{
	for (int i = 1; i < 6;)
	{
		printf("i는 %d번 반복됩니다 \n", i);
	}

	return 0;
}

 


오늘은 C언어에서 제공하는 반복문 중 for문을 알아봤습니다.

그럼 다음 시간에는 또 다른 반복문인 while문을 배워보도록 하겠습니다.

긴 글 읽으시느라 너무너무 고생 많으셨습니다~~ㅎㅎ

댓글