티스토리 뷰

Application/C/C++

[강좌] 블럭쌓기 만들기 6일차

알 수 없는 사용자 2011. 8. 13. 07:50

강좌에 들어가기 전에..

으힠 3달 걸려서 1주차 자료를 준비하였었군요..

이제 2주차입니다.

죄송합니다. 속도를 좀 내겠습니다.

진짜 강좌 하나 하는데 1년 걸릴 기세..

고급스킬 배우시려면 다른데 가십쇼 ?_- 전 걍 길잡이 정도나 할렵니다 ㅎㅎ

자 부담없이 또 시작하시지요.

 

조건문, 무조건 뭘 하냐고요?

자. 조건문입니다.

일단 조건문은 if 입니다.

if x 명령어; [elseif y 명령어] [else 명령어]

이런식이지요.

근데 보통 쓰는 방식은

if (a>b) { c=a-b; } else { c=b-a; }

요런식으로 많이들 쓰신단 말이죠.

x와 y는 형식이 어떻든간에 0이면 false, 0이 아니면 true 입니다.

하지만 되도록 bool 타입으로 쑈부 치시는게 좋으실거에요..

이분법적 사고가 좋지 않다고들은 하는데, 컴터한테 복잡한거 설명해봐야 이눔은 뼛속부터 이분법적인 사고를 가지고 있어서 말이죠.

 

어쨌거나, 컴터 이놈은 x가 0이 아니면 뒤에 명령어를 실행합니다.

x가 0이면 걍 넘어가지요.

근데 뭐 조건식이라는게 있잖아요?

… 근데 조건식이라는게 또 웃긴게.. 연산이에요.. 걍 논리연산..

true는 1이라는 값을 가지고 있어요.

긍게 “스위치가 켜져있다”라는게 1이고, 그건 즉 true를 의미합니다.

꺼진거는 0이고 false고요. 여기까진 쉽죠?

x = 1>2;

라고 하면 에러가 날까요?

뭐, 저건 한번 해보시길 바래요.

 

어쨌거나, 조건식을 알흠답게 구현하는것이 프로그래머라고 생각하셔도 큰 무리는 없을겁니다..

자, 이제 샘플코드를 한번 보여드리죠.

#include <stdio.h>
int main()
{
  const int min = 1, max = 100;
  int i, sum = 0, oddsum = 0, evensum = 0;
  for(i = min; i <= max; i++)
  {
    sum += i;
    if(i%2)
    {
      oddsum += i;
    }
    else
    {
      evensum += i;
    }
  }
  printf("%d~%d까지 모두 더한 결과는 %d입니다.\n", min, max, sum);
  printf("%d~%d까지중에 홀수를 더한 결과는 %d입니다.\n", min, max, oddsum);
  printf("%d~%d까지중에 짝수를 더한 결과는 %d입니다.\n", min, max, evensum);
  return 0;
}

전에 했던거에서 조금 추가를 했지요.

저기에 % 연산자는 앞엣것을 뒤엣것으로 나눴을때 나머지 입니다.

if 뒤의 괄호 안엣것을 맘대로 바꿔가면서 해보시면.. 뭐 대충 이해가 될겁니다..

 

이건 뭐 바로바로 결과가 나오고, 좀더 고급 스킬을 쓰고 싶으시면 전에도 말씀드렸듯이 gcc manual이나 msdn을 참조하시면 됩니다.

다들 하는 얘기 또 하면 지겹기만 하잖아요 ㅋㅋ

뭐, 지금은 블럭쌓기 만드는데 알아야 할 것만 알면 되지 않을까 싶어서 말이죠..

 

 

오늘 강의도 이것으로 마칩니다.

그냥 쓱 읽으면 몇분도 안 걸리지만, 그럴거면 뭐하러 봐요 ㅎㅎ

나름대로 한번씩 해보시는게 좋습니다.

그리고 언제나 태클은 환영입니다 Array