ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C언어 프로그래밍을 이루는 세 가지 요소
    C언어 2020. 2. 5. 15:47

    C언어 == 영어 둘다 같은 언어라는 개념을 가지고 있다.

    영어의 목적은 무엇인가 ? 바로 소통에 목적이 있다. 즉 사람과 사람이 서로의 의견을 주고 받으면서 소통하기 위한 도구의 역할이다. 문법 같은 요소가 중요하긴 하지만 결국 언어라는 것은 소통하기 위한 도구임으로 소통 그자체에 의미를 둔다.

    그렇다면 C언어라는 것의 목적은 무엇인가? 바로 프로그래밍에 있다. 즉 C언어라는 하나의 도구를 사용하여 프로그램을 작성하여 작성한 프로그램으로 컴퓨터를 원하는 방향으로 움직이게 만들기 위함이다. 최종적으로는 C언어 문법을 통해 프로그램을 작성하는 것이 C언어를 사용하는 목표라고 말 할 수 있다. 하지만 문법도 중요하지만 결국 프로그래밍을 만드는 만큼 어떻게 프로그램을 작성할지에 대한 부분이 더욱 중요하다고 볼 수 있다.

     

    C언어의 탄생

    - 운영체제 ( UNIX )를 만들기 위해 탄생한 언어이다.

    C언어의 문법은 운영체제를 만들기 위해 특화되어 있다 따라서 운영체제를 만들기 위한 C언어 문법들의 특징, 본질에 대해서 보다 깊이 이해하기 위해서는 운영체제에 대한 이해가 필요로 하며 운영체제의 개념이 등장함에 따라 컴퓨터 구조에 대해서도 이해를 하고 있어야 C언어에 대한 본질적인 이해와 사용이 가능하다.

     

    C언어를 이루고 있는 3가지 요소

    위에서 설명한 것 처럼 C언어는 운영체제를 만들기 위해 탄생한 언어인 만큼 다음과 같은 요소들이 C언어의 핵심 이다.

    1. 프로그래밍

    프로그래밍에서 가장 중요한 것은 연산자와 제어문이다. 다음과 같은 문법을 사용하여 프로그램을 작성 할 수 있으며 어떤식으로 작성하는지에 따라 프로그램이 어떻게 동작하는지 결정하게 된다. 따라서 프로그램을 만드는데 있어서 연산자와 제어문은 매우 중요한 개념이며 Java, C++, C#등 여러 언어에서 C언어의 연산자와 제어문 문법을 그래도 가져가기 때문에 다른 언어를 학습함에 있어서도 유리하다.

    2. 운영체제

    C언어 문법중 포인터라는 개념이 존재한다. 매우 많은 사람들이 힘들어 하는 개념인데 이 개념은 컴퓨터를 효율적으로 사용, 관리하기 위해 탄생한 개념이다. 따라서 컴퓨터를 관리해주는 운영체제에 대해서 알고 있다면 포인터를 사용함에 있어서 깊이 이해하고 사용할 수 있다. 

    3. 컴퓨터구조

    위에서 설명한 포인터라는 개념이 결국은 컴퓨터를 효율적으로 사용, 관리 하기 위한 운영체제를 만들기 위해 생긴 개념, 문법이며 그에 따라 운영체제에 대해서 알고 있어야 하며 컴퓨터 구조에 대해서도 알고 있어야 이해하기가 쉽다.

     

    C언어에 대한 공부는 3단계로 나누어서 학습할 것 이다.

    1. 환경 준비, 자료형, 표준 I/O 

    1주에는 C언어를 이용한 프로래밍 환경구성과 자료형에 대한 개념을 배울 것이다. 자료형에 맞게 저장한 자료를 읽고 쓸 수 있게 해주는 입력과 출력에 대해서 다룰 것 이다. 자료형은 이론적 부분이 중요하며 입출력 부분은 실습이 중요

     

    2. 연산자, 제어문

    2주차에는 연산자와 제어문에 대한 문법을 배울 것이다. 프로그래밍이 실질적으로 연산자와 제어문을 통해서 이루어 지며 따라서 연산자와 제어문을 얼마나 효율적으로 사용하는지에 따라 프로그램의 성능이 결정 된다. 따라서 2주차에 주어지는 실습들을 최대한 활용해서 연산자, 제어문을 어떻게 활용할 것인지에 대해 생각해야 한다.

     

    3. 포인터, 함수

    3주차에는 포인터와 함수에 대해서 배울 것이다. 함수는 연산자와 제어문과 더불어 프로그램을 이루는 코어중 하나로 좋은 프로그램을 작성하기 위해서는 함수에 대한 이해와 활용이 중요하다. 다음으로 포인터는 C언어와 C++에 가장 중요한 개념중 하나로 메모리 사용에 대해서 다루기 때문에 운영체제와 컴퓨터 구조에 대한 학습이 병행 되어야 한다.

     

     

    'C언어' 카테고리의 다른 글

    자료형이란 ?  (0) 2020.02.06
    Hello World 에서 벌어지는 일  (0) 2020.02.06
    CPU가 메모리를 관리하는 원리  (0) 2020.02.05
    C언어를 위한 컴퓨터 구조  (0) 2020.02.05
    비트 개념과 2진법  (0) 2020.02.05

    댓글

Designed by Tistory.