블로그 이미지
하루, 글. 그림. 영상매체. 표현을 도와주는 기기들. 도전 중. 동화다아아
    동화다아아

    카테고리

    분류 전체보기 (176)
    잡담 (1)
    IT 기기-리뷰&뉴스 (7)
    리뷰 - 도서 (1)
    리뷰 - 영상 (0)
    리뷰 - 그림/음악 (1)
    내장형 하드웨어 (163)
    Total
    Today
    Yesterday
     

    test1. 점수를 입력받아 등급을 나누어 표시하는 프로그램.(if문 사용)

    #include<stdio.h>

    int main()

    {

            int iNum=0; // 입력받을 점수가 들어갈 변수 선언

            printf("1~100 사이의 점수를 입력하세요.: ");

            scanf("%d", &iNum);


            if((iNum>=90) && (iNum<=100))

            {

                    printf("당신은 A 등급입니다.\n");

            }

            else if((iNum>=80) && (iNum<90))

            {

                    printf("당신은 B 등급입니다.\n");

            }

            else if((iNum>=70) && (iNum<80))

            {

                    printf("당신은 C 등급입니다.\n");

            }

            else if((iNum>=0) && (iNum<70))

            {

                    printf("당신은 F 등급입니다.\n");

            }

            else // 1에서 100을 벗어난 값을 입력하면 출력된다.

            {

                    printf("잘못된 값을 입력하셨습니다.\n");

            }


            return 0;

    }


    test2. 점수를 입력받아 등급을 나누어 표시하는 프로그램.(switch문 사용)

    #include<stdio.h>

    int main()

    {

            int iNum;

            printf("1~100 사이의 점수를 입력하세요: ");

            scanf("%d",&iNum);

            iNum=iNum/10;


            switch(iNum)

            {

                    case 10:

                    case 9:

                            printf("당신은 A 입니다.\n");

                            break;

                    case 8:

                            printf("당신은 B 입니다.\n");

                            break;

                    case 7:

                            printf("당신은 C 입니다.\n");

                            break;

                    default:

                            printf("당신은 F 입니다.\n");

                            break;

            }

            return 0;

    }


    ⇒ if문과 switch문은 우리가 쓰는 PC 에서는 큰 차이가 나지 않지만 임베디드 쪽에서는 차이가 난다. 예전에는 if문 쪽이 빠르다는 의견이 많았지만 컴파일러간의 차이와 발전과정에 따라 어느 것이 더 빠른지는 차이가 없다.


    ※ 아스키 코드와 수의 이해

    ⇒ ‘0’=48, ‘1’=49;, ‘2’=50

    ⇒ ‘2’-‘1’ = 1

    ⇒ 2-1 =1

    ⇒ 2+‘0’=‘2’ (→ 2+48=50)

    ⇒ printf("%c\n",'0'+2); // (→ 48+2=50) 즉, 출력이 2가 된다. (아스키 코드 50)


            char A = 50;

            char B = '2';   // → 둘 다 50이 저장된다.

            printf("%c\n",A); // → 2가 출력된다.

            printf("%d\n",B); // → 50이 출력된다.




    // getchar 확인

    #include<stdio.h>

    int main()

    {

            char ch;

            ch = getchar(); // 1byte ASCII 코드를 가져온다.(scanf와는 달리 한 개(1byte)만 입력받는다.)

            printf("%d\n",ch); // 입력한 문자에 해당하는 ASCII 코드 숫자를 출력한다.

            printf("%c\n",ch); // 입력한 문자가 그대로 다시 나온다.

            putchar(ch); // 글자 하나를 출력한다.

            putchar('\n'); // 개행문자(putchar는 개행문자를 이렇게 따로 써줘야 한다.)

            putchar(97); // 소문자 a를 출력한다.


            return 0;

    }


    ※ 우리가 입력하는 것들(1234ABC or 1234 or ABC)은 모두 문자이며, 컴퓨터는 모두 숫자로 입력받는다.

    ※ 숫자 1234(10) → 64D2(16)

       예를 들어 키보드 입력(1234)를 하게 되면 이것은 문자로 입력되고 64D2(16)로 저장된다. 그리고 printf문 %d 불러오게 되면 이것은 다시 64D2에서 1234로 바뀌어 출력된다.

    ※ 문자로 2000000000은 10byte 지만 숫자로는 4byte면 된다.(int 형으로 표현할 수 있으므로)

    ※ getchar와 putchar의 경우 scanf, printf와는 달리 글자하나를 입력받고 출력한다.

    ※ putchar는 개행문자를 붙여 쓸 수 없다. 따라서 따로 putchar(‘\n’); 을 써줘야 한다.

    ※ getchar는 putchar는 한문자만 입력되거나 출력되는 단점이 있다. 용도에 따른 쓰임이 있다.


    ⇒ Alt를 누른 상태에서 ASCII 숫자를 누르면 해당 문자가 출력된다.

       (Alt + 97 → a, Alt + 47 → 1)






    Posted by 동화다아아
    , |

    최근에 달린 댓글

    최근에 받은 트랙백

    글 보관함