본문으로 바로가기

[C++]C++? (1)

category 프로그래밍/C++ 2017. 1. 31. 23:31
반응형

안녕하세요. letitkang입니다!


오늘부터 C++을 공부하면서 포스팅을 할 예정입니다. 대망의 첫 포스팅이에요!


이번에 회사에서 하는 프로젝트가 있는데 이번에 C++로 코딩을 하기로 했습니다. C++이 뭥미?


C++은 대학교 다닐때 잠깐 핥은 정도라서... 잘 몰라요. 과제도 선배님들에게 굽신굽신하면서 제출했던 기억이...


지난 일은 잊고! 오늘부터 열심히 해보겠습니다. 


전 말로는 엄청나게 할 것 처럼 말하지만, 저의 손가락은 무겁습니다. 실천이 힘드네요 ㅠ 여러분도 그렇죠? 농답입니다 ㅋㅋ


 

 

 



목표는 1일 1포스팅인데 웬지 잘 될 것 같습니다. 긍정!


공부를 하려면 책이 었어야겠죠!


이번 설 연휴에 고향 집에 간 김에, C++책이 있는지 한번 훑어 보았습니다.


한편으로는 난 책이 이렇게 없었구나...


한편으로는 놀라웠네요. 이런 책도 우리 집에 있었구나... 하던 도중 한 권의 책이 눈에 들어왔습니다.


책도 몇 권 없어서 금방 찾았습니다.


산 기억은 있는데 단 한번도 펴보지 않은 책이었네요 ㅋㅋ


윤성우 선생님의 열혈강호가 아닌 열혈강의 C++ 책이 있더라구요.



책은 너로 정했다! '윤성우의 C++ 열혈강의'을 지침서로 하여 공부하겠습니다.


지금부터 1회 포스팅시작하겠습니다.




C++을 처음 들었을 때 C의 확장팩인 줄 알았습니다. 디아블로 처럼요...


어쨋든 비슷한 느낌이더라구요


C++은 C언어를 포합합니다. 그래서 C++ 컴파일러로도 C언어는 컴파일 가능합니다.


C++에는 C언어에 없는 문법들이 많기 때문에 C컴파일러로는 C++언어를 컴파일 하지 못합니다.



초반 강의에서는 C++의 맛만 볼 것입니다. 먼저 C++과 C의 차이점에 대해 간단히 알아보겠습니다.



1. 출력 방식이 다릅니다.


컴퓨터의 대부분 언어를 배우면 제일 처음에 출력을 뭘로 하시는 다들 아시겠죠?


그 유명한 Hello world!입니다.


이젠 뭐 익숙하더라구요.


먼저 C++언어의 Hello world! 를 출력하는 소스코드를 한번 살펴보겠습니다.


참고로 전 리눅스 Redhat 6.5를 버츄얼 박스에 하였습니다. vi편집기를 사용합니다. 입사하면서 vi만 쓰다보니 손에 익어버렸네요.


아래의 소스코드는 C++에서 Hello World!를 출력하는 것입니다.


================================================================================================

소스코드

================================================================================================

  1 #include <iostream>

  2

  3 int main(void){

  4     int num = 10;

  5     std::cout<<"Hello" << "World!"<<std::endl;

  6     return 0;

  7 }

================================================================================================

결과

================================================================================================

Hello World!

================================================================================================


위의 소스를 보면 몇가지 특성을 알 수 있습니다.


 

 

 



1) 헤더파일 선언이 C와 달라요!


C언어 에서는 입출력을 위해서 #include <stdio.h>를 선언하여서 printf, scanf를 사용할 수 있습니다.


C++에서는 위처럼 #include <iostream>과 같은 형식의 헤더파일을 선언해야 합니다.


헤더파일을 선언하지 않으면 std, cout, endl 이런 것들에 대한 에러가 뜨게 됩니다.


그리고 C언어 와는 달리 헤더파일을 선언할 때, 확장자 없이 선언을 하게 됩니다. 표준에서 그렇게 약속했기 때문입니다.


표준을 잘 지켜야죠! 약속도 잘지킵시다!


2) std::cout 랑 << 가 있습니다!

================================================================================================

std:cout << '출력';

================================================================================================


위와 같은 형태로 출력을 할 수 있습니다. '출력'에는 변수, 상수 등 모든 것이 올 수 있습니다. c언어와 달리 서식문자(%d, %c 등)을 쓰지 않습니다.


c언어 보다는 확실히 편리함을 느낄 수 있습니다. 일단은 이정도 까지만 설명 드리겠습니다. 자세한 건 뒤에서 다루겠습니다.


3) <<로 연속적인 출력, 개행이 가능합니다.


<<도 연산자라고 할수 있습니다. 그리고 <<를 이용하여 출력을 연속으로 할 수 있습니다.

================================================================================================

std::cout << '출력1' << '출력2' << '출력3';

================================================================================================


위와 같은 형식으로 출력을 이어나갈 수 있습니다. 

================================================================================================

std::cout<<"Hello " << "World!"<<std::endl;

================================================================================================


 

 



위의 std:;endl이 의미하는 것은 개행입니다. c언어의 개행은 \n이었지만, C++은 역시 다릅니다. 이것 또한 자세한건 뒤에서 다루겠습니다.


오늘 포스팅은 여기 까지 하겠습니다! 매일 매일 직접 코딩하면서 하나하나 살펴보고 진행할 예정입니다.


다음 강에서는 입력에 대해서 이야기해보도록 하겠습니다!


감사합니다!

반응형

'프로그래밍 > C++' 카테고리의 다른 글

[C++]이름공간(namespace) (2)  (0) 2017.02.20
[C++]이름공간(namespace) (1)  (0) 2017.02.20
[C++]인라인(inline)함수  (0) 2017.02.20
[C++]함수 오버로딩(Function Overloading)과 매개변수의 디폴트값  (0) 2017.02.12
[C++]C++? (2)  (0) 2017.02.07
[C++]C++? (1)  (0) 2017.01.31

댓글을 달아 주세요