반응형
그동안
if 문
if else 문
switch case 문
while 문
do while 문
등에 대하여 알아보았는데,
문법 설명없이 바로 예시로 설명했던 이유는
직관적으로 이해하기 쉽기 때문이였다.
for 문은 알면 쉽지만, 처음에 이해하기가 조금 어려 울 수 있겠다는 생각이 들어서
먼저 문법을 설명하려고 한다.
for( 초기화식 ; 조건식 ; 증감식 )
{
처리내용
}
위와 같이 for 문을 사용하는데 (초기화식, 조건식, 증감식 사이에 ; (세미콜론) 이 있음에 주의)
1) 초기화식
2) 조건식 (여기에서 조건이 거짓이면 블럭을 벗어난다)
3) 처리내용
4) 증감식
의 순으로 실행이 된다. (처리내용이 먼저이고, 증감식이 나중임에 주의)
그런 후에 다시
1) 조건식 (여기에서 조건이 거짓이면 블럭을 벗어난다)
2) 처리내용
3) 증감식
의 순으로 실행된다.
그런 후에 다시
1) 조건시 2) 처리내용 3 증감식 ..... 반복적으로 블럭을 벗어날 때 까지 실행된다.
예시를 보자.
#include <stdio.h>
int main()
{
for (int i = 0; i < 10; i++)
{
printf("%d\n", i);
}
return 0;
}
실행 결과
상황에 따라서 초기화식, 조건식, 증감식은 각각 생략 가능하다.
// 초기화식 생략
int i=0;
for(;i<10;i++)
{
printf("%d\n", i);
}
// 조건식 생략(무한루프에 빠지게 된다.)
for(int i=0; ;i++)
{
printf("%d\n",i);
}
// 증감식 생략(무한루프에 빠지게 된다.)
for(int i=0; i<10; )
{
printf("%d\n",i);
}
// 모두 생략(무한루프에 빠지게 된다.) (이경우 while(true) { } 문과 같다)
for(;;)
{
printf("A");
}
조건식이 빠져서 무한루프에 빠지게 되므로 블럭내에서
if(i>=10) { break; } 코드를 추가할 수 있고
증감식의 생략으로 인한 것도 마찬가지로 블럭내에서
i++; 을 해 주면해결이 된다.
숙제) for 문을 이용하여 구구단을 출력하는 프로그램을 작성하시오.
반응형
'C언어(2020년)' 카테고리의 다른 글
15. 주석 (0) | 2020.11.03 |
---|---|
14. 배열 (0) | 2020.11.02 |
12. do while 문 (0) | 2020.11.02 |
11. while 문 (0) | 2020.11.02 |
10. switch case 문 (0) | 2020.11.02 |