본문 바로가기

개발/C&C++

(C/C++ 속성 정리) 6일 차 : 반복문(for , while)

안녕하세요 넬 다이입니다.

오늘은 반복문 차례가 돌아왔어요!.

 

오늘도 힘드시겠지만 어려운 파트는 아니니깐 다들 힘내세요!!!

 


반복문

여러 번 출력을 해야 할 때,

반복문을 사용해서 간단한 코드 몇 줄로 원하는 부분을 반복적으로 출력이 가능하기 때문이다.

 

while 문

while(내부의 조건이 true 가 된다면)
계속해서 루프를 돌게 된다.
 while(1); 이런 식으로 false가 아닌 값은 모두 true이다.

0은 false이고 0이 아닌값은 전부 true이다.

 

int iAA = 0;
while(true)
{
	//while 중괄호 영역을 탈출하기 위해서
	//break 사용이 가능하다. break 가 있다며은 반복문 밖으로 나간다.
	if(iAA > 10)
		break;

	cout << iAA << endl;
	++iAA;
}

 

이렇게 되면은 iAA의 값이 0부터 9까지 출력이 되는 구문이 완성된다.

 

iAA의 값이 10이 된다면은 if문을 통해서 break로 반복문을 빠져나오게 될 것이다.

 

결국 while 문 내부에 우리가 배웠던 연산자를 통해 반복의 횟수를 결정할 수가 있다.
주어진 조건이 참일 때만 반복을 수행하는 것.


do ~ while 문

while 문과 비슷한 문법이다.
while 문은 조건이 만족되지 않으면 아예 실행이 되지 않지만 do ~ while 문은 무조건 한 번은 실행한 다음
이후에 조건을 판별해 반복 여부가 결정이 된다.

 

int iAA = 0;
do 
{
	//실행할 문장이 이 안에 들어가는것.
	cout << iAA << endl;
	++iAA;
} 
while (iAA < 5);

 

위에 코드처럼 while문이 뒤에 있어서 do에 해당하는 구간을 처음 한번 실행한 후 while문의 조건문을 검사한다.

그렇기 때문에 iAA가 0~4까지 출력 후 while문의 조건에 걸려서 밖으로 빠져나오게 된다.


continue 문 

반복문 안에는 continue라는 구문이 있는데 이는 이 구문을 만나면은 반복문의 처음으로 다시 돌아가게 된다.

int	iAA = 0;

while(iAA < 10)
{
	cout << iAA << endl;
	
	//continue 를 만나면 반복문의 처음으로 다시 돌아가게 된다.
	continue;
	++iAA;
}

위에 구문에서는 iAA의 값이 0으로 계속 출력될 것이다.

 

continue문을 만나서 while문의 조건 검색하는 곳으로 가기 때문에

 

++iAA를 할 수가 없으므로 무한루프에 빠지게 된다.

 


for문

for 문 또한 반복문의 일종으로 앞으로 코딩을 하면서 지겹도록 보게 될 반복문이다.
같은 내용을 반복을 하더라도 반복해야 할 횟수가 정해져 있는 경우가 있고 없는 경우가 있다.
예를 들어 특정 키가 입력이 되었을 때 반복을 멈춘다는 코드가 있을 수도 있다.
이럴 때는 while 문을 많이 사용하고 반복할 횟수가 정해져 있는 상황이라면 주로 for 문을 사용하게 된다.

 

//내부에서 선언과 동시에 초기화가 이루어지는 형태.
for(int i = 0; i < 10; ++i)
{
	cout << i << endl;
}

 

반복문의 예시이다.

위에 반복문에서는 i를 0~9까지 출력해주는 반복문이다.

 

순서로 보자면은

for문이 실행되면

1 = int i = 0;이라는 초기화 구문에 들어가게 된다.

2 = i < 10;이라는 조건문이 true인지 검사한다 true면은 중괄호 문장을 실행하고 false라면 빠져나간다.

3 = cout << i << endl;이라는 구문을 실행한다.

4 = 모든 구문이 끝 낫으므로 ++i라는 연산을 진행한다.

그 후 2~4를 반복한다. 2번이 false가 나올 때까지.

 

//외부에서 선언과 동시에 초기화가 이루어진 형태..
int i = 0;
for(i; i < 10; ++i)
{
	cout << i << endl;
}
//c++ 에서는 for문 내부에서 증감 변수를 선언할 수 있게 된것임.
//무한루프가 도는 형태...
for(;;);
//내부에서 초기화만 이루어지는 형태..
int i;
for(i = 0; i < 10; ++i)
{
	cout << i << endl;
}
//초기화식이 생략된 형태..
int i = 0;
for(; i < 10; ++i)
{
	cout << i << endl;
}
//초기화식과 증감식이 따로 떨어진 형태..
int i = 0;
for(; i < 10 ;)
{
	cout << i << endl;
	++i;
}

 

다양한 형태로 for문을 사용할 수 있으며 다양한 예시를 한번 보여드리게 되었는데요

프로그래밍에서 반복문은 매우 중요한 문법 중에 하나예요 다들 익숙해지기 위해서 많은 연습과 공부가 필요합니다.

 

그렇기 때문에 오늘도 숙제 나갑니다!


금일 숙제

 

for문 , while문을 사용하여 구구단 2~9단 출력!!!

 

앞서 배운 내용대로 for문과 while문을 이용해서 구구단을 출력해보세요

댓글 남겨드리면 피드백 꼭 드립니다. ㅎ 약속!

 

[개발/C&C++] - (C/C++ 속성 정리) 5일 차 : 난수

[개발/C&C++] - (C/C++ 속성 정리) 4일 차 : 분기문 (숙제 있어요)

[개발/C&C++] - (C/C++ 속성 정리) 3일 차 : 연산자

[개발/C&C++] - (C/C++ 속성 정리) 2일 차 : 자료형 타입과 표현 범위 및 변수 선언

[개발/C&C++] - (C/C++ 속성 정리) 1일 차 : 주석, cout,cin은 무엇인가?