1학기때 컴퓨터 프로그래밍3 수업에서 C를 배웠고 앞으로 2학기때 C++을 배우게 된다는 이야기를 들어서 미리 공부해 보기로 했다
C와 C++이 이름이 굉장히 비슷해 보이는데 무슨 차이가 있을까 싶었는데 C++이 C를 포함하는 언어로, 사용하게 된 교재에서도 첫 챕터에서부터 C언어의 문법 구조에서 객체지향적 특성을 반영하여 변경된 C++의 문법구조를 설명하고 있었다.
1-1 printf와 scanf를 대신하는 입출력 방식
1. printf를 대신하는 방식
#include <iostream>
/*C언어에서는 printf함수와 scanf함수의 호출을 목적으로 헤더파일 <stdoi.h>를 포함했으나
C++에서는 <iostream>을 포함해야 한다.
이유로는
첫번째, 과거의 표준 라이브러리(<iostream.h>)와 새로운 표준 라이브러리(<iostream>)의 구분을 하기 위함이다.
두번째, 새로운 표준 라이브러리를 사용하는 형태로 소스코드를 쉽게 변경할 수 있도록 하기 위함이다.
*/
int main(void)
{
int num = 20;
std::cout<<"Hello World!"<<std::end1;
/* std::cout<<'출력대상';
의 형태로 출력하는데, 이때 출력대상에는 정수, 실수, 문자열, 변수 등이 올 수 있고 C와 달리 출력포맷을 지정하지 않아도 된다. */
std::cout<<"Hello "<<"World!"<<std::end1;
std::cout<<num<<' '<<'A';
std::cout<<' '<<3.14<<std::end1;
return 0;
/* << 연산자를 이용해 출력대상을 연이어 표현할 수 있다
std::count<<'출력대상1'<<'출력대상2'<<'출력대상3'; */
}
2. scanf를 대신하는 방식
#include <iostream>
/*헤더파일 선언과 관련한 내용은 위와 동일하다*/
int main(void){
int val1;
std::cout<<"첫 번째 숫자입력: ";
std::cout>>val1;
/* std::cin>>'변수'
의 형태로 변수 자리에 키보드로부터 입력받은 데이터를 저장한다.
이때 C++은 앞서 말한것과 같이 C처럼 포맷 지정이 필요 없기 때문에 위에서
정수형 데이터를 저장하던 val1가 실수형 데이터를 저장하도록 하고 싶으면
6행에 선언되어있는 변수의 자료형을 int 대신 실수형으로 선언해주기만 하면 된다. */
int val2;
/* C언어에서는 함수를 정의할 때 지역변수의 선언이 항상 제일 먼저 등장해야만 했으나 C++의 지역변수 선언은 함수 내 어디에서든 가능하다. */
std:count<<"두 번째 숫자 입력: ";
std:cin>>val2;
int result=val2+val2;
/* C언어에서는 함수를 정의할 때 지역변수의 선언이 항상 제일 먼저 등장해야만 했으나 C++의 지역변수 선언은 함수 내 어디에서든 가능하다. */
std::count<<"덧셈결과: "<<result<<std::end1;
return 0;
}
분명 C와 비슷하다고 듣고 페이지를 넘겼는데 배신감이 느껴졌다.
아무리 비슷해도 역시 C와 C++은 다르구나 생각하고 쉽게 쉽게 가려던 생각을 고쳐야겠다고 생각했다.
하지만 C++을 공부하다보면 C언어와 관련해서 나의 부족했던 부분이 더 눈에 띄겠구나라는 생각이 들어 C++을 열심히 공부해볼 동기가 생겼다.
'모각코 > 2022 하계 모각코' 카테고리의 다른 글
20220727 3주차 [진저비어] 모각코 계획 (0) | 2022.07.27 |
---|---|
20220713 2주차 [진저비어] 모각코 결과 (0) | 2022.07.13 |
20220713 2주차 [진저비어] 모각코 계획 (0) | 2022.07.13 |
20220706 1주차 [진저비어] 모각코 계획 (0) | 2022.07.06 |
2022 하계 모각코 계획 (0) | 2022.06.23 |