(1) for문이란
특정 조건이 성립하는 동안 계속 반복하는 while을 이용해
같은 코드를 N번 반복하는 코드를 짤 수 있다.
그러나 while이 꼭 그러한 용도로만 사용되는 것은 아니다.
반면 for는 N회 반복에 거의 쓰이는 제어문이라고 할 수 있다.
적어도 N회 반복에 대해서는 while보다 간결하고 읽기도 쉽다.
while과 비교하면서 for의 사용법을 확인해보자
(2) for의 사용법
#include <stdio.h>
int main() {
int i;
i = 0;
//반복문에서는 관례적으로 i를 많이 사용한다.
while (i < 10) {
printf("i is %d\n", i);
i++;
}
}
위 코드는 printf를 while로 10번 반복하는 코드이다.
이 코드에 주석을 조금 추가해보겠다.
#include <stdio.h>
int main() {
int i;
i = 0;//초기화식
//반복문에서는 관례적으로 i를 많이 사용한다.
while(i < 10/*조건식*/) {
printf("i is %d\n", i);
i++;//증감식
}
}
i = 0; 은 초기화식, i < 10; 은 조건식, i++; 은 증감식이라고 할 수 있는데,
이 세 가지가 for문에서 요구하는 식들이다.
for문에 이렇게 적어주면 더 간편하게 10번 반복할 수 있다.
#include <stdio.h>
int main() {
for(/*초기화식*/;/*조건식*/;/*증감식*/) {
//실행할 코드
}
}
각 자리에 식을 넣어주면 이렇게 된다.
#include <stdio.h>
int main() {
int i;
for(i = 0;i<10;i++) {
printf("i is %d\n", i);
}
}
각 식은 ; 으로 구분하며 증감식 뒤에는 ; 을 붙이지 않는다.(;을 두 개만 쓴다)
당연스럽게도 실행 결과는 완전히 똑같다.
그런데 이렇게 하면 다른 용도로 i 라는 이름의 변수를 사용하기 애매해진다.
매번 초기화식을 0으로 적어준다 하더라도 for문이 작동한 후에 i의 값이 원래 값으로 복구되지 않기 때문에
i 같은 변수는 for문에서만 사용하는 것이 좋다.
그런데 C에서 이걸 해결하는 방법이 있다.
초기화식에서 바로 변수를 선언해서 사용할 수 있다.
무슨 말이냐면..
#include <stdio.h>
int main() {
for(int i = 0/*초기화식에서 변수를 선언함*/;i<10;i++) {
printf("i is %d\n", i);
}
for(int i = 0/*초기화식에서 변수를 선언함*/;i<10;i++) {
printf("i times 10 is %d\n", i * 10);
}
}
이렇게 하면 for문이 시작할 때 i가 생성되고 for문이 끝날 때 i가 소멸되어 오직 해당 for문에서만 접근할 수 있는
반복용 변수를 사용할 수 있다.
코드에서 보이다시피 모든 for문에서 i를 사용할 수 있게 된다.
for문은 나중에 배울 배열을 사용할 때 굉장히 자주 사용하기 때문에 잘 익혀두는 게 좋다.
연습 예제 :... 1부터 100까지 정수의 제곱을 출력하는 코드를 작성하라.
꼭 미리 코드를 작성해보고 정답을 확인하기 바란다.
▼ 정답 보기
#include <stdio.h>
int main() {
for(int i = 0;i<10;i++) {
printf("i times i is %d\n", i * i);
}
}
다음 강좌에서는 swtich에 대해 알아볼 것이다.
'Programming > C & C++' 카테고리의 다른 글
[C/C++] 백준 1157번 C++ 풀이 (0) | 2021.08.30 |
---|---|
[C/C++] Win32 API 첫 예제! (0) | 2021.08.24 |
[C/C++] 9.2강 - 제어문, 조건 관리하기 (while 사용법) (2) | 2021.08.01 |
[C/C++] 9.1강 - 제어문에서 논리 연산자 사용하기 (if의 사용법) (0) | 2021.07.20 |
[C/C++] 9강 - 제어문, 조건 관리하기 (if의 사용법) (0) | 2021.07.11 |