프로그래밍

    [05] 시스템 프로그래밍 기초(조건문과 함수)

    언어 : C언어 책 : a book on C \t = 'tab' \n = 'new line' word의 개수를 count하는 프로그램 만들어보기 (p.167) for_statement ::= for(expr; expr; exper) statement infinite loop ::= for( ; ; ) statement break를 사용하여 loop을 빠져나온다. (p.171) comma operator : for문 안에 여러 개의 statement를 작성하기 위해 사용한다. (p.178) the goto statement : exit() : 컴퓨터를 정상종료 시킬 때 사용한다. 숙제 : exit(37)을 했을 때, 37이 shell에 찍히도록 하는 방법은? (p.179) break and continue..

    [04] 시스템 프로그래밍 기초(자료형과 수식)

    ** 공결 시 이메일 대신 출력하고 들고 가기 ** scanf() 함수는 첫 번째 인자로 String형이 들어가고, 두 번째 인자로는 주소를 준다. data type: (p.110) suffix(p.119) : 420이 있다고 했을 때, 일반 int인지, unsigned인지, long인지 구분할 수 없다. 따라서 이를 쉽게 구분하기 위해 420U, 420UL, 420L과 같이 suffix를 작성해준다. suffix도 마찬가지로 컴파일러에게 declaration 하는 것이다. 만약 420U를 썼는데, unsigned int가 아니라면 type mismatching으로 오류가 난다. suffix를 쓰는 이유 : 프로그램의 길이가 길어지면, 가독성이 떨어진다. 따라서 프로그램의 의도를 한번에 파악할 수 있게 ..

    [03] 시스템 프로그래밍 기초(소수의 표현)

    프로세서를 제어하는 데에 C언어가 쓰인다. 메모리는 주소가 있다. 이 주소번지를 통해 값을 주고받는다. 하드웨어를 제어할 때 이 방식을 통해 제어한다. 따라서 포인터가 있는 C언어를 사용한다. 반대로 포인터 개념이 없는 JAVA나 python으로는 시스템을 프로그래밍할 수 없다. Floating point : normalization(정규화) : 모든 수를 1.xxx*2^10이나 0.1xxx * 2^10의 형태로 변환하는 것 biased exponent : 보정값 significand : 정규화에서 . 다음 숫자들 1/2+1/2^2+1/2^3+1/2^4+...+1/2^23까지 float이나 double은 정교한 계산을 위해서 만들어졌다. 큰 수를 표현하기 위해서보다는. IEEE 754는 float나 do..

    [01] 시스템 프로그래밍 기초(C언어란, 자료형)

    사용하는 책 : a book on c 단어를 바탕으로 문장이 이루어진다. 이것이 프로그래밍. C언어를 다루기 위해서 스테이트먼트(statement)를 만들 줄 알아야 된다. 표현(expression)을 이용해서 스테이트먼트를 만들고 이것이 컴퓨터에게 명령이 된다. 세미콜론(;)을 기준으로 스테이트먼트를 만든다. 표현을 사용하기 위해서는 word를 알아야 되는데 핵심적인 word를 keyword라고 한다. (p.77) ANSI : 수많은 C 컴파일러가 있는데, 통일시키기 위한 규정 ANSI를 잘 지킨 컴파일러의 대표적인 예시는 gcc이다. 이름을 만드는 이유는 대상을 특정하기 위해서, 구분하기 위해서이다. 메모리의 특정 주소를 쉽게 구분하기 위해 "변수명"을 지정한다. 이것을 Identifier라고 한다...