[C언어] 0.C언어란?
안녕하세요.
이 블로그는 애니리뷰도 하고 창작소설도 쓰고 블로그처럼 이것도 올리고 저것도 올리면서 사용할꺼라서 주저리주저리라고 만들었습니다.
사실 처음에는 애니리뷰로 먼저 글을 시작하려했습니다. 그래서 이 글을 적기전에 애니리뷰를 적고 있었습니다만, 1시간동안적은걸 날려먹었습니다. 애니리뷰는 다음에 멘탈이 돌아올때 쯤에 적어보도록 하겠습니다.
츄잉에는 덕들이 많으니 컴퓨터쪽 전공하려하는 사람이 있지않을까 싶어서 컴퓨터쪽을 공부하려면 프로그래밍언어 하나정도는 대충 쓸줄알아야겠죠?
그 중에서도 프로그래밍언어하면 가장 유명하고 무난한 C언어에 대해 글을 올려볼까합니다.
만약 이 글을 보고 대학을 가서 프로그래밍을 배우실경우 출석만 잘하면 A이상은 따놓았다고 생각하시면됩니다.
그리고 저는 C언어를 배우기전 비주얼 베이직이나 파이썬등의 다른 프로그래밍언어를 아주 약간 배우고 C언어를 배웠기때문에 그렇게 어려운게 없었는데 C언어를 처음 공부하는 사람들을 보면 멘탈 깨지는 사람을 한둘본게 아니라서 그런사람들을 방지하기위해 적습니다.
인터넷에 C언어라고 치면 많은 강좌들이 뜨는데요, 다른 프로그래밍언어를 배우지않았다면, 그 강좌를 보고 아 이렇게 돌아가는구나 하고 알 수 있는 사람이 얼마나 될까 싶기도하고, 그래서 C언어에 대한 글에 댓글을 다시면 제가 할 수 있는 한 최대한 이해하기 쉽도록 설명해드리려고합니다.
솔직히 프로그래밍언어란게 하나만 알아도 다른 것들을 배울때 수월합니다.
C언어에 대해 제대로 들어가기 전 C언어가 무엇인지 알고 시작해야 이해하기쉬울겁니다.
C는 1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 일할 당시 새로 개발된 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어이다. 켄 톰슨은 BCPL언어를 필요에 맞추어 개조해서 "B"언어(언어를 개발한 벨 연구소의 B를 따서)라 명명했고, 데니스 리치가 이것을 개선하여 C언어가 탄생했다. 유닉스 시스템의 바탕 프로그램은 모두 C로 쓰여졌고, 많은 운영 체제의 커널도 또한 C로 만들어졌다. 오늘날 많이 쓰이는 C++는 C에서 객체 지향형 언어로 발전된 것이다. 또 다른 다양한 최신 언어들도 그 뿌리를 C에 두고 있다.
위키피디아에서 C언어라고 치면 이렇게 나오는데요 여기서 중요한건 1972년,데니스 리치,유닉스 운영체제,프로그래밍 언어,C++ 정도만 아시면됩니다.
위의 중요한 요소만 따서 다시 정리하면 데니스리치가 개발했으며, 1972년도에 발표했다. 유닉스라는 운영 체제에서 사용하기 위해만든 프로그래밍언어이며 C++의 기본토대라고 정리할수있겠네요.
여기서 중요한건 나온지 40년이 된 언어란거죠. 그 때의 컴퓨터와 현재의 컴퓨터 성능이 다르다보니 현재의 컴퓨터개념으로는 이해하기어려운 그런것도 가끔씩 있습니다.
그리고 C언어는 매우 많은 프로그래밍 언어에 영향을 준 언어이기도 합니다. 위의 적혀져있는 C++말고도 JAVA나 C#, Objective-C등의 프로그래밍언어가 C언어를 기초로 만들어졌습니다. 위의 언어들은 C언어를 기초로 만들어졌기때문에 만약 C언어를 어느정도 배우고 위의 언어를 배운다면 훨씬 수월하게 습득이 가능합니다.
위의 글을 보고도 왜 C언어가 중요하냐? 하실수도 있겠다 싶어 차트를 하나 보여드리겠습니다.
위의 차트는 프로그래밍별 점유율입니다.
작년까지만 하더라도 JAVA가 1위고 C언어가 2위였는데 올해 다시 역전했네요.
C언어가 1위다 라는것도 중요하지만 더 중요한게있습니다.
위에서 말했다시피 Java Objective-C C++ C#은 C를 기초로 만들어진 언어라고 설명했는데 C언어를 기초로 한 언어들의 점유율의 합이 40%를 넘습니다.
이러니 C언어가 중요하다 하는거겠지요.
솔직히 OS로 따지면 윈도우환경내에서 C언어를 사용할 일은 거의 없습니다.
그런데도 왜 C언어가 이렇게 많이쓰이냐하면 애플에서의 기본 프로그래밍언어가 Objective-C입니다.
거기다 유닉스도 C언어로 만들어졌고,그 유닉스를 토대로 만든 리눅스에서도 C언어를 사용합니다.
그리고 게임등에서도 C++을 사용하여 개발하는 경우가 매우많습니다.
그냥 알아두면 안좋을게 없는 프로그래밍 언어입니다.
C언어가 뭐다? 하는 내용은 이 정도만 알고계셔도 불편함이 없을겁니다.
이제 C언어가 어떻게 프로그램이 되는지를 알아봅시다.
소스코드->기계어->실행 파일 순으로 진행이되는데, 소스코드에서 기계어로 변환하는 작업을 컴파일이라고 합니다. 기계어에서 실행 파일이 되는걸 링크라고 하구요.
소스코드는 확장자가 .c이고, 기계어는 .obj 실행 파일은 .exe 파일입니다.
C언어의 구조는 위의 그림과 같은데 그림은 모르셔도 되고 그냥 함수란게 모여서 프로그램이 된다라고만 알고 있으면 됩니다.
그러면 간단한 프로그래밍을 해봅시다.
#include <stdio.h>
void main()
{
printf("즐츄");
}
위의 소스는 실행하였을때 '즐츄'라는 낱말을 출력해주는 소스코드입니다.
#include라는 명령어는 헤더파일을 소스파일에 포함시키는 명령어이고, #include의 뒤에 잇는 <stdio.h>는 C언어에서 기본적으로 제공하는 헤더파일이며, 이 소스코드에서 사용한 이유는 printf라는 함수를 가지고 있는 헤더파일이기때문입니다.
*헤더파일:함수를 가지고 있는 파일(그냥 헤더파일이라는게 있다. 라는것만 아시면 됩니다.)
void main()은 위의 프로그램의 구조에서 나오는 main함수를 말하는것인데 c언어는 main함수를 실행시킴으로써 프로그램이 실행된다고 생각하시면 됩니다.
printf라는 명령어는 ( ) 괄호 안에 있는 것을 출력해주는 명령어입니다.
위의 소스코드를 직접 코딩하고 실행해봅시다.
위에서 보시다시피 C언어를 실행하였을때는 기본적으로 CMD창에서 실행됩니다.
C언어를 코딩하실 때 몇 가지 규칙이 있습니다.
1.함수의 시작은 { 로 시작하여 }로 끝냅니다.
2.문장의 끝에는 ;를 찍어줘야합니다.
여기서는 2가지의 규칙만 알고 계시면됩니다.
프로그래밍을 처음 배울때 가장 에러가 많이 나는 부분이 함수의 마지막에 }를 적지않았다던가, 문장의 끝에 ;를 안찍었다던가하는 경우가 대부분이니 익숙해지기위해서는 꽤 시간이 걸립니다.
윈도우 환경에서 C언어를 컴파일하기 위해서는 MS사에서 무료로 배포하는 Microsoft Visual C++을 다운받으셔야 하는데요.
저는 현재 Microsoft Visual C++ 2010을 사용하고 있습니다.
어떤 버전을 쓰던지 별 관계없긴한데 버전이 올라갈수록 화면이 예쁩니다ㅎ.
구글에 검색하셔서 다운받으셔도되고, 다음에 올릴 C언어게시글에 어떻게 다운받는지 어떻게 코딩하는지 설명할 예정이니 그 글을 보고 다운받으셔도됩니다.
제 생각에는 되게 풀어썼다고 생각하는데... 그렇게 느끼실수도있겠네요
추천
[신고]