처음 시작하는 C언어 01

yeonk·2021년 8월 24일
0

C

목록 보기
1/4
post-thumbnail

C언어

소개

  • UNIX 운영체제를 개발하기 위해 개발한 범용 언어

  • 고 수준 언어(인간 중심의 언어로 만들어진 언어)

  • K&R 표준 문법 사용 (Brian Kernighan, Dennis Ritches가 발표한 언어)

  • UNIX 운영체제 뿐만 아니라 다양한 분야에서 사용되고 있음



특징

  • 고 수준 언어이기 때문에 배우기 쉬움

  • 조화된 언어: 정해져있는 문법

  • 효율적

  • 하드웨어 컨트롤 가능, OS와의 직접 통신등의 저 수준 활동을 처리할 수 있음

  • 다양한 컴퓨터 플랫폼에서 컴파일 가능
    (*컴파일: 개발자가 만들어낸 프로그램 코드를 컴퓨터가 인식할 수 있는 코드로 변환하는 과정)

  • 속도가 매우 빠름



C언어를 사용하는 이유

  • 최초에 시스템 개발 작업, 운영체제 구성하는 프로그램 개발에 사용

  • 하드웨어와 관련된 작업, 메모리를 직접 관리하는 작업 등 OS와 하드웨어를 직접 컨트롤 할 수 있게 설계

  • 어셈블리 언어(기계어)로 작성된 코드와 거의 비슷한 속도로 실행되는 코드를 생성



다른 언어와의 차이

  • 많은 언어들이 C언어의 문법을 승계하였음
    (많은 언어의 기본이 되는 언어)

  • 개발자가 작성된 프로그램을 OS별로 결과물을 만들기 때문에 OS에 최적화된 소프트웨어를 개발할 수 있음
    (단점: OS 별로 작업을 따로 해야함)

  • C언어 자체에 대한 라이선스 규칙이 존재하지 않음
    (같은 C언어를 사용해도 개발 분야마다 차이가 있음)

  • 메모리 관리 등은 개발자가 직접해야 함





개발환경

필수 프로그램

  • C언어 프로그램을 개발하기 위해서는 컴파일러와 개발도구를 설치해야함
  • 컴파일러: 개발자가 작성한 프로그램 코드를 컴퓨터가 인식할 수 있는 코드로 만들어 주는 소프트웨어.
  • 컴파일러는 개발하는 분야마다 상이하기 때문에 컴파일러의 종류와 환결 설정 방식을 확인하여야 함



편집 도구

  • 문서편집 도구:
    텍스트 문서를 편집할 수 있는 소프트웨어
    대표적인 프로그램: Visual Studio, Dev C++, Boland C, Turbo C
  • Dev C++:
    C,C++ 소프트웨어 개발을 위한 무료 공개 프로그램.
    다른 프로그램에 비해 가벼움





프로그램 구조

전처리 → 컴파일 → 링크 → 실행파일

  • 소스코드 (.c):
    개발자가 작업하고 코드를 작성하는 파일
    인간 중심의 파일 (컴퓨터 인식 X)
    C언어 문법에 맞춰 프로그램 코드 작성

  • 전처리기:
    컴파일러가 인식할 수 있는 코드로 만들어주는 역할
    최종 실행파일을 만들 때 작성한 코드 중 변환할 코드를 제어함
    전처리 명령어는 개발자가 만든 코드를 컴파일하기 전에 먼저 처리하는 명령어로써 코드를 완성하는 과정이됨

  • 컴파일(.obj, .o):
    기계가 인식할 수 있는 코드로 변환 (목적파일)
    (컴파일러의 역할)

  • 링크(.exe):
    컴파일된 코드에 해당 OS에 필요한 코드들을 더해 실행파일로 만들어짐
    (링커의 역할)




c언어의 코드 구조

전처리 명령어, 함수, 변수, 구문과 식, 주석으로 구성

  • 전처리 명령어
    - 전처리기에 의해 처리되는 명령어.
    - #define, #ifdef 등의 명령어를 제공. 이러한 명령어를 이용해 컴파일 하기 전 실행.
    - 전처리 명령어를 이용해 개발자는 프로그램 코드를 선택적으로 생성할 수 있어 다양한 기법에 활용
  • 함수
    - 개발자가 자주 사용하는 코드를 하나의 블럭으로 묶어 필요할 때 사용
    - 다른 언어에서는 메서드라 칭함.
    - 자주 사용하는 코드를 매번 작성하게 되면 관리 및 유지 보수가 힘들어지기 때문에 자주 사용하는 코드는 한번만 작성하여 사용하는 방식.
    - 개발의 용이성과 생산성 향상에 도움.
  • 변수
    - 프로그램 실행에 필요한 데이터(문자열, 값 등)을 보관하는 기억장소.
    - 프로그램 실행에 필요한 데이터를 지속적으로 사용하기 위해서는 기억장소에 저장해야하는데 이 때 사용하는 것이 변수.
    - 변수를 만들어 값을 기억시킨 후 필요할 때 가져다 사용할 수 있으며, 다른 값으로 대체해서 사용 가능.
  • 구문과 식
    - 개발자가 결과를 얻기 위해 만들어내는 프로그램 코드와 식.
    - 개발자는 최종 결과를 얻기까지의 과정을 프로그래밍 언어로 작성해야 함.
    - 컴퓨터는 개발자가 만든 작업 순서대로 작업하여 결과를 돌려줌.
    - 프로그램을 개발한다는 것을 프로그램 언어를 활용해 컴퓨터가 수행해야할 작업의 순서를 나열하는 것을 의미.
    - 모든 구문은 세미콜론(;)으로 종료.
  • 주석
    - 프로그램 개발 시 간단한 메모나 설명을 작성하는 것을 의미.
    - 주석으로 작성된 부분은 컴파일 시 컴파일러에 의해 무시되며 최종 파일에 코드가 포함되지 않음
    - //: 한 줄 주석



reference

소프트캠퍼스, 처음 시작하는 C언어, 구름EDU, URL, 2021년 8월 23일 수강

0개의 댓글