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

    카테고리

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

    #include<stdio.h>

    int main()

    {

            unsigned char a;

            unsigned short b;

            

            b=256;

            a=b;

            printf("%d\n",a);

            printf("%d\n",b);


            return 0;

    }


    → signed short b=255는 %d로 출력하면 -1이 나온다.

      즉, 이와 같이 변수와 값을 선언하기 전에는 쓰레기값 혹은 임의의 값이라 불리는 값이 들어가 있다. 이 변수에 255라는 수를 선언 하는 것을 초기화라 한다.


    ․ unsigned short b; → 변수 선언.(쓰레기값이 들어가 있다.)

    ․ short b=0; → b=0으로 초기화

    ․ unsigned short b=0; → 변수선언과 초기화를 동시에


    // int 형 변수가 범위를 벗어나는 값을 가질 경우 발생하는 오류를 보여주는 프로그램


    # include <stdio.h>

    int main()

    {

            int num;

            num = 2147483647; //정수의 최대값

            num = num +2;

            printf("최대값보다 2가 큰 값은 %d.\n", num + 2);

            num = num - 2;

            printf("최대값보다 2가 작은 값은 %d.\n", num -2);


            return 0;

    }


    ⇒ num = num +2;

    ① num+2 → 최대 값 +2(ALU가 계산 하고 register로 값이 넘어간다.)

    ② num-2의 값이 num으로 대입되고 최대값 2147483647+2가 num이 된다.


    ․ scanf → scan + f(function)

     ⇒ 키보드로 값을 입력받는다.

     - scanf("%d",&변수) → 개행문자를 넣지 않는다. %d를 입력받는 다는  것은 10진수 정수만 입력 받는다는 것.

     - &(ampersand)는 주소연산자로 scanf() 함수 내에서 입력 값을 받는 변수 앞에 반드시 붙여 주어야 한다.


    // 키보드로부터 숫자를 입력받아 화면에 출력하는 프로그램

    #include <stdio.h>

    int main()

    {

            int number;

            printf("Please enter a number : "); /*키보드로 10진수 정수를 입력받아 number 위치에 넣어라는 뜻*/

            scanf("%d", &number); /* 아무것도 입력ㅎ지 않으면 block 상태-커서가 대기하며 멈춰있다.(프로그램 정지 중)

            printf("The number you typed is %x.\n", number);


            return 0;

    }

    ․ stdio.h

    - stdio(standard input output - 표준 입출력). h(header)

    - input(입력장치-키보드) ※마우스는 기본적으로 표준 입력 장치에 들어가지 않는다.

    - output(출력장치-모니터)


    ․ char ≤ short ≤ int ≤ long 의로 규정되어 있으며, 32bit CPU의 경우

    ⇒ char = 1byte, short = 2byte, int = 4byte, long = 4byte로 되어 있으나 이것과 다른 값을 가질 수 도 있다.

    ※ short 형은 int 형이며, int의 절반의 바이트 크기를 가진다.


    ․ %(형식연산자-d,o,x,f,lf...) 사이에 숫자(자리수)를 지정해 줄 수 있다.

    // 자릿수 지정에 따른 데이터 출력 결과


    #include <stdio.h>


    int main()

    {


            printf("%2d\n",111);

            printf("%1d\n",111);

            printf("%3d\n",111);

            printf("%4d\n",111);

            printf("%5d\n",111);

            printf("%6d\n",111);

            printf("%7d\n",111);

            printf("%8d\n",111);

            printf("%12d\n",111);

            printf("%-2d\n",111);

            printf("%-3d\n",111);

            printf("%-4d\n",111);

            printf("%-5d\n",111);



            return 0;

    }

    실행결과 정리

     

    프로그램을 컴파일 하면 위와 같은 값이 출력되는데 이것으로 보아 데이터 크기보다 작은 숫자(여기서는 3까지)를 %d 사이에 넣어도(%3d) 데이터 값은 그대로 출력되며 그 보다 클 경우에는 해당비트 수 만큼 오른쪽으로 밀려나서 나타나게 된다.(비트가 왼쪽에 생성되어 그만큼 빈칸이 나타난다.) 음수일 경우는 오른쪽으로 나타나 화면에는 변화가 없다.


    ․ 상수(Constant) - C언어에서는 const로 사용.

    ⇒ 변하지 않는 수.(문자도 포함 될 수 있는데, 그 이유는 컴퓨터가 문자까지도 숫자로 기억하기 때문이다.)

    ․ char num = 13;

    ⇒ char(형 지정자, type 지정자), num(변수), = (대입연산자), 13(상수),

       ;(세미콜론 - 명령문 뒤에는 반드시 붙인다.)


    ․ sizeof() 

    ⇒ 바이트의 크기를 확인하게 해준다.

       sizeof(자료형 or 변수 or 수식)




    Mindstorms 실습

    Anmial ⇒ spike ⇒ Crawling Base ⇒ 조립(Building) ⇒ NXT programming

     

     제작한 spike



    NXT 프로그램

    구동 영상

    앞 뒤 이동

     

    앞으로 이동후 왼쪽으로 돌아 다시 이동하는 동작

    Posted by 동화다아아
    , |

    최근에 달린 댓글

    최근에 받은 트랙백

    글 보관함