본문 바로가기
코스웨어/16년 스마트컨트롤러

20160309_오아람_업무일지_그 밖에 기초학습

by 알 수 없는 사용자 2016. 3. 9.
728x90
반응형

-반복문-

01_while

<<예제소스>>

<<결과화면>>

 

while조건문안의 내용을 확인하고 참이면 수행함.

02_do While

 <<예제소스>>

<<결과화면>>

while문과는 다르게 do_while은 무조건 안의 내용을 한 번을 실행하고 조건을 본다.

03_for

<<예제소스>>

 

<<결과화면>>

for(시작값;조건문;증감값)

04_Volatile

<<예제소스>>

#include<stdio.h>

int main()
{
 volatile int iCnt;;

 for(;;)//==while(1)
 {
  for(iCnt=0;1000000>iCnt;iCnt++)

  {}
  printf("test\n");

 }


 return 0;
}

일반 for문을 써서 1000000번 해주면 cpu에서 0에서 1000000까지 연산을 모두 한 뒤에 메모리로 이동시켜준다. 그래서 시간지연이 일어나지 않는다.

반면 volatile int iCnt를 선언한 for문을 쓰면 cpu에서 0을들고가서 +1를 시켜서 메모리에 준다. 1를 다시 더하려면 다시 cpu로 값을 들고가서 더해서 메모리로 준다. 이 과정을 반복하게 해주는게 volatile이다. 시간을 지연시켜주는데 사용된다.

 

- 포 인 터 -

01) 함수타입 구하기

1. 함수원형을 출력한다.


2. 이름을 (*)로 대처한다.

3. void (*)();

 

02) 포인터 선언하기

타입 이름;

void (*)() p;인데 이름앞에 *가 존재해야하므로 void (*p)()가 된다.

 

- 용어정리 -

01) 증감연산자

전치 연산자 : 먼저 연산한다. 

iCnt=100;

A=++iCnt;
먼저 iCnt=iCnt+1를 한 뒤에 A=iCnt를 넣는다.

그래서 A의 결과값은 101이 된다.

 

후치 연산자 : 후에 연산한다.

iCnt=100;

A=iCnt++;

먼저 A=iCnt를 한뒤에 iCnt=iCnt+1를 해주어서 A의 결과값은 100이 된다.

728x90