2013. 4. 3. 16:53ㆍ프로그래밍/C언어 TIP
◈ for문
보통 반복횟수가 사전에 정해진 경우에 많이 사용되는 반복문이다. 구문형식은 다음과 같다.
for(초기식; 조건식; 증감식)
{
명령문;
}
초기식과 증감식에는 (,)콤마를 써서 식을 여러 개 쓸 수 있다. ex) i = 1, j = 0;
초기식과 증감식에는 아무것도 쓰지 않아도 된다. 하지만 for문 안에는 초기식과 증감식이 생략 되더라도 세미콜론(;)이 반드시 2개가 들어야 한다. ex) (; 조건식 ;)
for(i = 1; i <= 5000000; ++i)이라는 for문을 수행하기 위해서는 cpu는 메모리로 부터 가져오는 데이터를 임시기억장소인 캐쉬를 사용하여 빠르게 계산하여 최적화 시킨다. 오백만을 전부 세어 보지 않고 바로 i = 5000000이라고 표현하게 된다. 하지만 volatile를 변수선언 앞에 써주게 되면 캐쉬를 사용하지 않기 때문에 메모리로부터 가져오고 다시 보내기를 오백만번 해야 하기 때문에 시간이 많이 걸린다. 그만큼 시간이 지연되게 되는 것이다.
for문을 while문으로 바꾸면 아래와 같다.
아래 소스는 0에서 10사이의 짝수를 출력하면서 각 단계의 누계를 출력하는 소스이다.
위와 같은 순서로 for문은 진행된다. 초기화가 되면 조건식에서 참과 거짓을 판단한 후 참이면 for문 안으로 진입하여 마지막에 증감식을 실행하게 되는 것이다. 다음을 순서도로 나타내보면,
위와 같은 그림이 만들어 지는 것을 알 수 있다. 결과는 직접 확인해보기 바란다.
'프로그래밍 > C언어 TIP' 카테고리의 다른 글
201303/변수의 값과 주소. 포인터의 개념. littleendian (0) | 2013.04.03 |
---|---|
201303/ getchar()와 getch() (0) | 2013.04.03 |
201303/while문. 심볼테이블. gerch() (0) | 2013.04.03 |
201303/반복문 (0) | 2013.04.03 |
201303/if문과 switch문. 문자입출력함수[getchar(), putchar()] (0) | 2013.04.03 |