츄잉~ chuing~
츄잉 신고센터 | 패치노트 | 다크모드
공지&이벤트 | 건의공간 | 로고신청N | HELIX
로그인유지
회원가입  |  분실찾기  |  회원가입규칙안내
[C언어] 0.C언어란?
팟독 | L:0/A:0
119/450
LV22 | Exp.26% | 경험치획득안내[필독]
추천 4-0 | 조회 6,606 | 작성일 2014-09-06 05:26:07
[서브캐릭구경OFF] [캐릭컬렉션구경OFF] [N작품구경OFF]
*서브/컬렉션 공개설정은 서브구매관리[클릭]에서 캐릭공개설정에서 결정할수 있습니다.
  [숨덕모드 설정] 숨덕모드는 게시판 최상단에 위치해 있으며 언제든 설정할 수 있습니다.

[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언어게시글에 어떻게 다운받는지 어떻게 코딩하는지 설명할 예정이니 그 글을 보고 다운받으셔도됩니다.

 

 

 

개추
|
추천
4
반대 0
신고
    
  [숨덕모드 설정] 숨덕모드는 게시판 최상단에 위치해 있으며 언제든 설정할 수 있습니다.
[L:2/A:16]
SpeedRacer
C언어가 무난하다뇨ㅠㅠ..
2014-09-06 07:14:42
추천
[L:55/A:353]
카루타
오..츄잉에선 보기드문 종류의 컨텐츠네요
잘봤습니다
2014-09-06 07:19:41
추천
안즈♥
프로그래밍은 알면 참 쉬워지더라구여..
비베는 짜증났지만..ㅋㅋ 잘 보고갑니다 ~
2014-09-06 11:05:58
추천
손없는기사
출석만 하면 A라니... 뭐빠지게 과제 해서 겨우 A+이것만.
2014-09-06 11:27:48
추천
순결녀
#include <stdio.h>

int Cal(int num, int a, int b);

int main(void)
{
int num=0, a=0, b=0;

puts("----------------------------");
puts("1. 덧셈");
puts("2. 뺄셈");
puts("3. 곱셈");
puts("4. 나눗셈");
puts("----------------------------");

printf("원하는거 골라 : ");
scanf("%d",&num);
Cal(num, a, b);

return 0;
}
2014-09-06 13:51:48
추천
[L:55/A:541]
도미니언
오오 많이 올려주세요. ^^
2014-09-06 17:02:35
추천
[L:44/A:246]
네티
와 뭔진 잘... 모르겠지만... 근데 뭔가 신기하네요
2014-09-06 19:53:48
추천
[L:48/A:379]
깎깎
C언엌ㅋㅋㅋ
2014-09-06 22:02:54
추천
[L:56/A:476]
Kriemhild
아 메인 개깜짝이야
2014-09-06 22:38:18
추천
우마루쨩
독자층을 어느정도 눈높이로 두고 글을 쓰기 시작하시는지 궁금해지네요
생판 모르는 사람이 보기에는 용어의 의미가 와닿지 않아서 "검은 건 글씨요, 흰건 배경일세"할지도 모르겠네요... 관련 배경지식을 개략적으로 가진 사람이 보기에는 추가로 얻는게 없어보이고, 보다 숙련된 사람이 보기에는 너무 겉만 핥는 것처럼 보일듯해요
음... c언어를 접해보지 못한사람들을 위한 강좌라면 용어적 부분에서 독자가 다소 의아해할 부분/어정쩡하게 설명해선 어차피 올바른 이해가 힘든 부분은 과감히 빼고 해당 강의에서의 포커스만 잡으면 어떨까 싶어요.
본글이 c언어를 소개하고자 하는 글이고, 입문자나 초보자를 위한 글이라면, 코딩 부분에 대한 기술적 설명은 어설픈 추측으로 잘못된 지식을 머리에 박아둘수 있으니 뒤로 건너뛰고 기계어가 뭔지, 왜 c언어나 다른 언어가 나왔는지 등 프로그래밍언어에 대한 전반적인 이해를 돕게 하기위한 설명을 테마로 잡았으면 좋았을거같아요. 물론 이것도 객체지향이다 서비스지향이다 이런 단어는 자제하고 알기쉽게 설명하는쪽으로 뺄건 빼고 가야겠지만요.

어디까지나 개인적 의견이므로 이런 생각을 가진사람도 있다 정도로만 봐주셔요ㅎ 앞으로도 좋은글 잘부탁드립니다
2014-09-07 05:30:14
추천
팟독
워드1급정도의 자격증필기 공부한사람의 눈높이 정도로 생각하고 적었는데
제 생각에는 되게 풀어썼다고 생각하는데... 그렇게 느끼실수도있겠네요
2014-09-07 09:38:52
추천
[L:26/A:479]
독고가르
저도 최근에 관심이생겨서 공부할려고하는데 어디서부터 시작해야할지 모르겠더라구요
많이 알려주시면 감사하겟습니다 ^
2014-09-08 11:25:50
추천
[L:60/A:183]
언트
공부해 볼려 했는데 어려워 보여서; 츄잉에선 신선한 주제네요
2014-09-09 00:20:26
추천
[L:40/A:238]
야나기
좀더 용어 설명이라던가 풀어서 말씀해주세요 제가 c언어 공부중인데;; 책에서 본것보다 어렵게 설명되있는것같아요 요약해서 쓴것같은 느낌입니다
2014-09-11 13:10:18
추천
팟독
용어를 풀어서 설명하자니 글이 너무 길어져서 가독성에 약간 문제가 있지않을까 싶어서
제 생각에 이 정도만 알고있으면 된다 할 정도로 중요한것만 딱딱 집으면서 글을 쓸 생각입니다.
만약 보충설명이 필요하다고 하시는분에게는 댓이나 쪽으로 남기면 풀어써드릴꺼구요.
2014-09-14 22:12:31
추천
[L:4/A:192]
다입문망할
리얼 검은건 글씨요. 흰건 배경 ㅠ...
2014-09-11 19:13:36
추천
현실
신선하네요. 앞으로도 기대가되는 C언어 글이네요
2014-09-15 07:50:49
추천
[L:26/A:373]
팔리시오스
잘 읽고갑니다.
2014-09-27 08:45:54
추천0
샹크스¸
잘보고가요.
2015-02-08 22:35:12
추천0
의견(코멘트)을 작성하실 수 없습니다. 이유: 로그인을 하시면 댓글작성이 가능합니다. 츄잉은 가입시 개인정보를 전혀 받지 않습니다.
  
즐겨찾기추가   [게시판운영원칙] | [숨덕모드 설정] |   게시판경험치 : 글 10 | 댓글 1
번호| | 제목 |글쓴이 |등록일 |추천 |조회
126 츄간음악시간  
[특별판] 2015 MLA 어워드 예고 (bgm) [5]
츄인e
2015-12-29 3-0 4758
125 미연시나리뷰  
15. [54]
은룡
2015-12-28 16-1 26176
124 미연시나리뷰  
14. 크리스마스와 미연시 [13]
은룡
2015-12-26 3-0 12897
123 츄간음악시간  
[특별판] 2015 제 1회 CHoF 명예의 전당 결과 안내 [2]
츄인e
2015-12-25 2-0 4050
122 츄간음악시간  
[음악시간] 22. 크리스마스 이벤트- 크리스마스에 어울리는 캐릭터 [7]
츄인e
2015-12-24 0-0 5616
121 별처럼빛나는  
[리니지] 아크프리패스란? [4]
2015-12-21 2-0 3921
120 인생=동인지  
[COMIC X-EROS #02 2012-02] Rindou 제1화 [48]
순결녀
2015-12-18 17-1 20294
119 츄간음악시간  
[음악시간] 21. 하반기 음악 정산 [11]
츄인e
2015-11-27 1-0 4151
118 츄간음악시간  
[음악시간] 20. 특집 책벌레 캐릭터 설문조사 [10]
츄인e
2015-11-19 1-0 5321
117 별처럼빛나는  
[리니지] 87레벨 업! [57]
2015-11-11 5-1 10692
      
1
2
3
4
5
6
7
8
9
10
>
>>
enFree
공지&이벤트 | 접속문제 | 건의사항 | 로고신청 | 이미지신고 | 작품건의 | 캐릭건의 | 기타디비 | 게시판신청 | 클론신고 | 정지/패널티문의 | HELIX
Copyright CHUING Communications. All rights reserved. Mail to chuinghelp@gmail.com | 개인정보취급방침 | 게시물삭제요청