Programming Language/C,C++

C,C++] printf, scanf와 cin, cout

TwinParadox 2015. 2. 17. 00:56
728x90

C, C++ 카테고리에 포스팅하기 앞서,


제가 주로 사용하는 입출력방식은 cin, cout이기 때문에


이 부분에 대해서 자세히 짚고 넘어갈 필요가 있다고 생각해서


첫 포스팅은 입출력방식에 대해 논해보도록 하겠습니다.


먼저 C에서의 입출력방식은 printf, scanf가 기본입니다.



#include <stdio.h>

int main(void)

{

scanf("%d",&n1); "n1자리에 10진수의 정수로 된 형식의 값으로 입력하라."

printf("%d",n1); "n1자리에 있는 값을 10진수의 정수로 된 형식의 값으로 출력하라."

}




printf와 scanf는 각각 출력함수, 입력함수이며, stdio 헤더파일을 사용합니다.


괄호안에 사용된 기호들은 다음과 같은 뜻을 의미합니다.


먼저 "%d"는 10진수의 정수로 입출력형식에 대한 부분이며, 다음과 같은 형식들이 있습니다.


1. %d : 10진수로 출력 정수형 
2. %f : 실수형
3. %e : 지수형
4. %o : 8진수로 출력 
5. %x : 16진수로 출력 
6. %u : 부호없는 10진수로 출력 
7. %g : 실수형으로 자동 출력
8. %p : 포인터의 주소를 출력
9. %c : 하나의 문자로 출력 문자형 
10. %s : 문자열을 출력


scanf에 사용된 &n1은 n1이라는 주소에 해당값을 입력하라는 뜻입니다.


따라서, &는 주소값을 지시해주며, 입력 시에 사용합니다.




구조를 이해하기 위해서나, 처음 시작을 C로 하는 경우 printf와 scanf를 계속 사용하지만,


극초반 프로그래밍시작 단계에서 입출력보다 다른 부분에 초점을 두는 경우


C++로 접근하여 cin, cout을 가르치는 경우도 있습니다.




cin과 cout은 위 두 입출력함수와 다른 방식으로 입출력을 합니다.



#include <iostream>

using namespace std;

int main(void)

{

cin>>n; "n에 값을 입력해라."

cout<<n; "n에 있는 값을 출력해라."

}



cin, cout은 scanf, printf와는 달리 입출력되는 형식에 대한 부분이 존재하지 않으며,


처음 변수가 선언될 때의 형식을 따릅니다.


cin, cout은 iostream 헤더파일을 사용하며, C++의 표준라이브러리인 cin, cout을 사용하기 위해서는 'using namespace std;'가 빠지지 않아야합니다.




p,s)


Visual Studio C++ 6.0에서는 '#include <iostream.h>'가 호환되면서,

'using namespace std;' 없이 라이브러리를 사용할 수 있었으나,

더 이상은 지원되지 않기 때문에 본인의 프로그램이 호환하는지 확인해볼 필요가 있습니다.

저는 Visual studio 2013을 사용하고 있습니다.


728x90