시리즈:쉽게 배우는 프로그래밍 입문/C++ 편집하기

편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
{{:시리즈:쉽게 배우는 프로그래밍 입문}}
{{쉽게 알 수 있다 시리즈|이 문서는 정말 쉽습니다.|문서의 내용이 너무 쉬워서 오늘부터 프로그래밍 할 수 있을 것 같습니다.}}


이번에는 [[C++]]에 대해서 배우실 차례입니다.
이번에는 [[C++]]에 대해서 배우실 차례입니다.
18번째 줄: 18번째 줄:


=== 코드블럭 실행 ===
=== 코드블럭 실행 ===
[[파일:codeblocks-1.PNG]]
[[File:codeblocks-1.PNG]]


실행을 하면 이렇게 창이 뜹니다. 컴파일러를 선택하라는 창이지만 OK버튼을 눌러 다음으로 넘어 간다.
실행을 하면 이렇게 창이 뜹니다. 컴파일러를 선택하라는 창이지만 OK버튼을 눌러 다음으로 넘어 간다.


[[파일:codeblocks-2.PNG]]
[[File:codeblocks-2.PNG]]


다음은 소스파일과 프로젝트 파일 확장자를 코드블럭으로 연결할 것이냐는 질문이다.(C/CPP 코드블럭 프로젝트 파일등)
다음은 소스파일과 프로젝트 파일 확장자를 코드블럭으로 연결할 것이냐는 질문이다.(C/CPP 코드블럭 프로젝트 파일등)
28번째 줄: 28번째 줄:
다른 컴파일러가 없을 경우 그냥 OK를 누르고, 없을 경우 1번째 체크박스을 선택한 후 OK버튼을 누른다.
다른 컴파일러가 없을 경우 그냥 OK를 누르고, 없을 경우 1번째 체크박스을 선택한 후 OK버튼을 누른다.


[[파일:codeblocks-3.PNG]]
[[File:codeblocks-3.PNG]]


프로젝트를 생성할 경우 File -> New -> Project를 누르면 된다.
프로젝트를 생성할 경우 File -> New -> Project를 누르면 된다.


[[파일:codeblocks-4.PNG]]
[[File:codeblocks-4.PNG]]


Console Application을 누르고 OK를 누른다
Console Application을 누르고 OK를 누른다


[[파일:codeblocks-5.PNG]]
[[File:codeblocks-5.PNG]]


Next를 눌러 다음으로 넘어 간다.
Next를 눌러 다음으로 넘어 간다.


[[파일:codeblocks-6.PNG]]
[[File:codeblocks-6.PNG]]


C++을 누르고 Next를 누른다.
C++을 누르고 Next를 누른다.


[[파일:codeblocks-7.PNG]]
[[File:codeblocks-7.PNG]]


# 프로젝트 이름
# 프로젝트 이름
53번째 줄: 53번째 줄:




[[파일:codeblocks-8.PNG]]
[[File:codeblocks-8.PNG]]


완료가 되면 다음과 같이 프로젝트와 소스 파일 하나가 생긴다.
완료가 되면 다음과 같이 프로젝트와 소스 파일 하나가 생긴다.


== Hello, World! ==
== Hello, World! ==
<syntaxhighlight lang=cpp>
<source lang=cpp>
#include <iostream>
#include <iostream>


66번째 줄: 66번째 줄:
     return 0;
     return 0;
}
}
</syntaxhighlight>
</source>
=== 파이썬과의 차이점 ===
=== 파이썬과의 차이점 ===


우선 너무 달라서 공통점이 없어 보이기는 하지만 몇가지 공통점이 보인다
우선 너무 달라서 차이점이 없어 보이기는 하지만 몇가지 공통점이 보인다
# 뭔가 친숙한 문자열인 "(쌍따옴표)가 보인다
# 뭔가 친숙한 문자열인 "(쌍따옴표)가 보인다
# 뭔가 int라는 게 보인다.
# 뭔가 int라는 게 보인다.
83번째 줄: 83번째 줄:


프로그램이 시작되면 main함수가 시작되므로 main함수 안을 보자. 한 문장만이 보인다.
프로그램이 시작되면 main함수가 시작되므로 main함수 안을 보자. 한 문장만이 보인다.
<syntaxhighlight lang="cpp">
<source lang="cpp">
std::cout<<"Hello, World!"<<std::endl;
std::cout<<"Hello, World!"<<std::endl;
</syntaxhighlight>
</source>
std는 standard의 약자이며, cout은 console output이라는 약자이고. endl는 end line의 약자이다. 즉, std::cout은 표준으로 정해진 콘솔에 출력이라는 것이며, std::endl은 줄을 끝낸다, 즉 다음 줄로 넘어간다는 뜻이 된다.
std는 standard의 약자이며, cout은 console output이라는 약자이고. endl는 end line의 약자이다. 즉, std::cout은 표준으로 정해진 콘솔에 출력이라는 것이며, std::endl은 줄을 끝낸다, 즉 다음 줄로 넘어간다는 뜻이 된다.
 
== 변수==
== 변수==
C++의 변수와 파이썬의 변수는 그 의미와 사용용도는 같지만, 중요한 차이점이 몇가지 있다
C++의 변수와 파이썬의 변수는 그 의미와 사용용도는 같지만, 중요한 차이점이 몇가지 있다
93번째 줄: 92번째 줄:
# C++의 변수는 파이썬의 변수와 달리 한번 정해진 데이터형(변수형)에서 바뀌지 않는다.
# C++의 변수는 파이썬의 변수와 달리 한번 정해진 데이터형(변수형)에서 바뀌지 않는다.
파이썬의 변수는 다음과 같이 선언하면 되었다.
파이썬의 변수는 다음과 같이 선언하면 되었다.
<syntaxhighlight lang="python">
<source lang="python">
변수 = 1
변수 = 1
</syntaxhighlight>
</source>
하지만 C++에서 변수는 다음과 같이 선언한다.
하지만 C++에서 변수는 다음과 같이 선언한다.
<syntaxhighlight lang="cpp">
<source lang="cpp">
int var = 1
int var = 1
</syntaxhighlight>
</source>
해석을 하자면 다음과 같다.
해석을 하자면 다음과 같다.
'''int라는 데이터 형인 var이라는 변수를 만들고, 1이라는 값을 넣는다.''' 또는 '''var은 1이고, 숫자다.'''<ref>저 숫자다 부분은 생략해서 생각하고 필요할 때 다시 떠올려 봐도 된다.</ref><ref>쉽게 해석했을 때</ref>
'''int라는 데이터 형인 var이라는 변수를 만들고, 1이라는 값을 넣는다.''' 또는 '''var은 1이고, 숫자다.'''<ref>쉽게 해석했을 때</ref>
한편 이렇게 변수의 선언시 정해진 데이터형에서 다른 데이터형으로 중간에 바뀔 수 없다.
한편 이렇게 변수의 선언시 정해진 데이터형에서 다른 데이터형으로 중간에 바뀔 수 없다.


131번째 줄: 130번째 줄:
|style='text-align:center'|-2147483648~2147483647
|style='text-align:center'|-2147483648~2147483647
|-
|-
|style='text-align:center'|간단한 뜻
|style='text-align:center'|진위값
|style='text-align:center'|문자
|style='text-align:center'|작은 숫자
|style='text-align:center'|숫자
|style='text-align:center'|큰 숫자
|}
|}
이중 long형의 경우 64비트 기계어로 번역될 경우에는 운영체제마다 그 크기가 다른데, 윈도우의 경우에는 4바이트, 리눅스의 경우에는 8바이트이다.
이중 long형의 경우 64비트 기계어로 번역될 경우에는 운영체제마다 그 크기가 다른데, 윈도우의 경우에는 4바이트, 리눅스의 경우에는 8바이트이다.
==== 실수형 ====
==== 실수형 ====
실수형이란 소수점이 붙은 수를 말한다. 컴퓨터에서 실수를 메모리에 저장할 때는 '''부동 소수점'''표기 방식을 사용한다.
실수형이란 소수점이 붙은 수를 말한다. 컴퓨터에서 실수를 메모리에 저장할 때는 '''부동 소수점'''표기 방식을 사용한다.
157번째 줄: 149번째 줄:
|-
|-
|}
|}
==== 문자형 ====
String 형입니다. <code>string a="김바보"</code>이런 식으로 사용할 수 있습니다. 사실 String은 사용자 정의 타입이기 때문에 더 기능이 있는데, 나중에 알아보도록 합시다.


=== 형변환 ===
=== 형변환 ===
217번째 줄: 207번째 줄:
== <s>예외란 없다</s>Hello, World! ==
== <s>예외란 없다</s>Hello, World! ==
빈 프로젝트를 생성한 후 소스(.cpp)파일에 다음 내용을 작성한다.
빈 프로젝트를 생성한 후 소스(.cpp)파일에 다음 내용을 작성한다.
<syntaxhighlight lang=cpp>
<source lang=cpp>
#include <iostream>
#include <iostream>


225번째 줄: 215번째 줄:
     return 0;
     return 0;
}
}
</syntaxhighlight>
</source>




혹은 이렇게도 쓸 수 있다.  
혹은 이렇게도 쓸 수 있다.  


<syntaxhighlight lang=cpp>
<source lang=cpp>
#include <iostream>
#include <iostream>
using namespace std;
using namespace std;
238번째 줄: 228번째 줄:
     return 0;
     return 0;
}
}
</syntaxhighlight>
</source>


또는  
또는  


<syntaxhighlight lang=cpp>
<source lang=cpp>
#include <cstdio>
#include <cstdio>
int main(void)
int main(void)
249번째 줄: 239번째 줄:
     return 0;
     return 0;
}
}
</syntaxhighlight>
</source>




267번째 줄: 257번째 줄:
따라서
따라서


<syntaxhighlight lang=cpp>
<source lang=cpp>
std::cout<<"Hello World"<<std::endl;
std::cout<<"Hello World"<<std::endl;
</syntaxhighlight>
</source>


은 다음 문장과 완벽하게 똑같다.
은 다음 문장과 완벽하게 똑같다.


<syntaxhighlight lang=cpp>
<source lang=cpp>
std::cout<<"Hello World\n";
std::cout<<"Hello World\n";
</syntaxhighlight>
</source>


이쯤에서 cout 앞에 쓰인 std라는 것의 정체가 궁금할 것이다. 이것은 이름공간(name space)라는 것인데, 여러분들이 정의한 객체나 함수가 헤더에 존재하는 것과 이름이 중복된다면 곤란해지므로 이것을 방지하기 위해 만들어진 개념이다.
이쯤에서 cout 앞에 쓰인 std라는 것의 정체가 궁금할 것이다. 이것은 이름공간(name space)라는 것인데, 여러분들이 정의한 객체나 함수가 헤더에 존재하는 것과 이름이 중복된다면 곤란해지므로 이것을 방지하기 위해 만들어진 개념이다.
312번째 줄: 302번째 줄:
-->
-->
{{각주}}
{{각주}}
{{쉽게 배우는 프로그래밍 입문}}
[[분류:프로그래밍 시리즈|C++]]
[[분류:프로그래밍 시리즈|C++]]
[[분류:C++]]
[[분류:C++]]
리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다.
취소 편집 도움말 (새 창에서 열림)

| () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |}