본문 바로가기

프로그래밍/C 기초

[C언어 강좌] #11 - 반복문 for

안녕하세요. 오늘은 반복문 for를 배워보겠습니다.



저번에 while을 배워봤었죠?


while(A)에서 A가 참일경우 계속 반복됐었습니다.


while로 변수를 늘려가면서 원하는만큼 반복하는방법이 있었죠.


int i = 0;

while(i < 10) {

printf("안녕\n");

i++;

}


이런방법으로 안녕을 10번 출력시킬수 있었습니다.

우선 변수 i를 초기화하고 i가 10보다 작은지 체크한다음 안녕을 출력하고 i를 1만큼 증가시켰습니다.


근데 이것을 바로 하나로 묶어버릴수 있는게 for문입니다.


for문의 기본적인 형태는 다음과 같습니다.


for(초기화;조건체크;업데이트)


우선 초깃값을 정해준후 조건을 체크하며 값을 업데이트해줍니다.

조건이 맞지 않을경우 for문은 끝나게됩니다.


한번 예제를 보면서 배워보죠.


for(int i = 0;i < 10;i++) {

printf("안녕\n");

}


이렇게 for문으로 짜여진 코드는 위에있는 while문과 동일하게 작동됩니다.

그리고 while문과 마찬가지로 break와 continue도 사용가능합니다.


물론 콤마연산자로 한번에 두개이상의 변수 초기화도 가능합니다.


for(int i = 0,j = 0;i < 10 && j < 10;i += 1,j+=i)

printf("안녕");


이런식으로 작성되는것도 충분히 가능합니다. 콤마를 이용해서 한번에 여러 문장을 넣을수 있죠.



for문은 위와같은 형태로 진행된다고 보시면 됩니다.



그리고 while문은 while(1)또는 while(true)를 넣으면 무한루프를 시킬수있었죠?

for문도 가능할까요?


조건을 체크하는부분에 1이나 true를 넣어주면 당연히 무한루프가 됩니다.

하지만 굳이 그걸 안넣어줘도 for문은 무한루프에 들어갑니다.

이렇게 ;;로 빈문장만 넣어줘도 알아서 무한루프로 들어갑니다.