2019-01-13 21:12:41 프로그래밍 언어는 인간과 컴퓨터가 대화를 하기 위한 언어입니다. 인간이 명령을 내리고 컴퓨터가 실행하기 때문에, 기계어보다는 C 언어처럼 인간이 사용하는 언어와 가까운 고급 언어를 사용하죠 아래의 코드를 코드블록에 직접 작성하고 컴퓨터와의 대화를 시도해봅시다! 코드를 작성한 후 키보드 [F9]버튼 이나 상단의 [Build]-[Build and run]을 눌러 이용합니다. #include <stdio.h>
main ()
{
printf ( “Hello world”);
}
실행결과 위 프로그램을 실행하면 “Hello world”라는 결과가 나타납니다. (만약 사진이 보이지않는다면 새로고침 해주세요)
main()과 헤더 파일c언어 프로그램을 만들기 위해서는 헤더 파일과 main()이 꼭 있어야 합니다. 그럼 main()과 헤더 파일은 무엇일까요? main()c언어 소스 코드에는 main()이 꼭 있어야 하고, 사용하는 명령들의 내용이 미리 기록된 헤더파일을 참조하여 프로그래밍 합니다. 소스 코드 – 사용자가 작성한 코드로 컴파일러에 의해 번역되지 않은 상태의 프로그램 파일(*.c)을 뜻합니다. 컴파일러 – 고급언어 프로그램(C/C++등)을 기계어로 번역하는 프로그램 (우리가 쓰고있는 code::blocks또한 컴파일러에 속하죠) main()이 왜 꼭 필요한지 알아봅시다. 아래의 코드를 직접 작성하고 실행해 봅시다! 실행결과 위 프로그램을 실행하면 오류 없이 실행되고 아무것도 출력되지 않습니다.
컴파일 – 쉽게 말하면 변환을 하는 것이죠 흔히 쓰는 언어(C/C++)들은 컴퓨터가 알아듣지 못하는 인간지향적으로 설계되어 있으며 이것을 컴퓨터가 알아들을 수 있도록 기계지향적 언어(기계어)로 변환하는 방법이 컴파일입니다.
함수 – 여러 명령의 집합을 말합니다. 함수 이름(){실행할 내용}의 구조로 되어있고 종류와 사용법이 다양합니다.
부프로그램– 하나의 프로그램을 구성하는 여러 작은 단위의 프로그램으로 일련의 명령문들을 모아두고, 이를 외부에서 호출할 수 있게한 구조입니다. main()과 C 언어 프로그램의 구조main() { <요놈 함수 1(); 함수 2(); 여러가지 문법; : } <요놈이 코드블록(블록)이라고 합니다.
다음에는 main()함수와 같이 프로그램을 만드는데 필요한 헤더 파일에 대해 알아봅시다.
C 언어는 1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 일할 당시 유닉스 운영체제를 만들기 위해 고안한 프로그래밍 언어입니다. 그런데 A 언어도 아니고 왜 C 언어일까요? 처음에 켄 톰슨은 BCPL 언어를 입맛에 맞게 고쳐서 B 언어(벨 연구소의 첫 글자 B를 따서 B 언어로 지음)를 개발했는데 후에 데니스 리치가 B 언어를 개선하여 C 언어가 탄생했습니다. ▼ 그림 1‑8 C 언어의 역사C 언어는 이후의 프로그래밍 언어에 직간접적으로 많은 영향을 주었는데 C 언어를 배우면 다른 언어를 배우기 쉽다고 하는 이유도 이 때문이죠. 프로그래밍 세계의 공통어라 할 수 있습니다. 우리가 지금도 쓰고 있는 Windows, 리눅스, OS X와 iOS, Android, Windows Phone 모바일 운영체제의 핵심 요소인 커널은 C 언어로 만들어져 있습니다(약간의 어셈블리가 포함됨). 즉, 운영체제의 모든 기능을 이용할 수 있는 건 C 언어죠. 다른 언어들은 모두 C 언어의 기능(라이브러리)을 가져다 쓰는 구조입니다. ▼ 그림 1‑9 C 언어로 개발된 운영체제그럼 운영체제 말고 C 언어는 또 어디에 쓸까요? Oracle, SQL Server, MySQL과 같은 데이터베이스도 C와 C++로 만들어져 있습니다(C++은 C를 기반으로 객체지향 개념을 추가한 언어). 그리고 에어컨, 세탁기, 스마트 TV 같은가전 제품에는 작은 컴퓨터가 들어있는데 이 컴퓨터는 주로 C 언어를 사용합니다. 또한, 자동차 ECU나 사물인터넷(IoT)도 C 언어를 많이 사용합니다. 특히 메모리와 하드웨어를 직접 제어하는데는 C 언어를 따라갈 언어가 없습니다. C와 C++을 제외하면 메모리를 직접 제어하는 범용 언어는 많지 않습니다. 스마트폰의 하드웨어를 직접 제어하는 커널이 대부분 C 언어로 작성된 것도 이 때문입니다. 우리 눈에 잘 띄지는 않지만 C 언어는 컴퓨터 세상의 단단한 기반을 이루고 있습니다. 참고 | TIOBE 프로그래밍 언어 순위
여기서 C 언어와 Java는 1위가 서로 바뀌는 언어인데 C 언어도 Java에 못지 않게 인기가 많습니다. 이제 C 언어를 배워야 할 이유가 명확해졌습니다. C 언어는 C++, Java, C#, Objective-C 등의 언어에 큰 영향을 주었기 때문에 이들 언어는 문법을 비롯하여 많은 부분이 C 언어와 유사합니다. 그래서 C 언어를 배우면 다른 언어를 배우기가 쉽습니다. C 언어가 어렵다는 평가도 있지만 프로그래밍의 기초를 제대로 배우기 좋은 언어입니다. 일단 메모리 관리나 하드웨어에 관련된 내용도 배우기 때문에 컴퓨터의 동작 원리를 함께 이해할 수 있습니다. 이는 다른 언어를 배울 때뿐만 아니라 실무에서도 큰 도움이 됩니다. |