C언어 기초교육(1/10)

2024. 5. 15. 16:47코딩과 프로그래밍/C언어

728x90

첫 글로 C언어에 대해 글을 써볼려고 한다. 사실 요즘 많은 사람들은 책, 학원, 유튜브 동영상 등 지식을 얻을 수 있는 경로가 너무나도 많아 굳이 이 글을 읽으려는 이들이 있을까? 싶지만. 아무쪼록 C언어에 대해 배우려고 하는 이들에게 작게나마 도움이 되고자 글을 써내려본다.

 

이미 배웠던 내용이여도 만약 초보자라면 한 번 읽어보는 걸 권장한다. 그 이유는 사람이 아무리 똑똑하더라도 한 번 배운 내용을 복습 없이는 제대로 기억하기 어려우며 또 이미 입문자용 책을 읽은 사람이 또다른 입문자용 책을 읽을 경우 이전 책에선 얻을 수 없었던 지식을 얻을 수도 있다. 그러니 이 글은 새로운 지식과 이미 배웠던 내용을 복습 할 겸 읽으면 좋은 글이 될 것이다.

 

본 글은 C언어 기초교육의 첫 번째 글에 해당하는데. C언어는 무엇인지, 그리고 간단한 C언어에 대한 역사와 C언어를 배우는 데에 도움이 되는 책들을 소개해줄려고 한다.

 

 

[C언어의 역사와 특징]

가장 먼저 C언어에 대해 잠깐 짧게나마 설명하려고 한다. C언어는 1972년에 데니스 리치가 개발하였다. C언어는 이전에 사용되었던 B언어의 한계를 극복하고 시스템 프로그래밍을 위한 효율적이고 이식성이 뛰어난 언어를 만들기 위해 탄생하였다.

 

C언어의 특징으로는 저수준의 언어와 고수준의 언어의 특성을 모두 가진 언어인데. 특히 저수준의 언어로서 매우 뛰어난 언어이다. 여기서 저수준, 고수준이란 고수준 언어는 사람에게 가까운 언어로 쉽게 배우고 읽을 수가 있지만. 반대로 저수준 언어는 기계에 가까운 언어로 배우기가 난해하여 세세한 부분까지 프로그래밍 해줘야 한다는 특징이 있다.

 

C언어의 장점이라고 한다면 대표적으로 네 가지가 있는데.

 

1. 이식성: C언어는 하드웨어와 운영체제 문제에서 독립적이고 거의 모든 종류의 컴퓨터에서 사용이 가능하다는 장점이 있다.

2. 효율성: C언어는 직접 메모리와 하드웨어를 제어할 수 있어서 효율적인 프로그램을 작성 할 수 있다.

3. 유연성: C언어는 저수준의 기능과 동시에 고수준의 추상화도 가능하면서도 다양한 스타일로 프로그램을 작성 할 수 있다.

4. 포인터: C언어의 꽃이라 불리우는 포인터는 C언어를 배우는 데에 가장 어렵지만. 포인터를 사용할줄 알게 되면 메모리의 주소를 우리가 직접 조작 할 수 있게 된다.

 

그 밖에도 C언어는 UNIX 운영체제의 개발에도 밀접하게 연관이 있는데. UNIX의 운영체제는 C언어로 개발되었으며 많은 프로그래밍 언어들에 지대한 영향을 끼친 언어가 바로 'C언어'이다.

 

1970년대에 만들어졌지만. 여전히도 많이 사용되고 있었으며 파이썬이 많은 이들이 사용하기 전에는 C언어가 프로그래머들이 가장 먼저 배우는 언어였다. 현재는 많은 사람들이 쉽고 편리하며 많은 곳에 쓴다는 이유로 파이썬을 가장 먼저 배우는 것을 권장하지만. 필자는 C언어를 가장 먼저 배우는 걸 권장한다.

 

 

[C언어 배우는 데에 도움되는 책]

입문서로 추천되는 책은 나도코딩의 C 언어 입문을 추천한다. 내용도 알차고 유튜브를 보면서 배울 수 있다는 장점이 있다. 심지어 E북으로도 있으며 입문하기엔 간편하고 좋다. 다만, 내용이 너무 적다는 것이 단점.

 

그 밖에 제대로 배우고 싶다면 'C 기초 플러스 6판'을 추천한다. 현재는 6판까지 나왔지만, 후에 개정될 경우 7판, 8판.. 이런 식으로 나오니 참고하도록 하자. 가격은 4만원대로 꽤나 비싼 편인데. 책도 어마어마한 분량을 자랑한다. 무려 1000페이지나 된다. 하지만, 이 C 기초 플러스 6판은 내용도 알찬데다 가장 최신 표준인 C11을 기반으로 어마어마한 분량의 내용이 담겨있기 때문에 더더욱 제대로 배우고 싶은 사람에겐 매우 권장하는 편이다. C11이란 것은 C언어에는 표준이란 게 있다.

 

C언어 탄생 이래 여러 표준이 생겼는데. 그 중 C89는 89년도에 탄생하였는데. 오늘날 대표적인 특징으론 Bool 타입을 사용 못한다. C99는 함수 중간에 변수선언도 가능하며 Bool 타입도 사용이 가능하다. 그리고 현재는 C17까지 있는데. C17은 C11에서 결함만 수정한 상태라 사실상 C11 기준으로 가르치는 C 기초 플러스 6판을 교습재로 사용하여 입문하는 걸 권장한다. 

 

위 책 중 정말 입문만 하고 싶다면 나도코딩의 C언어를 추천하며 제대로 배우고 싶다면 C 기초 플러스 6판을 추천한다.

 

그리고 책을 한 권 읽었다고 공부를 마치지 말자. 계속해서 다른 책들을 읽어가며 공부를 해야 한다. 특히 입문자용 책 읽었으면 중급자용, 그 다음은 상급자용 책들을 찾아보고 읽도록 하자.

728x90

'코딩과 프로그래밍 > C언어' 카테고리의 다른 글

C언어 기초 퀴즈  (0) 2024.05.24
C언어 기초교육(5/10)  (0) 2024.05.18
C언어 기초교육(4/10)  (0) 2024.05.17
C언어 기초교육(3/10)  (0) 2024.05.16
C언어 기초교육(2/10)  (0) 2024.05.16