생초보를 위한 인터레스띵 C강좌

준비중..

생초보를 위한 인터레스띵 C강좌

입문자를 위해 최대한 흥미있게 설명하는 C강좌입니다. 영혼을 담아 상세하고 친절하게 설명해드립니닷!

C언어 맛보기!

### C언어 맛이나 봅시다!! C언어는 어떻게 이루어져 있을까요? C언어의 배경을 설명하기에 앞서 여러분들의 흥미를 자극하기 위해 간단한 예제 코드를 도전 과제에 <br> 만들어 놓았습니다. 맨아래에 있는 예제를 우클릭해서 '새 창에서 링크열기'를 해두고 설명과 같이 보세요. 그 전에 잠깐 코드가 대충 어떤지 보시고 (바로 아래에도 있습니다), <br> 실행하기 버튼도 눌러보세요~ 설명은 아래에 그림과 함께 하도록 하겠습니다. ![image](https://raw.githubusercontent.com/nobinson20/clecture/master/2-simpleExample.png) <br> 보시다시피 일반적인 C언어 프로그램은 <br> ```c++ main(){ // 어떻게 작동할 지에 대한 내용 (Body 파트) } ``` 와 같이 이루어져 있습니다. <br> *(잠깐! 아래 설명들은 옆 창에 코드를 띄워놓고 보시는 게 좋습니다~)* 1. 자, 그럼 `main()`은 뭘까요? 쉽게 말해 수학에서 f(x)라는 함수와 비슷하다고 보시면 됩니다. <br> 그런데 `main()` 에서 괄호 내부에 아무것도 없죠? 그러므로 input값이 없지만 어떤 작동을 하는 함수 정도로 생각하시면 되겠습니다. <br> 물론, main이라는 말이 붙은 만큼 스페셜합니다. 이 함수가 가장 먼저 실행되거든요! 말 그대로 메인이 되는 함수구나~ 정도로 이해해주세요.<br> 추후에 좀 더 상세하게 설명드리겠습니다. 지금은 괜자나요 노워리! <br> 그런데 `main(){ //Body}` 요기서 Body 부분에 뭐가 이것저것 요상한 게 많이 적혀있어요. 간단히 말씀드리자면, <br> <br> 2. // &nbsp;&nbsp;&nbsp; => 요거는 주석(comment) 기호라고 말합니다. // 다음에 오는 문장은 컴파일, 즉 컴퓨터언어로 번역될때 무시됩니다. <br> 왜 쓰냐구요 그럼? 다른 사람이 코드를 읽을 때 이해하기 쉬우라고 적는 것입니다. 몇 백줄이 넘어가는 (심지어 몇 천줄도 심심찮게 있답니다) <br> 코드는 누가 보더라도 이해가기가 쉽지않기 때문이죠. <br> 3. 좀 복잡한 녀석이 나타났습니다. `printf()`라고 하는 함수인데요. 잠깐 샛길로 빠지자면 제가 미드 시트콤에 좋아하는 말 중에 "Go nuts!"라는 <br> 말이 있습니다. "한번 미쳐봐", "맘대로 해봐!" 이런 뜻인데요. 코딩에서도 그렇게 맘대로 이것저것 해보고 왜 안 되는지 궁금해하는 습관이 <br> 좋은 습관입니다. `printf("Hello World!\n");` 이 문장을 지워도 보시고, "(요 안에)" 든 것도 이러저리 바꿔보세요! 그 행만 놔두고 { 요 안에 } 든 <br> 내용을 다 지워도 보구요. 대략 감이 오시나요? `printf()` 에 대한 것은 말씀드릴 것이 많아서 다음 강의에서 상세히 설명드리겠습니다. <br> 지금은 돈 워리! 지금은 '그래 print라고 하니 뭔가 "(요 안에)"있는 걸 그대로 출력해주는 함수같긴한데 뭐가 어떻게 작동하는걸까?' 정도면 충분합니다! 4. 이번엔 `int a;` `a = 1;`그리고 `int b = 2;` 뭐 이런 녀석들이 등장했습니다. 어렵지 않아요! `int a;` 의 뜻은 'a' 라고 하는 변수를 쓸 건데, 걘 정수(integer)야~ <br> 이런 뜻입니다. 그리고 `a = 1;` 은 뭘까요? a 는 1과 같다라고 컴퓨터한테 말해주는 거라구요? 엄밀히 말하면, 아닙니다ㅠ<br> 일반적으로, 컴퓨터 언어에서 `=`는 '왼쪽에 있는 녀석한테 오른쪽에 있는 값을 넣어줄거야' 라는 뜻입니다. 요기서, 응용 문제 하나! <br> ``` int a; int b; a = b = 1; ``` 에서 마지막 줄은 어떤 뜻일까요? 음.... 조금 어렵나요? 한번 생각해보자구요. `a`에다가 `b` 를 넣어줘야되죠? 그런데 이 문장은 `b = 1` 로 끝납니다. <br> 상식적으로 생각했을 때, 1을 `b`에다가 넣어준 후, 그 b (즉 1)을 `a`에다가 넣어주는게 맞겠죠? 네 즉, 맨 오른쪽부터 왼쪽으로 <br> 연산이 퐁당퐁당되는 거라고 생각하시면 되겠습니다~ 5. 사실 그 밖에도 `\n` 이런 것도 있고, `%d` 이런 이상한 것들도 있습니다. 간단하게만 말씀드리고 정~말 다음 강의들에서 상세하게 설명드릴게요. <br> 설명을 하다보니 욕심이 지나쳐버리고 있는 것 같네요ㅠ `\n`은 '줄바꿈 문자' (newline character)라고 부릅니다. 말 그대로 줄을 바꿔라~ 라는 <br> 명령을 컴퓨터한테 하고있는거에요. 예제 코드에서 아무 `\n`이나 없애고 한번 출력해보세요~ 그 전의 출력문과 붙어서 나오는 것을 <br> 확인하실 수 있으실거에요. <br> 그리고 `printf("%d\n", 4);` 요기서 `%d`는 뭐냐? 요거는 '서식 지정자' (format specifier)라고 부릅니다. 말이 어렵죠? 간단히 말해, "(이 쌍따옴표 안에)" 내용을 <br> 출력할 건데, `%d` 이게 있으면, `%d`를 출력하는게 아니라 쉼표 다음에 오는 녀석을 이 자리에 넣어! 그리고 걘 정수일거야! <br> 이런 뜻입니다. 한번 따옴표 뒤에 있는 숫자를 다른 정수로 바꾸고 실행해보세요~ 그리고 이것저것 이러면 되지않을까? 싶은 것도 마음껏 시도해보세요. <br> 코딩은 누가 하라는 거 하고 그러면 재미가 없습니다. 오 이런것도 되나? 라고 궁금한 것들이 있다면 Go nuts!

Challenge

개념 실습! 학습 내용을 진짜 내 것으로 만들기!