도순씨의 코딩일지
C++ :: 입출력 방식 본문
1. 입출력 방식
C언어는 출력 방식으로 printf 함수를 사용한다. 그렇다면 C++은 어떠한 방식으로 문장을 출력할까?
먼저 다음 코드를 살펴보도록 하자.
@ 코드
1
2
3
4
5
6
7
8
9
10
|
#include <iostream>
int main(void){
int num = 20;
std::cout<<"Hello World!"<<std::endl;
std::cout<<"World!"<<std::endl;
std::cout<<num<<' '<<'A';
std::cout<<' '<<3.14<<std::endl;
return 0;
}
|
cs |
@ 실행 결과
1
2
3
|
Hello World!
World!
20 A 3.14
|
cs |
위의 코드와 결과를 통해서 유추해볼 수 있는 것은 다음과 같다.
1) 헤더파일인 #include <iostream>은 c언어에서 #include <stdio.h>와 비슷한(혹은 똑같은?) 역할을 한다.
2) std::cout<<대상 은 printf와 비슷한 역할을 한다. (단순한 출력 기능)
3) std::endl은 "\n"과 똑같은 역할이다. (자바의 System.out.println와 비슷한 역할이지만 문장 뒤에 붙는다는 차이점이 있다.)
그렇다면 입력은 어떤 방식으로 이루어질까? 다음 코드를 통해서 살펴보도록 하자. 덧셈 결과를 표시하는 간단한 코드이다.
@ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <iostream>
int main(void){
int val1;
std::cout<<"첫 번째 숫자 입력: ";
std::cin>>val1;
int val2;
std::cout<<"두 번째 숫자 입력: ";
std::cin>>val2;
int result = val1 + val2;
std::cout<<"덧셈 결과: "<<result<<std::endl;
return 0;
}
|
cs |
@ 실행 결과
1
2
3
|
첫 번째 숫자 입력: 10
두 번째 숫자 입력: 20
덧셈 결과: 30
|
cs |
위 코드에 따르면 입력을 받기 위해서는 'std::cin>>입력 받은 값을 저장할 변수' 의 형식으로 이루어진다.
C언어에서는 데이터의 형식에 따라서 %해당 형식을 달리해주어야 했다. 반면 C++은 그럴 필요가 없다.
1
2
|
char str[100];
std::cin>>str
|
cs |
단순하게 변수명만 명시해주어도 올바른 코드이다.
또한 C언어에서는 지역변수의 선언이 가장 먼저 나왔었다. C++은 자바와 비슷하게 지역변수 선언이 어디에나 가능하다.
코드를 이용하여 더 자세하게 살펴보도록 하자. 다음 코드는 입력받은 두 수 사이의 모든 숫자를 더하는 코드이다.
@ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
int main(void){
int val1, val2;
int result = 0;
std::cout<<"두 개의 숫자 입력: ";
std::cin>>val1>>val2;
if(val1<val2){
for(int i = val1+1 ; i < val2 ; i++)
result += i;
}
else{
for(int i = val2+1 ; i < val1 ; i++)
result +=i;
}
std::cout << "두 수 사이의 정수의 합: " << result << std::endl;
return 0;
}
|
cs |
@ 실행 결과
1
2
|
두 개의 숫자 입력: 0 11
두 수 사이의 정수의 합: 55
|
cs |
위 코드를 통해 알 수 있는 것은 크게 두가지가 있다.
첫째, C언어에서는 for(int num = 0 ; num < 10 ; num++) 와 같은 방법으로 사용하지 않고
1
2
3
|
int i;
for(i = val1+1 ; i < val2 ; i++)
result += i;
|
cs |
와 같은 방식으로 먼저 지역변수를 선언한다.
둘째, 두 변수를 입력받기 위해서는 다음과 같은 형식을 사용하면 된다.
std::cin>> 입력 받고 싶은 변수 1 >> 입력 받고 싶은 변수 2
앞에서 간단하게 배열을 입력하고 출력하는 법을 소개했다. 이번에는 코드로 더 자세하게 살펴보도록 하자.
@ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <iostream>
int main(void){
char name[100];
char lang[200];
std::cout<<"이름은 무엇입니까?: ";
std::cin>>name;
std::cout<<"좋아하는 프로그래밍 언어는 무엇인가요?: ";
std::cin>>lang;
std::cout<<"내 이름은 "<<name<<"입니다.\n";
std::cout<<"제일 좋아하는 언어는 "<<lang<<"입니다"<<std::endl;
return 0;
}
|
cs |
@ 결과
1
2
3
4
|
이름은 무엇입니까?: dosun
좋아하는 프로그래밍 언어는 무엇인가요?: python
내 이름은 dosun입니다.
제일 좋아하는 언어는 python입니다
|
cs |
위의 코드를 통해서 우리는 두 가지 사실을 알 수 있다.
첫째, "\n"은 std::endl과 같은 역할을 한다.
둘째, 앞에서 말한 것과 같이 C언어에서는 서식 문자를 통해 입력받는 변수의 형식을 명시해주어야 했다. 하지만 C++에서는 그럴 필요가 없다. 단순하게 변수명만 작성해주면 된다.
'𝐏𝐑𝐎𝐆𝐑𝐀𝐌𝐌𝐈𝐍𝐆 > 𝐂++' 카테고리의 다른 글
C++ :: 캡슐화(Encapsulation) (0) | 2020.08.14 |
---|---|
C++:: 정보은닉(Information Hiding) (0) | 2020.08.14 |
C++ :: C++에서의 파일분할 (0) | 2020.08.13 |
C++ :: 이름공간(namespace) (0) | 2020.07.22 |
C++ :: 함수 오버로딩(Function Overloading) & 매개변수의 디폴트값(Default Value) (0) | 2020.07.22 |