2008년 2월 17일 일요일

권씨의 신기한 C이야기 1. 시작

첫번째.


음..... 안녕하세요? 호호;

뻘쭘하군요


제 소개는 제 미니홈피가 대신해서 할겁니다.

이미 페이퍼를 3개나 운영하고 있으니

거두절미 하고 본론으로 넘어가도록 하죠


자...C 란 뭘까요? 어렵죠? 저도 어렵답니다 ㅋㅋ

언제나 배워야 하고 포인터...함수... 논리연산.. 등등

어우 생각만 해도 머리에 쥐가 나고 짜증나죠 ㅎ


저도 지금 그렇답니다.


역시 저도 아직 초보자구요.


아 말씀드리지만 이건 강의가 아니에요

스터디 같은거죠 저 혼자하는 스터디

어떤 분이 보실지는 모르겠지만.......



 

자 그렇담 이 C는 무엇인가?

 

(1) 세계의 공용어는 영어입니다. 수 많은 서적, 매체들이 영어로 만들어지고 있고

앞으로 미국을 이길만한 나라가 생기지 않는 이상, 영어는 언제나 공용어로 남을 것입니다.

 

좀 짜증나고 아쉬워도 솔직히 무역이니 뭘 하기 위해선 공용어를 외워야 하죠

그래서 토익이니 토플이니 있지 않겠습니까?

 

이와 마찬가지로 C는 컴퓨터와 사람 사이의 공용어라고 생각하면 편합니다.

컴퓨터와 대화할 수 있는 언어죠

(엄밀히 말하면 다르지만 여기선 쉽게 나가죠^^:)

 

그렇기 때문에 지금 우리가 구동하는 윈도우, 그리고 익스플로러,

이 모두가 이 공용어로 만들어집니다. 이 웹 페이지는 C가 아닌 HTML이라는

공용어를 사용해서 만드는 것이구요

 

C가 왜 C가 됐느냐에 따라서는 미국의 톰슨이란 자가 만든 B라는 언어를

모체로 만들어졌기 때문에 C가 됐답니다 ㅋ

 

그럼 이 C는 왜 많이 쓰이는가?

 

(2) 자 이 C는 여러 가지 장점이 있습니다.

첫 번째 효율성이 높다,

두 번째 이식성이 좋다.

그리고 지명도가 높다...-_-;;; 에고..

 

저도 잘 몰라요 ㅋㅋ 이 어려운 게 왜 많이 쓰이는지 ㅋㅋ

장점? ... 이식성은 아시는 분은 알겠지만 JAVA가 더 좋지 않나요? 하하

그러나 이 C는 모든 언어의 베이스 랍니다. 즉 기본이란 소리죠

C를 배우게 되면 모든 언어의 기본을 알게 됩니다. 기본적인 구동 원리와

구조를 알게 되죠. 이래서 C를 꼭 배우는 것이죠

 

그래서... 다시 특징으로 넘어가면 이 C언어에는 여러 특징이 있습니다.

 

1) C MAIN()을 포함한 함수로 구성된다.

2) 각 함수는 변수의 선언과, 수행될 문장으로 구성된다.

3) C 45개의 연산자를 제공한다.

4) C언어는 다양한 자료 형을 제공한다.

5) C언어는 전 처리기를 이용해 언어를 확장한다.

6) C언어는 문자열과 입출력을 라이브러리 함수로 제공한다.

 

 

자 처음은 이정도. ... 여기서 중요한 건 1, 2, 3번 입니다. (제 생각에....^^;;)

 

그럼 하나하나 짚어보고 가죠

 

1) MAIN() 을 포함한 함수로 구성된다..

 

사람에겐 몸이 있습니다. 사실 사람에겐 몸과 머리만 있다면 살수 있습니다.

그렇죠? 다만, 살기가 매우 불편하기 때문에 팔과 다리를 같이 사용하는 것이죠

 

C도 마찬가지입니다. MAIN함수만으로는 많은 기능을 수행하기가 힘들어서

(가능하긴 합니다)여러 가지 함수로 기능을 분산시켜서 좀더 효율성을 높이는 것이죠.

그림으로 표현하면 이렇습니다.

 


 

 

MAIN 함수를 중심으로 F() G() H() 함수가 팔과 다리처럼 엮어져서 기능을 수행하게 됩니다.

이런식으로 여러가지 효율을 늘리면서 작동을 하게 됩니다.

C에서 이 함수의 개념은 정말 중요합니다!!! 꼭 알아두셔야 해요 ^^

 

 

2) 두 번째로 C는 선언과 문장으로 구성됩니다.

 

또다시 예를 들도록 해보면

 

#include <stdio.h>

 

void main(void) // 이부분이 선언입니다.

 

{   // 문장 시작

     int a;

     a=1; 

     printf("%d", a);

}  // 문장의 끝

 

라는 프로그램이 있다고 하면 void main() 부분은 선언입니다.

바로 main 함수를 선언하고 이 선언을 뒷받침, 즉 이 선언은 이러한 구조로 되어있다.

"팔이 있습니다!!!<-선언 이 팔을 몇 개의 뼈와 근육이 있어서 근육이 수축되면 오므라들고

팽창되면 펴진다(맞는 표현인가요?)<- 문장" 이라는 식의 구조를 띄게 되는 거죠

 

여기서 잠시 포인트를 집고 넘어가면 후에 배우겠지만

"void" 는 리턴형(return type)입니다.

"main(void)" 이름(변수형)을 뜻합니다.

다른 함수의 이름은 맘대로 지어도 되지만 꼭 main은 있어야 합니다. 

그리고 C는 문장의 엔터부분을 구분하지 못합니다. 다시 말하면

1) 저는 권만진이구요.나이는23.학생입니다   

2) 저는 권만진이구요.

    나이는 23.

    학생입니다. 를 구분하지 못합니다.

 

그래서 ; (세미콜론) 으로 구분을 줍니다. 한 문장이 끝나면 .(마침표)를 찍듯이

C ;을 꼭!!! 찍어줍니다.

 

 

3) 세 번째로 C 45개의 다양한 연산자로 구성이 됩니다.

 

이것들로 모든 게 표현이 가능하다니...신기하죠? 아래의 표는 연산자의

종류와 그 우선순위 입니다. 참고하세요~

각각의 쓰임은 나중에 다루도록 하겠습니다. ^^

 

1

( ) [ ] -> .

왼쪽 우선

2

! ~ ++ -- + -(부호) *(포인터) & sizeof 캐스트

오른쪽 우선

3

*(곱셈) / %

왼쪽 우선

4

+ -(덧셈, 뺄셈)

왼쪽 우선

5

<< >>

왼쪽 우선

6

< <= > >=

왼쪽 우선

7

== !=

왼쪽 우선

8

&

왼쪽 우선

9

^

왼쪽 우선

10

|

왼쪽 우선

11

&&

왼쪽 우선

12

||

왼쪽 우선

13

? :

오른쪽 우선

14

= 복합대입

오른쪽 우선

15

,

왼쪽 우선

 

.

.

.

.

.

 

4번째부터는 다음에 다루도록 하죠

 

 

===333 생각보다 어렵진 않은데

앞으로 그림이 많이 들어갈 거 같아 걱정이 좀 되네요 ^^

 

저와 같은 초심자들이 조금이라도 도움이 될만한 글을 작성하고 싶습니다.

많은 부족함이 있으리라 생각됩니다만 (당현히!!!!)

댓 글로 써주시면 2화 부터 적극 반영하겠습니다.

 

 

 

그리고 마지막으로 중요한걸 말씀드릴께요.

 

 

C를 하다가 수 많은 코드와 함수들을 보면 초심자들은 누구보다

두렵고 머리가 아프기 마련입니다. 그럴 때 조금은 두려움을 업에고

천천히 한줄한줄 읽어나가 보세요 조금은 안보이던 것들이 보이면서

코드가 읽히기 시작할 것입니다.

그런 두려움을 없애는 것,

 

그것이 C를 공부하기 전 가장 먼저 해 야할 것입니다.

가장 중요한 것이기도 하구요 ^^

 

자 앞으로 잘 해나가도록 해요~ 매주 수요일에 연재하도록 하겠습니다!! ^^

댓글 없음:

댓글 쓰기