반응형

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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기