C언어 - 프로그래밍 언어의 문법

이미지
1. 언어의 문법 인간이 사용하는 언어에는 매우 다양한 문법 이 존재하며, 이를 익히는 데에는 많은 시간이 필요하다. 명사, 동사, 시제, 어순 등 매우 많은 문법을 익혀야 한다. 프로그래밍 언어는 컴퓨터에게 무엇을 어떻게 할지 지시하기 위한 명확한 목적을 가진 언어이다. 비교적 적은 수의 문법 요소만으로도 의미의 표현과 실행이 가능하다. 사람이 쓰는 언어와 달리 프로그래밍 언어는 몇 가지 핵심 문법 만 이해하면 바로 사용이 가능하다. 2. C언어 문법 프로그래밍 언어는 다음과 같이 다섯 가지로 구성되어 있다. 변수 - 값을 저장한다. 연산 - 값을 계산한다. 문장 - 내용을 실행한다. 제어 - 실행 순서를 변경한다. 함수 - 여러 문장을 하나로 묶는다. 이 다섯 가지만의 문법만 이해해도 프로그램의 기본 구조를 이해할 수 있다. 2.1. 변수 (Variable) 변수는 값(value)을 저장하는 메모리 공간에 이름 을 부여한 것이다. 프로그램은 변수를 통해 데이터를 기억하고, 참조하고, 변경한다. 2.1.1. 변수 타입(Type) 변수 타입은 변수가 어떤 종류의 값을 저장 하며, 그 값을 어떻게 해석할지를 결정하는 규칙이다. 변수 타입에 의하여 저장 가능한 값의 형태, 메모리 사용 방식, 그리고 허용되는 연산의 종류가 결정된다. int count; count = count + 1 ; // int type stores integer values.   char grade = 'A' ; // char type stores a single character or small integer values.   float ratio = 0.75f ; ratio = ratio * 100.0f ; // float type stores floating-point (real) values. 2.1.2. 상수 상수는 값이 바뀌지 않는 변수 이다. C언어에...

0과 1로 이해하는 컴퓨터 동작

1. ON/OFF

  • 전구에 전기가 흐르면 전구가 켜지고(ON), 전기가 흐르지 않으면 전구가 꺼진다(OFF).
  • 이렇게 컴퓨터는 ON 을 1로, OFF를 0으로 표현하는 이진법(Binary) 을 사용한다. 


1.1. Bit 와 Byte

  • 0과 1로 값을 표현하는 최소 단위를 ‘bit’라고 한다. (0 또는 1)
  • 8bit는 1byte를 구성하며, 1byte는 문자를 표현하는 기본 단위로 사용된다.

1.2. Char

  • 8bit, 즉 1byte로 영문(ASCII) 문자(char)를 표현한다.
    • 코드를 표현할 때 "00010001"과 같은 2진수는 길고 읽기 어렵기 때문에, 8bit(1byte)를 두 자리로 나타낼 수 있는 16진수("0x11") 표기를 사용한다.

      [출처] Computer Architecture - The ASCII character representations

1.3. Code

  • 문자를 2진 코드로 정의하듯, 실행 코드도 동일한 방식으로 2진 형태로 정의된다.
  • CPU는 이러한 기계어(Assembly)를 기반으로 동작하며, CPU를 설계할 때 정의되는 동작 코드(Instruction Code)는 x86, x64, ARM 등 CPU 아키텍처마다 서로 다르게 구성된다.
    • Instruction Code는 피아노 연주를 위해 사용되는 음표들의 모음과 같다고 할 수 있다.

    [출처] Stack Overflow - Intel x86(8086/8088) 16bit Opcode Instruction

1.4. Process

  • CPU에는 Instruction Code를 처리하기 위한 레지스터(Register)라는 초고속 저장 공간이 있으며, 기계어 코드들은 일련의 과정을 거쳐 레지스터로 전달되어 명령을 실행하게 된다.



이 블로그의 인기 게시물

실행 파일은 파일은 어떻게 동작하는가

게이트 회로로 이해하는 컴퓨터 연산

C언어 - 프로그래밍 언어의 문법