본문 바로가기
공부/C언어

조건문

by ding9 2009. 10. 13.

조건문은 일종의 가정을 하거나 선택을 하는 겁니다. 만약 이거라면~~  이나 혹은 이거 아니면 저거 라는 식이죠.

C언어에서 조건문은 우선 if 구문이 있습니다. 구조는 다음과 같습니다.

           if ( 조건)
          {
                    실행구문;;
           }

if뒤에 조건에는 어떤 일정한 조건을 넣어주면 됩니다. 예를 들자면 영희는 남자인가? 이런식으로 조건을 주는 겁니다. 조건이 참이어야만 실행구문을 실행하게 됩니다. C언어에서 하듯이 써주면

           if ( a == 0)
          {
                    printf("%d\n", a);
                    a = 1;
           }

이와같이 쓸수 있습니다. 위에 부분을 해석하면 a값이 0과 같으면 a의 값을 화면에 출력하고 a에 1을 넣어주는 코드 입니다. 만약 a에 값이 0 이 아니라면  if문의 실행구문은 동작하지 않습니다.

 자 . 아마도 저경우 말고 그외의 경우도 있는데 그때는 어떻게 해야하나 라는 생각이 들게되는데요 그것을 위해서 if , else 가 있습니다. 아래와 같이 구성이 가능합니다.

           if ( b < 100)
          {
                    printf("%d\n", b);
                    b = 100;
           }
           else
          {
                    printf("%d\n", b);
                    b = 0;
           }

위의 코드는 b가 100미만의 값을 갖는 경우면 b를 출력하고 b에 100을 넣어주게되고, b가 100미만의 값을 갖는 경우가 아니라면 b를 출력하고 b에 0을 넣어주는 코드 입니다. if, else의 경우 홀수 짝수같이 2가지로 나눠지는 경우에 사용하면 편리하겠죠??

그럼 3가지 이상일땐 어떻게 해야하나 라는 의문점이 생기는데요. 그럴땐 if, else if, else 를 사용하면 됩니다.

           if ( c < 100 && c > 80 )
          {
                    printf("매우우수\n");
           }
           else if ( c >60)
          {
                    printf("우수\n");
           }
           else
          {
                    printf("보통\n");
           }

예는 위와 같구요 경우의 수가 많아지면 else if 구문을 추가해주시면 3개 이상의 조건문을 사용할수 있습니다. 코드를 해석하면 c는 100보다 작고 80보다 크면 매우우수가 출력되고, c가 80보다 작고 60보다 크면 우수가 출력되고, 이도저도아니면 보통이 출력되는 코드입니다.  이것은 성적산출같이 여러조건이 필요할때 사용하면 됩니다.

그리고 조건문에는 if, else 말고 switch라는 것이 있습니다. 사용의 예는 다음과 같습니다.

             switch(d)
             {
             case 1 :
                          printf("금메달입니다.\n");
                          break;
             case 2 :
                          printf("은메달입니다.\n");
                          break;
             case 3 :
                          printf("동메달입니다.\n");
                          break;
             default :
                          printf("메달을 받지 못했습니다\n");
             }

위와 같고 해석하면 d의 값이 1 이라면 금메달입니다를 출력, 2 라면 은메달입니다를 출력, 3 이라면 동메달입니다를 출력, 그외의 숫자라면 메달을 받지못했습니다를 출력하는 코드 입니다. 여기서 중요한것은 case에는 반드시 break;가 따라와야 하는 것과 case 뒤에는 숫자나 문자만 올수 있고 수식을 올수 없다는 점 입니다. 그리고 default는 if, else구문과 굳이 비교하자면 else 랑 같은 기능이라 할수 있씁니다.

조건문은 C언어를 비롯해서 모든 프로그램에서 빠지지 않는 부분이니 예제와 이론을 공부해가며 반드시 자기것으로 만들어 놓아야 합니다.
반응형

'공부 > C언어' 카테고리의 다른 글

반복문  (0) 2009.10.13
연산자  (0) 2009.02.07
변수  (0) 2009.02.05
c언어란  (0) 2009.02.05

댓글