728x90

 

2014.03.14 수업 ver1_0a.docx

2014. 03. 14 수업 및 과제 


1. for문의 구조와 이해

 

 

for문 예시 .아래 문장들은 5번,6번 문장을 제외 한 모두 같은 결과 

#include <stdio.h>
int main()
{
  int iNum1;
  int iNum2;
/*1-----------------------------------------------------------------  
  for(iNum1=1,iNum2=0 ; iNum1<5 ; iNum1=iNum1+1,iNum2=iNum2+2)
  {
    printf("iNum1=%d, iNum2=%d\n", iNum1, iNum2);
  }
초기식 , 증감식은 콤마(,)구분으로 여려 문장을 쓸 수 있음*/

/*2-----------------------------------------------------------------
  iNum2=0;

  for(iNum1=1; iNum1<5 ; iNum1=iNum1+1)
  {
    printf("iNum1=%d, iNum2=%d\n", iNum1, iNum2);
    iNum2=iNum2+2;
  }
*/

/*3-----------------------------------------------------------------
  iNum1=1;
  iNum2=0;

  for( ; iNum1<5 ; )
  {
    printf("iNum1=%d, iNum2=%d\n", iNum1, iNum2);
    iNum2=iNum2+2;
    iNum1=iNum1+1;
  }
*/

/*4-----------------------------------------------------------------
  iNum1=1;
  iNum2=0;

  while(iNum1<5)
  {
    printf("iNum1=%d, iNum2=%d\n", iNum1, iNum2);
    iNum2=iNum2+2;
    iNum1=iNum1+1;
  }
*/

/*5-----------------------------------------------------------------
  for(iNum1=1,iNum2=0 ; iNum1<5 ; iNum1=iNum1+1,iNum2=iNum2+2)
    printf("iNum1=%d, iNum2=%d\n", iNum1, iNum2);
처리 문장이 한줄 일때는 중괄호 생략 가능*/

/*6-----------------------------------------------------------------
  iNum2=0;

  for(iNum1=1; iNum1<5 ; iNum1=iNum1+1)
    printf("iNum1=%d, iNum2=%d\n", iNum1, iNum2);
    iNum2=iNum2+2;
처리 문장이 두줄 일때는 두번째 문장 한번만 실행*/


  return 0;
}

     [결과]

 

2. 무한 루프 예

[예제]

#include <stdio.h>
int main()
{
  unsigned int uiCnt=0;
      for(;;) /* 무한루프 조건식 공백 같은 결과 while(1) */
  {
    printf("%u \n", uiCnt);
    ++uiCnt;
  }
  
return 0;
}

[결과]

0에서 1증가 하면서 무한 반복 

 

3. 조건적 실행과 흐름의 분기

  3.1 if문

 참이면 실행 거짓이면 건너뜀

[예제1]

 #include <stdio.h>
int main()
{
  int iNum;
  scanf("%d"&iNum);
  printf("입력하신 숫자는 %d입니다.\n", iNum);

  if(100<iNum) /* 조건이 참이면 실행/ 아니면 분기(건너뜀)*/
  {
    printf("입력하신 숫자는 100보다 커다\n");    
  }
  return 0;
}
 
 

[결과] 

 

[예제2]

#include <stdio.h>
int main()
{
  int iNum;
  
  for(iNum=1; iNum<100; ++iNum)
  {
    if(   (0==(iNum%3) ) || (0==(iNum%4) )   )    연산우선 순위 비교를 괄호를 필히 해준다.

{                                                   문장의 명확을 위해 중괄호를 해주는 것이 좋다.*/
        printf("3 or 4 배수 %d \n",iNum);
}

  }  return 0;
}

[결과]

 

3.2 if~else

 if절의 조건이 참이면 if블록 거짓이면 else블록 실행

 else은 if가 반듯이 있어야 가능한 문장

[예제]

#include <stdio.h>
int main()
{
  int iNum;
  printf("정수 입력:");
  scanf("%d"&iNum);

  if(iNum>0)
  {
    printf("%d이 0보다 큰 수\n", iNum);
  } 
  
else
  {
    printf("%d이 0보다 작은 수\n", iNum);
  }
  
return 0;
}

[결과]

 

3.3 if else if문

셋 이상의 블록 중 하나를 선택해서 실행

 

 

3.4 삼항 연산자

조건 ? data1 : data2

조건이 참이면 data1반환 거짓이면 data2 반환

 

int iNum3= (iNum1>iNum2) ? (iNum1) : (iNum2);

 

[예제]

#include <stdio.h>
int main()
{
  int iNum1, iNum2;
  int iResult;

  printf("두 개의 정수 입력: ");
  scanf("%d %d"&iNum1, &iNum2);

  iResult= (iNum1>iNum2) ? iNum1-iNum2:iNum2-iNum1;
  printf("뺄셈의 결과: %d \n",iResult);

  return 0;
}

[결과]

 

'…™업무일지。' 카테고리의 다른 글

[smart]이재우-20140318  (0) 2014.03.18
[smart]이재우-20140317  (0) 2014.03.17
[smart]이재우-20140313  (0) 2014.03.13
[smart]이재우-20140312  (0) 2014.03.12
[smart]이재우-20140311  (0) 2014.03.11