C++공부를 시작합니다
열혈 C++은 C언어 기반으로 시작합니다
문자열 "Hello World"의 출력
1. #include <iostream>
C언어에서의 <stdio.h>와 비슷한 개념으로 C++에서 입출력에 관련된 일을 하기 위해서는 이 헤더파일 선언을 추가해야합니다
C++의 표준 헤더파일의 선언에는 확장자를 생략하기로 약속되어있습니다
2. std::cout와 <<연산자를 이용한 출력
std::cout<< '출력대상';
'출력대상'의 위치에는 무엇이든 올수 있으며 정수,실수 문자열, 변수도 올수 있습니다
C언어의 printf함수와 달리 서식문자를 이용해서 별도의 출력포맷을 지정하지 않아도
데이터의 성격에 따라 알아서 적절한 출력이 이루어집니다
3.<<연산자를 이용한 출력대상의 연이은 표현과 개행
std::cout <<'출력대상1'<<'출력대상2'<<'출력대상3'
위 그림의 7,8,9,행에서는 다음의 형태로 출력을 요구합니다.
9행의 의미하는 것은
'공백을 출력하고 이어서 3.14를 출력하고 std::endl을 출력하라'
여기서 <<연산자를 이용한 std::endl의 의미하는 바는 개행을 의미합니다.
scanf를 대신하는 데이터의 입력
1.데이터의 입력에 사용되는 std::cin과 >> 연산자
위의 그림에 보이듯이 키보드로부터 데이터 입력을 위해서는 다음의 형식을 취하면 됩니다
std::cin >>'변수';
9행에서와 같이 std::cin>>val1; 별도의 입력포맷을 설정하지않았습니다.
즉 C++에서는 데이터의 입력도 출력과 마찬가지로 별도의 포맷지정이 필요없습니다.
문자열 입력도
char str[100];
std::cin>>str;
이렇게만 적으면 됩니다.
2.C++의 지역변수 선언
C언어와 달리 C++의 지역변수 선언은 함수 내 어디든 삽입이 가능합니다.
(참고로 C언어도 새로운 표준에서는 변수선언의 위치에 제한을 두지 않습니다.)
따라서 위 그림의 11행과 15행의 변수선언은 유효합니다.
지역변수 선언에 관한 예제를 더 보도록 합시다.
다음 예제는 두 개의 정수를 입력받아서 그 사이에 존재하는 정수들의 합을 계산하여 출력하는 프로그램입니다.
위 그림의 8행을 통해서 다음의 구조로 연속적인 데이터의 입력을 요구할 수 있다는 사실도 알 수 있습니다.
std::cin>>'변수'>>'변수2';
첫번째 입력하는 정수가 변수1에 두번째로 입력되는 정수가 변수2에 저장됩니다.
두 입력 간의 경계는 탭 , 스페이스바, 엔터 키와 같은 공백에 의해 나눠집니다.
이어서 12행과 17행을 통해서
for문의 초기화 문장 내에서 변수 선언이 가능함도 알 수 있습니다.
int num;
for(num=0;num<10;num++){...}이
다음과 같이 한줄로 선언 가능합니다.
for(int num=0;num<10;num++){...}
배열 기반의 문자열 입출력
지금까지 배웠던 출력과 입력을 가지고 배열기반의 문자열 출력과 입력을 다뤄보았습니다.
오늘은 여기까지입니다
이제 문제를 풀어보겠습니다
문제1
사용자로부터 총 5개의 정수를 입력받아서 그 합을 출력하는 프로그램을 작성해보자.
코드 및 결과
문제 2
프로그램 사용자로부터 이름과 전화번호를 문자열의 형태로 입력받아서 입력받은 데이터 그대로 출력하는 프로그램을 작성해보자
코드 및 결과
문제 3
숫자를 하나 입력받아서 그 숫자에 해당하는 구구단을 출력하는 프로그램을 작성해보자
코드 및 결과
문제 4
판매원들의 급여 계산 프로그램을 작성해보자 이회사는 모든 판매원에게 매달 50만원의 기본급여와 물품 판매 가격의 12%에 해당 하는 돈을 지급한다. -급여의 계산은 1이 입력될 때까지 계속 되어야한다
코드 및 결과
읽어주셔서 감사합니다
'Language > C++' 카테고리의 다른 글
[BAEKJOON]1789 수들의 합 (0) | 2018.01.02 |
---|---|
[BAEKJOON]2530 인공지능 시계 (0) | 2018.01.02 |
[BAEKJOON]2588 곱셈 (0) | 2018.01.02 |
[BAEKJOON]2163 초콜렛 자르기 (0) | 2018.01.02 |
[Baekjoon]10156 과자 (0) | 2018.01.02 |