학부내용 예습/[ 2021 겨울 ] C++

[ C++ ] 1강 2강. C++ 소개와 기본 입출력

haena02 2021. 12. 29. 19:28
반응형

강의는 KOCW에서 지정희 교수님의 강의를 들었다.

 

 < C++ 의 특징 >

- 기존 C언어의 구조 개선 (C와 호환)

- 자료의 추상화 구조 제공

- 객제 지향 설계 및 프로그램을 위한 구조 제공

- 타입 검사 엄격

- 절차지향, 객체지향, 일반화 등 여러 프로그래밍 스타일 제공

 

절차지향 프로그래밍

- 데이터보다는 알고리즘이 중요

- 유지보수 어렵..

 

구조화 프로그래밍

- 무조건적인 점프 없앰

- 데이터와 알고리즘은 분리되어있음

 

객체지향 프로그래밍

-데이터와 알고리즘이 묶여있음

객체 = 데이터(필드) + 알고리즘(메소드)

 

프로그램 작성 과정

에디터

.cpp

컴파일러

.obj

링커

.exe

실행

 

 < C++ 기초 사항>

기본 입출력

 

출력

-iostream include 해야함!

std::cout<<출력대상;  // std 안에 있는 cout객체에 출력대상의 데이터를 보내라
std::cout<<출력대상1<<출력대상2<<출력대상3; // 여러개 가능
std::cout<<1<<'a'<<"String"<<std::endl; // 타입 구분X std::endl는 줄바꿈

std

과거 스타일과 구분하기 위한 위해 사용하는 이름공간 (namespace)

과거에도 cout이 있기때문

 

namespace

 공간에 이름을 주는 행위

동일한 이름을 가진 함수가 있을 때 구별에 용이

#include<iostream>

namespace A_COM{   //  A_COM namespace 정의
	void function(void){
    	std::cout<<"A입니다";
    }
}

namespace B_COM{  //  B_COM namespace 정의
	void function(void){
    	std::cout<<"B입니다";
    }
}

int main(void){
	A_COM::function();  
    B_COM::function();
}  // 함수 이름은 같지만 다른 결과 출력

/*    
A입니다
B입니다
*/

 

::

변수 앞에 붙으면 전역변수 의미

 

using 구문

- using namespace :: function 

namespace를 function 으로 부르겠다

- using namespace std

앞으로 공간정보가 없다면 std 것이다

 

cout의 조작연산자

<iomanip>

-setw : 필드의 폭 설정 (1회용)

- setfill : 공백을 특정 문자로 지정

- setprecision : 소수점 이하 자리수 설정

- left, right : 왼쪽, 오른쪽 정렬

- showpoint : 0포함 소수점 출력

- oct, hex : 8,16진수 출력

 

setw 사용 예시

for (int i=1;i<=1000; i*=10)
	cout << setw(6) <<i<<endl;
    
/*    
     1
    10
  1000
*/

 

 

 

입력

cin>>입력변수; // 입력변수에 넣어줘야하기 때문에 cout 과 > 방향이 다름
cin>>입력변수1>>입력변수2; // 여러개 가능, 공백으로 구분
cin>>val1;

문자열 입력(공백X)

<string> include 하고 int 와 같이 사용

 

문자열 입력(공백O)

getline(cin,변수)

#include<string> // string을 사용하기 위해 선언

string mystr;
getline(cin,mystr); // 엔터를 만날때까지 입력받음
cout<<mystr;  // 출력

stringstream

<sstream> 선언

 

문자열을 숫자값으로 변환

stringstream(문자열)>>변수

strint mystr;
float price
int q;
stringstream(mystr)>>price;  //문자열을 float로 변환
stringstream(mystr)>>q;  //문자열을 int로 변환

문자열 골라내기

string mystr  
getline(cin,mystr)
stringstream ss;  // 객체선언
ss.str(mystr)  //str()함수 사용
string str;  //임시 변수 생성
while(ss>str) // 모두 출력하기 위해 while문 사용
	cout<<str<<endl;
반응형