본문 바로가기

LANGUAGE/C C++

[C++] 입출력

728x90

윤성우 열혈 C++ 프로그래밍 기반의 C++ 공부용도 글

 

확장자

.cpp : C++문법규칙을 적용한 C++컴파일러로 컴파일되도록 해줌 

 

 

 

입출력

 

입출력을 위해서는 iostream 이라는 헤더 파일이 필요하며, 다음과 같이 선언한다

#include <iostream>

* C언어에서 printf(출력) , scanf(입력)을 위해 <stdio.h>를 선언하는 것과 같다

이때, 헤더파일의 확장자는 .h (iostream.h)이나, 표전 헤더파일의 선언에서는 확장자를 생략하기로 약속했다!

더보기

이유

  • 표준 라이브러리가 변화하면서, 과거와 새로운 표준 라이브러리를 구분하기 위해
  • 새로운 표준 라이브러리를 사용하는 형태로 소스코드를 쉽게 변경할 수 있도록 하기 위해 

#include <iostream.h> 로 사용되었으면, 과거 표준 라이브러리

#include <iostream> 으로 사용되었으면, 새로운 표준 라이브러리 로 통용된다.

하지만, 프로그래머가 직접 정의한 헤더파일에서는 .h를 생략하지 않는다.

 

출력

* c언어에서의 출력

printf("%d", number);

 

c++에서의 출력

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

c언어와 다르게 %s, %d와 같이 출력포맷을 지정하지 않아도 적절하게 출력이 이루어진다.

 

"<<"는 연산자 이므로, 연이은 출력이 가능하다.

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

 

줄바꿈

<<std::endl;

<<연산자를 이용한 std::endl;의 출력은 개행을 의미

 

이 연산자들이 무엇을 의미하고, 자료형을 어떻게 적절하게 지정하는지는 훗날 설명하도록 한다. 

 

입력

*c언어에서의 입력

scanf("%d", &number);

 

c++에서의 입력

int number;

std::cin>>number;

">>"와 std::cin을 사용한다. 

키보드로 부터 입력을 받아 변수에 저장한다는 의미이다. 

출력과 마찬가지로 별도의 포맷지정이 필요없다.

 

">>"또한 연산자이다.

    int A, B;
    std::cin >> A >> B;

가능함.

이 때, 입력시 데이터간 경계는 Tab, spacebar, Enter키 입력과 같은 공백에 의해 나누어진다.

 

참고

C언어는 지역변수의 선언이 항상 제일 먼저 등장해야 하지만, (C언어의 새로운 표준에서는 어디든 삽입이 가능하게 변화하였다)

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

 

 

728x90

'LANGUAGE > C C++' 카테고리의 다른 글

[C/C++] 비트마스크(BitMask)  (0) 2021.09.23
컴파일러 분석  (0) 2021.03.24
[c/c++] 빌드(build)란? + Visual C++  (0) 2020.09.19