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

C언어 제어문(while, do while 반복문)_16일차

by 썬's 2023. 2. 12.

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

저번 시간에는 C언어의 제어문 중 for 반복문을 알아봤습니다.

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

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

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

 


요약

  • 반복문이란 프로그래머가 지정한 명령이 조건에 부합하면 반복해서 실행하는 문법을 말한다.
  • while 반복문은 조건식으로만 구성돼 있다. 단 초기식과 증감식이 없는 것은 아니다.
  • do while 반복문은 조건식의 값이 거짓이든 간에 실행할 명령을 무조건 한 번은 실행시킨다.

1. while 반복문

C언어에서 반복문이란 일련의 명령들이 조건에 부합하다면 실행하는 문법입니다. while 반복문은 for 반복문과 비슷한 형식을 가집니다.

for 반복문이 초기식, 조건식, 증감식으로 구성돼 있다면, while 반복문은 조건식만으로 구성돼 있습니다.

그렇다고 while 반복문에는 초기식과 증감식이 없는 건 아닙니다.

 

다시 한번 초기식과 조건식, 증감식을 설명드리자면, 초기식은 반복문에 시작 조건이며, 조건식은 반목문 내 명령을 시행할지 여부를 검사하고, 증감식은 초기식의 값을 변동시킵니다.

 

while 반복문의 구성방식은 다음과 같습니다. 여기서 for 반복문과 차이점이 있다면, 초기식이 반복문 바깥에 있고, 증감식은 반복문 내에 있는 것을 보실 수 있습니다. 

이 말은 초기식과 증감식은 사용하고 싶은 위치나 작업 순서에 맞게 적절하게 배치해서 사용할 수 있습니다.

초기식
while(조건식)
{
   조건식에 부합하면, 실행할 명령;
   증감식;
}

 

하단 코드를 보시면 while 반복문 바깥에 변수 a를 선언하고 값을 1 대입했습니다. 이를 초기식이라고 합니다. 그리고 while 반복문에는 조건식인 a가 6보다 작다는 조건을 반복문을 끝낼 조건으로 걸었습니다. a가 6보다 작으면 반복문 내 문장이 실행됩니다. 마지막으로 반복문을 끝내야 되니 초기식을 변화시킬 증감식인 ++a로 반복문 내 문장이 실행될 때마다 값을 1씩 증가시며 a의 값이 5가 되는 순간 반복문이 끝나는 것을 보실 수 있습니다.

#include <stdio.h>

int main()
{
	int a = 1; // 초기식

	while (a < 6) // 조건식
	{
		printf("a의 값은 %d입니다 \n", a);
		++a; // 증감식
	}

	return 0;
}

출력 결과
출력 결과

이렇게 보면 결국은 for 반복문과 while 반복문은 똑같이 초기식, 조건식, 증감식으로 구성되어 있어 for 반복문이 더 편해 보이니만, for 반복문은 세 가지 구성요소가 무조건 있어야 되고 while 반복문은 초기식이나 조건식을 유동성 있게 다룰 수 있어 상황에 따라 사용하시면 됩니다.

 


2. do while 반복문

C언어에서 do while 반복문은 어렵게 생각하실 필요는 없습니다. while문과 비슷하지만 조건식을 명령문을 실행하기 전에 검사하지 않고 명령문을 먼저 실행하고 조건식을 검사합니다.

 

do while문의 구조는 다음과 같습니다.

do를 먼저 작성하시고 명령을 작성한 다음 실행할 명령을 작성해 주시고 while문의 조건식을 작성해 주시면 됩니다.

주의하실 점은 while(조건식) 뒤에는 세미콜론을 작성해주셔야 합니다!!

 

여기서 보실 수 있듯이, 반복문의 조건식이 참이든 거짓이든 간에 무조건 명령문이 한 번 실행됩니다.

그리고 사실 do while문은 구조가 이런 식으로 되어 있기 때문에 잘 사용하지 않습니다.

여러분들이 집중하셔야 할 것은 for 반복문과 while 반복문입니다!!

do
{
   실행할 명령; // 조건식을 검사하기 전에 실행되는 명령으로 조건식이 거짓이어도 문장을 한 번 실행
} while(조건식);

 

하단 코드를 보시면 마찬가지로 변수 a를 1로 맞춰주고 do while문을 작성했습니다. 그리고 while(조건식)에 a는 1이 아닐 때로 조건을 걸어줬습니다. 조건식의 원래 기능대로라면, a는 1이 맞기 때문에 반복문 내 문장이 실행되지 않지만, 조건식은 마지막에 검사하는 do while문 특성상 반복문 내 문장이 실행되는 것을 보실 수 있습니다.

#include <stdio.h>

int main()
{
	int a = 1; // 초기식

	do
	{
	  printf("a의 값은 %d입니다 \n", a); // 실행할 명령
	}while (a != 1); // 조건식

	return 0;
}

출력 결과
출력 결과


오늘은 C언어의 반복문 중 while문과 do while문을 배워봤습니다.

이제 제어문은 여기서 마치겠습니다.

그럼 다음 시간에는 조금 어려우실 수 있는데요... 바로 배열을 설명드리겠습니다 ㅎㅎ

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

댓글