보고서/10월 업무일지

10월 11일 업무일지

박잡스 2010. 10. 11. 17:51
for 문

먼저 while 문을 보자
int num;

num=0  //초기화
while(num <= 5) //(    )안이 while 문의 조건 
{
printf("%d\t",num); 
num=num+1; // 증감식
}

for 문의 형식
for (초기식; 조건식; 증감식) 명령문 이다
위의 while 문을 for 문으로 바꿔보면
 
for(num = 0 ; num <=5 ; num=num+1은 ,++num으로 쓸수있다)
printf("%d\t",num);

이렇게 된다.

*블로킹 함수 : 키보드의 입력이 있을때 까지 대기한다.
getche, scanf 등등 
반대로 넌(non)블로킹 함수가 있다.

for 문의 (초기화)(조건문)(증감식)등은 다 생략할 수 있다.

for ( ; ; )으로 = while(1) 과 같다 이식을 실행하면 무한반복 하게 된다.

for(i = 0; i<1000; i++);
처럼된 구문이 있다. 이 구문은
for(i = 0; i<1000; i++ )
{
;
}
처럼 아무것도 없는 것이다


#include
 <stdio.h>

int main()
{
  volatile unsigned int i;

  for(i=0;i<200000000;i++);
  return 0;
}

gcc -O3 -o main main.c

-O3 는 속도 최적화 옵션이다. 최적화를 하게 되면 cpu에서 메모리로 가지않고 레지스터에서 식을 처리하여
결과 값을 메모리로 보내기 때문에 속도가 빠르다.

위 구문의 volatile 이라는것은 최적화를 하지 말라는 명령어 이다.

보통은 최적화를 하고 몇몇 하면 안되는 곳에 저 명령어를 사용한다.