C++ 기초 : 입출력

Dora·2020년 7월 8일
0

C++은 C를 포함하기 때문에 C로 작성된 대부분의 프로그램은 C++컴파일러로 컴파일이 가능하지만 C++은 C가 지니지 않은 문법적 특성을 갖고 있다.

소스파일의 저장

C언어를 이용할 땐 확장자가 .c 였지만 C++언어는 .cpp 로 해야 한다.
(그래야 C++ 컴파일러를 이용할 수 있다.)

C++의 입출력 방식

C

#include <stdio.h>
int main(void) {
	int num = 20;
	printf("Hello World! \n");
	printf("%d", num);
	scanf("%d", &num);
}

C++

#include <iostream>
int main(void) {
	int vall;
	std::cout<<"Hello World!"<<std::endl;
	std::cin>>vall;
}

헤더파일 선언문

#include <iostream>
  • std, cout, endl를 사용하기 위해 선언한다.

  • 이 선언문을 쓰지 않으면 std, cout, endl을 인식하지 못하는 에러가 난다.

  • C의 stdio.h와 달리 .h같은 확장자가 없는데, 이는 C++도 .h 확장자를 쓰지만 표준 헤더파일 선언에서는 확장자를 생략하기로 약속되어 있기 때문이다.

    • 과거에는 iostream.h를 사용하였으므로 이를 통해 과거와 현재의 표준 입출력 라이브러리를 구분할 수 있다.


출력

std::cout<<'출력대상';

출력대상에는 자료형에 상관없이 무엇이든 올 수 있다.
별도의 출력포맷을 지정하지 않아도 알아서 적절한 출력이 이뤄진다.
문자열은 " ", 문자형은 ' '를 사용해야한다.

<<연산자

둘 이상의 출력대상을 연이어서 출력할 수 있다.
ex. std::cout<<num1<<num2<<num3;

std::endl

개행 문자 ( \n 과 같은 기능)

입력

std::cin>>'변수';

데이터의 입력도 출력과 마찬가지로 별도의 포맷 지정이 필요없다.
변수의 자료형만 잘 선언해주면 된다.

  • 역시 연속적인 입력이 가능하다.
std::cin>>val1>>val2;

두 입력의 경계는 tab, space bar, Enter키 같은 공백 문자에 의해 나눠진다.

지역변수 선언

C++의 지역변수 선언은 함수 내 어디든 삽입이 가능하다.

C도 새로운 표준에서는 변수선언 위치에 제한을 두지 않지만, 여전히 많은 컴파일러에서 이를 허용하지 않고 있다.

profile
Lv.1 개발자

0개의 댓글