1. C++이 무엇인가
C언어는 절차식으로 작성하기 적합한 프로그래밍 언어고 C++ 언어는 OPP(Object Oriented Programming)객체 지향 프로그래밍)에 적합한 언어
->쉽게 말하자면 C++은 C에 클래스 문법을 추가한 것
>>C++언어 특징
c++은 객체 지향 프로그래밍 언어 따라서 객체 지향 프로그래밍 언어의 공통적인 특징 보유
- 캡슐화
- 상속
- 다형성
>>C++ 프로그래밍 실행 전 준비 단계
visual studio 실행
c언어로 프로젝트 생성할 때랑 똑같은 순서 반복
>>소스 파일->추가->새항목->**소스명.cpp**으로 소스 생성<<
2. C++의 입출력 변수
- iostream 헤더 파일은 C++ 에서 표준 입출력에 필요한 것들을 포함 (c언어의 <stdio.h>로 생각)
c언어 | c++ |
printf | cout |
scanf | cin |
\n | endl |
- cout은 << 연산 뒤에 피 연산자를 표현하면 알아서 출력
- cin은 문자열을 지정할 필요없이 >> 연산 뒤에 변수를 표현하면 알아서 입력
#include <iostream>
int main() {
std::cout << "Hello, my name is subin!" << std::endl;
return 0;
}
이때, std: C++ 표준 라이브러리의 모든 함수, 객체 등이 정의된 이름 공간(namespace)
std::를 붙이는 것이 번거로우면
using namespace std; 명시 필요
#include <iostream>
using namespace std;
int main() {
cout << "Hello, my name is subin!" << endl;
return 0;
}
위 두 예시는 모두 같은 결과 도출
3. C++의 연산자
(1) 대입 연산자(=)
같다라는 의미가 아닌 대입한다는 의미
int num1=123 //num1에 123을 대입한다
이때 대입 연산은 우측부터 단계적으로 대입된다
num0=num1=num2=num3=100
num3에 100이 대입되고
num2에 num3(=100)이 대입되고
num1에 num2(=num3=100)이 대입되고
num0에 num1(=num2=num3=100)이 대입됨
(2) 사칙 연산자
+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지값
int a=100+200; //이때 a의 값은 300
int b=200-100; //이때 b의 값은 100
int c=4*2; //이때 c의 값은 8
int d=6/3; //이때 d의 값은 2
int e=5%2; //이때 e의 값은 1
사칙 연산자와 대입연산자 결합 가능
a+=123; // a=a+123과 동일 즉 기존 a값에 123을 더한 값이 a값이 된다는 뜻
(3) 증감 연산자
++(변수에 1 더하기)
--(변수에 1 빼기)
int a=2;
++a;
a++;
//2번째줄 코드와 3번째줄 코드 모두 기존 a에 +1한 값
전위 연산자와 후위 연산자로 나뉜다
>>전위 연산자: 다른 연산들에 앞서 증감 후 다른 연산 처리
>>후위 연산자: 다른 연산들을 미리 처리 후 증감 처리
전위 연산자 예시
int a=2;
a=++a*200; //a에 1을 더해서 3이 되고 3*200한 결과인 600이 a가 반환
후위 연산자 예시
int a=2;
a=a++*100; //a=2였고 a*100이 되어 200이 된다 후에 후위 연산자로 인해 +1을 해주어 201이 된다
(4) 관계연산자
변수 bool을 이용하여 저장 가능 관계연산자는 두 값을 비교한 후 참이면 1(true) 거짓이면 0(false)를 반환
== | 같으면 1 다르면 0 반환 |
!= | 다르면 1, 같으면 0 반환 |
> | 좌변이 크면 1, 작으면 0 반환 |
< | 우변이 크면 1, 작으면 0 반환 |
>= | 좌변이 크거나 같으면 1, 작으면 0 반환 |
<= | 우변이 크거나 같으면 1, 작으면 0 반환 |
(5) 논리연산자
관계연산자의 결과로 반환된 논리값(참, 거짓)을 처리하는 연산자
&& (and 연산자) //조건이 모두 true면 1(=true) 반환, 하나라도 false면 0(=false) 반환
|| ((or 연산자) // 조건 중 하나만 true여도 1(=true) 반환, 둘 다 false면 0(=false) 반환
!(not 연산자) // 참이면 0(=false) 반환, 거짓이면 0(=true) 반환=>논리값을 반전
(6) 연산자 우선 순위
(7) 비트 연산자
'c++' 카테고리의 다른 글
6주차-객체 배열, 동적 메모리 할당, 객체 배열 동적 생성, this 포인터 (0) | 2020.06.08 |
---|---|
5주차 - 접근 지정자, 인라인 함수, 헤더, 객체 포인터 (0) | 2020.05.31 |
3주차-포인터 (0) | 2020.04.03 |
c++ 2주차(조건문, 반복문, 배열) (0) | 2020.04.01 |