학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

중요함수    1

조건문

학습목표

조건에 따라 선택을 제어하는 if문과 case, switch문의 활용을 익힌다.

학습주제

조건이 1, 2, 3 이상일 때의 if 조건문에 대해서 배운다.

case, swich 조건문을 배운다.

보드의 스위치 조건에 따라 Led 점등한다.

예습내용

1.if

조건을 만족할 때만 문장을 수행한다.

if (조건)

  문장;

 

 

 

예제1

a 입력이 90 이상일 때만 A 프린트 한다.

#include "stdafx.h"

#include "iostream.h"

int main(int argc, char* argv[])

{

              int a;

              cin>>a;

              if(a>=90)

                             cout<<"A"<<endl;

              return 0;

}

2.if~else

조건을 만족할 때만 문장1 아니면 문장2 수행한다.

if (조건)

문장1;

else

  문장2;

 

 

 

 

 

예제2

a 입력이 90 이상일 때만 A 아니면 B 프린트 한다.

#include "stdafx.h"

#include "iostream.h"

int main(int argc, char* argv[])

{

              int a;

              cin>>a;

              if(a>=90)

                             cout<<"A"<<endl;

        else

                cout<<"B"<<endl;

              return 0;

}

3.if~else if

조건1 만족할 때만 문장1 조건2 만족하면 문장2 이와 같이 차례로 검색한다.

if (조건1)

문장1;

else if(조건2)

문장2;

else if(조건3)

문장3;

else

  문장n;

 

 

 

 

 

 

 

 

 

 

예제3

a 입력이 90 이상일 때만 A 80이상이면 B 나머지는 C 프린트 한다.

#include "stdafx.h"

#include "iostream.h"

int main(int argc, char* argv[])

{

              int a;

              cin>>a;

              if(a>=90)

                             cout<<"A"<<endl;

        else if(a>=80)

                cout<<"B"<<endl;

        else

                cout<<"C"<<endl;

              return 0;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. switch~case

“switch(변수)” 변수가 “case 상수 일치하는 상수 값의 문장을 수행하고 break 문을 만나면 swich문을 끝낸다. 만족하는 상수가 없으면 default 문을 실행하며 default문은 없어도 된다.

Switch(변수) {

Case 상수1: 문장1; break;

Case 상수2: 문장2; break;

Case 상수3: 문장3; break;

default : 문장n; break;

}

 

 

 

 

 

 

 

 

예제3

a 1이면 first, 2 second, 3 third, 나며지는 else 출력한다.

#include "stdafx.h"

#include "iostream.h"

int main(int argc, char* argv[])

{

int a;

cin>>a;

switch(a) {

case 1:

   cout<<”first”<<endl;

   break;

case 2:

   cout<<”second”<<endl;

   break;

case 3:

   cout<<”third”<<endl;

   break;

default:

   cout<<”else”<<endl;

   break;

}

return 0;

}

 

 

실습방법

   

예제 프로그램을 실행해 본다.

 

처음

   

예제3 이용하여 성적 프로그램을 완성하시오.

a>=90 : A    80<=a<=90 : B  70<=a<=80 : C   60<=a<=70 : D  a<=60 : F

중요함수

 

AVR 프로그램

지난주의 예제2 프로그램을 수정하여 연속적으로 동작 하도록 한다.

AVR 예제1  이동연산자와 if

시프트가 진행되어 a=0x00 되면 a=0x01 만들어 연속적으로 동작하게 한다.

char a=1;

while (1)

      {

          a=a<<1;                // 좌로 1 이동

          if(a==0x00)

           a=0x01;  

        PORTC=~a;          //보수를 출력        

        delay_ms(500);  //1초간 시간 지연

      };

전체프로그램 보기

 

“switch” 문을 이용하여 스위치 동작에 따라 Led 점등하도록 하자.

Switch0-Led0, Switch2-Led2, Switch3-Led3, Switch4-Led4

AVR 예제2 스위치에 따라 Led 동작 (switch 사용)

 

switch(PIND) {

          case 0x01:

                        PORTC=~0x01;

                        break;

          case 0x02:

                        PORTC=~0x02;

                        break;

          case 0x04:

                        PORTC=~0x04;

                        break;

          case 0x08:

                        PORTC=~0x08;

                        break;

          default :

                        PORTC=~0x00;

                        break;

}

전체프로그램 보기