(C언어를 반드시 미리 공부하고 오셔야합니다. 그래야 충분히 이해하실수 있습니다. 또한 C언어를 알고있다는 전제하에 강의를 진행하려합니다.)
Hello C++
다들 반갑습니다. C++ 1강입니다. ( 포스팅한게 갑자기 지워져서 날짜가 밀림)
이번 1강에서는
- Hello World! 와 변수사용
- 입출력함수
- 헤더파일 선언
- 조건문 반복문
무슨 언어든 프로그래밍을 배우려고 책을 펴면 항상 가장 첫 부분은 "Hello World"라는 문자를 출력하는것이 장식을합니다. 그리고 시키는대로 따라서 코딩을합니다. 이게 왜 "Hello World"라고 출력이되는지도 모른채 말이죠. 처음배울때는 코드가 동작하는 방식, 이유 등은 모르는게 당연합니다. 반복적으로 학습해서 몸에익히고 더 많이 배우게되면 하나씩 그 원리들을 알게되어 가게되니까 너무 조바심내지마시고 차근차근 공부해 나아가도록 합시다.
먼저 Hello World 출력 예제를 살펴보도록 할게요.
첫 줄부터 소스를 분석해보도록 할겠습니다. 헤더파일 선언 문을 한번 보도록할게요.
#include <iostream> 가 눈에 보입니다. C언어에서 표준입출력 함수의 사용을위해 <stido.h>를 포함했지만 C++에서는 <iostream> 형태를가진 헤더파일이 추가되어야합니다. 그런데 iostream 헤더에는 확장자(.h)가 안보이네요? 확장자를 써주지 않았을뿐이지 C언어 때와 동일하게 확장자는 .h 가 맞습니다. C++에서는 프로그래머가 정의한 헤더파일이 아니라 표준 헤더파일을 선언할때는 확장자를 생략한답니다.
이제 헤더선언은 이해가되었고 밑으로 내려가 보도록할게요.
main() 메소드가 나왔네요. 사용법이 C언어와 다를바가없습니다.. main()메소드 안쪽을 들여다 보도록하죠.
int a= 100, int b= 50, double c= 3.14 변수를 선언하고 초기화 하는방법은 C언어와 역시나 일치합니다. 늘 봐왔던 부분이라 정말 익숙하네요. 쪼금만 더 내려가보도록합시다.
당혹스럽군요. cout?? endl?? 이라는 새로운 녀석이 등장했습니다. 하지만 자세히 보면 이 두 가지 함수를 이용해서 출력을 하는구나라고 생각할 수 있습니다. C언어에서 사용하던 printf는 이제 보이지가 않네요. 그럼 한번 cout, endl에 대해서 알아보도록 하겠습니다.
std::cout<<는 출력을 해주는 함수 입니다.
사용하는 방식은
std::cout<< 출력할 대상;
출력할 대상에는 정수, 실수, 문자열, 변수등 뭐든지 사용할 수 있습니다. C언어에서 쓰던 printf 함수와는 달리 %d, %s같은 문자를 이용해서 출력포맷을 지정하지 않아도 데이터 타입에 상관없이 잘 출력이 된다는겁니다. 사용하기 참 편한 함수죠? 앞으로 C++ 에서는 꼭 이 함수를 사용해주도록 합시다.
<<std::endl;는 개행을 도와주는 함수입니다.
사용하는 방식은
<< 연산자 다음에 std::endl;
앞으로 배울 강의에 저 뒤편에서 알게 되겠지만 <<도 연산자랍니다. 일단은 << 다음에 std::endl; 을 사용하여 개행을 할 수 있다는 것만 알아 두도록 합시다.
C언어와는 다른 방식에 출력함수 사용을보고 혼란이 오셨을거라 생각합니다. 하지만 로마에 온이상 로마법을 따라야겠지요. 반복적으로 사용하여서 몸에 익히도록해요~
이렇게 출력함수를 가지고 데이터의 연속출력을 해보도록 합시다.
std::cout<< "안녕" << "하세" << "yo" <<std::endl;
연속 출력방법은 아주 간단하네요. << 연산자를 이용하여
<< 출력대상 << 출력대상 << 출력대상; 방식으로 사용하면 된다는걸 알 수 있습니다.
출력함수가 있으면? 당연히 입력함수도 있습니다. C언어에서 열심히 사용했던 scanf를 대신해줄 무언가가 또 있겠지요?
키보드로부터 3가지의 숫자를 입력받아 출력하는 예제를 통해 알아보도록 하겠습니다.
std::cin 이 등장했습니다. 사용법을 먼저 알아보도록 할게요.
std::cin >> 입력받값을 저장할 변수;
이렇게 사용합니다. cout나 endl과는 다르게 (<<) 꺽쇠방향이 반대로 (>>) 되어있군요.
입력받아서 >> 이쪽방향에 변수에 넣어준다. 이렇게 편하게 생각하시면 됩니다. 자세한건 나중에 다 알게될거에요^^
위에 예제는 int형 변수 first, second, third 3개를 선언해주고 각각 std::cin 함수를 이용해서 값을 받아주고 출력을 해줍니다. 이제 쉽게 이해가 되시죠?
다음은 배열을 이용한 문자열출력을 알아보도록 하겠습니다.
char 배열이름[길이]; 이렇게 선언을 해주는건 역시나 C언어에서 사용하던 방식과 같습니다. subject와 professor 이름을가진 char형 배열에 각각 입력을 받아 출력을 해주고 있네요. 앞서 배웠던 예제와 별차이가 없습니다!! 쉽게 쉽게 따라오실거라 믿어요.
이제 여러분은 c++에서 어느정도 데이터를 입력받고 출력하는데 능숙해지셨습니다.
마지막으로 반복문과 조건문을 이용한 예제를 한번 살펴보도록 하겠습니다.
0보다 큰수를 5개 입력받아 배열에 저장후 그 중에 가장 큰 큰값을 찾아내는 예제입니다.
1. arr[5] 배열에 5개의 숫자를 차례로 입력을 받습니다.
while{ } 문과 if( )문이 등장했네요. C언어때와 사용 방법이 동일함을 알 수 있습니다. arr[count] 에서 count 값을 0 에서부터 1씩 증가시켜 각각 값을 입력받은후에 if( ) 문에서 count 값이 5가 되었을때 break 를 이용하여 while문을 빠져나오게 됩니다.
2. int형 변수 max를 0으로 초기화합니다. max와 배열 arr[0]을 비교해서 큰값을 max에 넣어주고 그 다음 max와 arr[1]을 비교해서 큰값을 max에 넣어주는 방식을 arr[4] 까지 반복하게되면 max에 최대값이 저장되게 됩니다. 간단하죠?
오늘은 이렇게 C++에 대하여 간단하게 알아보았습니다. C언어를 이미 알고 오신분들이기에 그닥 어려운 부분은 없을거라 생각합니다. C++의 정점을 향해 앞으로 힘냅시다.
다음 강의때 뵙겠습니다.
댓글 없음:
댓글 쓰기