C언어란?
사람들은 가족, 친구들과 대화할 때 언어를 사용해서 대화를 하죠. 한국인들끼리 대화를 할 때에는 한국어를 사용해서 대화를 합니다. 이처럼 언어는 의사소통에 있어서 필수적인 요소입니다! 자, 그렇다면 우리와 컴퓨터가 의사소통을 하기 위해선 무엇이 필요할까요? 바로 프로그래밍 언어입니다. 우리가 컴퓨터에서 사용하는 모든 프로그램들은 전부 이 프로그래밍 언어로 구성되어 있습니다. 프로그래밍 언어를 처음 접하신 분들에게는 조금 생소한 개념일 수도 있지만 계산기를 예로 들어 보겠습니다.
계산기에 숫자를 입력하고 연산자(덧셈, 뺄셈 등)를 입력하면 자동으로 결괏값이 보이죠? 이렇게 결괏값이 나오는 과정은 컴퓨터한테 "두 숫자를 더한 결과값을 보여줘."라고 프로그래밍 언어로 명령을 한 것이고 컴퓨터가 계산을 해서 결괏값을 보여주는 것이라고 이해하면 되겠습니다.
그리고 이렇게 단순한 계산뿐 아니라 알고리즘을 통해 프로그래밍을 함으로써 복잡한 프로그램도 구상할 수 있습니다.
프로그래밍 언어에는 C,C++,C#,JAVA 등 여러 언어가 있는데요. 그중에서도 C언어를 같이 알아보도록 합시다!
컴파일러란?
계산기를 예로들어 설명했을 때 위에서 "두 숫자를 더한 결괏값을 보여줘."라고 프로그래밍 언어로 명령을 했다고 했습니다. 하지만 슬프게도 컴퓨터는 이 언어를 이해할 수 없습니다...ㅜ.ㅜ 이게 무슨 소린가 싶죠? 바로 컴퓨터의 근본적인 언어가 기계어이기 때문입니다. 기계어란 숫자 0,1로 이루어진 언어입니다.
이제 여기서 컴파일러는 우리가 쓴 프로그래밍 언어를 기계어로 변환하는 변환기로서 중요한 역할을 합니다! 쉽게 말해서 프로그래밍 언어를 듣고 컴퓨터한테 기계어로 전달해주는 통역가라고 생각하면 되겠습니다.
프로그램 작성 4단계
STEP1. 프로그램 작성
이 단계에서는 우리가 C언어의 문법에 맞게 소스코드를 작성해서 소스파일을 만드는 과정입니다. 위의 그림에서 보시다시피 소스파일의 확장자는 c입니다. 소스파일은 만들어진 후 컴파일러에 넘겨지게 됩니다.
STEP2. 컴파일러
컴파일러는 이 소스파일을 기계어로 변환시켜 줍니다. 이것을 컴파일 작업이라고 합니다. 컴파일을 완료하고 나면 기계어로 이루어진 오브젝트 파일을 만들게 됩니다. 오브젝트 파일의 확장자는 OBJ입니다.
STEP3. 링커
오브젝트 파일이 생성되면 링커는 이 파일과 표준 라이브러리 함수를 연결하여 하나의 실행파일을 만들게 됩니다. 표준 라이브러리 함수는 C언어에서 제공하는 함수인데요 함수를 배울 때 더 자세히 배워보도록 하겠습니다. 지금은 그냥 이해정도만 하고 넘어가면 될 것 같습니다.
STEP4. 로더
실행파일이 생성되면 로더는 실행파일을 주기억 장치에 로딩해서 CPU가 실행파일을 실행하도록 도와줍니다.
개발 환경 다운받기
C언어를 작성하기 위해서는 개발 환경이 필요합니다. 요즘에는 C언어를 작성할 수 있는 툴이 많은데요.
그중에서도 무료로 쓸 수 있는 Microsoft의 Visual Studio를 사용하도록 하겠습니다.
Visual Studio 설치
Visual Studio 설치 과정
첨부한 링크에 들어가게 되면 이런 화면이 뜰 거예요. 이 화면처럼 Visual Studio 다운로드에서 Community 2019를 클릭해주세요.
계속 눌러주시구 받아주세요!
Visual Studio Community 2019가 실행될 겁니다. 데스크톱 및 모바일에서 C++을 이용한 데스크톱 개발을 선택하고 설치해주세요.
(C++ 컴파일러에서 C 컴파일러를 포함하고 있습니다.)
용량이 작지 않아서 시간이 좀 걸릴 거예요. 조금만 기다려주세요..ㅎ
설치가 완료되면 이 화면이 뜰 거예요. 계정이 있으시면 로그인해주시고 없으시면 한 달 이내에 Microsoft에 회원가입하시면 계속 사용할 수 있답니다. 이후 나오는 창에서 개발 설정은 일반으로 해주시고 테마 설정은 자유롭게 해 주세요.
마무리
자 이렇게 Visual Studio 설치를 완료했습니다.
이상으로 C언어 소개 및 개발 환경(Visual Studio) 설치에 대해 알아봤습니다. 최대한 쉽게 설명하려 했는데 잘 전달됐는지 모르겠네요ㅜㅜ
다음 글에서는 Visual Studio를 통해 입출력 같은 간단한 프로그램 작성 실습을 해보도록 하겠습니다. 글 봐주셔서 감사합니다. 모르시는 거나 알고 싶은 거 있으시면 댓글 달아주세요! 좋은 하루 보내세요~
'프로그래밍언어 > c언어' 카테고리의 다른 글
C언어 독학 #6. 연산자 (0) | 2020.05.13 |
---|---|
C언어 독학 #5. 상수 변하지 않는 데이터 (2) | 2020.05.12 |
C언어 독학 #4. 변수 데이터를 저장하자 (6) | 2020.04.22 |
C언어 독학 #3. printf(), scanf() 데이터 출력과 입력 (4) | 2020.04.21 |
C언어 독학 #2. 구조 및 Visual studio로 프로그램 실행 (6) | 2020.04.20 |