복습하기~
#include <iostream> //전처리 지시자
using namespace std;
int main(){
cout<<"Hello World!"<<endl;
return 0;
}
<C++>
-c++에서 함수를 사용하려면 반드시 그 함수의 원형을 미리 정의해야 함
-cout같은 애들은 전처리 지시자 통해 정의됨
-f12눌러 확인해보면 std이름을 가지고 정의되어있기 때문에 매번 std::cout처럼 써줄 게 아니면 using namespace std; 해주기
-종결자: ;
-반드시 main 이름의 함수 존재하여야
-endl: 줄바꿈
-꺾쇠는 데이터의 흐름처럼 이해하기
-주석: //, /**/
<변수의 선언과 규칙>
1. 변수의 자료형
2. 변수 이름
int 7aa;
int return;
int aa aa;
<자료형>
#include <climits>
를 통해 f12누르면 상수 정의된 것 확인 가능하고
int a=INT_MAX;
cout << size of a << endl;
cout << a << endl;
size of: 자료형의 크기
INT_MAX 등을 통해서는 최댓값 출력 가능(f12로 확인 가능)
-지원하는 범위가 아닌 경우
unsigned short b=-1;
cout<<b<<endl;
65535가 출력됨(최댓값)
int a=77;
char b=a;
cout << b <<endl;
M 출력 (아스키코드 77)
char b = 'a';
char b = "a"; //error
작은 문자열 -> 작은 따옴표 ('')
큰 문자열 -> 큰 따옴표("")
인데 c++에서는 char형에 큰 따옴표 사용 불가능
-> NULL 문자 때문
-c++에서는 문자를 출력 시 결국 정수로 저장되는데, 문자 출력 시 어디까지가 문자인 것인지 확인을 할 필요가 있음
-char형은 한 단어만 출력하기 때문에 출력시 b가 출력되고 return 0;로 넘어가지만
-문자열을 출력하고자 할 때는 어디까지가 문자인지 표시해주는 null이 \0으로 표현이 되고, '\0'을 만나면 출력을 멈춤
예를 들어
char b[] ={'a', 'b', 'c'};
출력: abc%*&^
->null문자를 넣어주지 않았으므로 계속 의미 없는 메모리를 들어 null문자를 만날 때까지 반복하다 출력
그렇다면,
char b = {'a', 'b', 'c', '\0'};
출력: abc
->""큰 따옴표를 사용하면 명시적으로 null문자를 포함하게 되므로 char형에 담길 수 없다 -> error!
-> 문자열은 string 사용
+한글 사용 시 string도 가능
bool a=0;
bool b=1;
bool c=10;
cout << a << b << c << endl;
출력: 0 1 1
<const 제한자와 데이터형 변환>
const float PIE = 3.1415926535;
//c에서는 define PIE = 3.141592;
선언하면서 반드시 초기화 해주어야 함
-형변환
크기가 큰 변수 -> 작은 변수로 형변환
**C++
static_cast<typeName>
강제 형변환
<산술연산자 & auto>
+, - , * , /, % 존재
나머지에서 실수(소수점) 사용할 수 없음
-c++은 일반적인 연산 순서 따름
int a=10;
int b=3;
int c=5;
int op = a+b*c;
cout << op << endl;
출력: 25
+곱셈, 나눗셈 연산은 왼->오로 가지만 하면서 찾아보자
auto n= 100;
auto x= 1.5;
auto y= 1.3e12L;
n: int
x: float
y: long long
으로 자동으로 해 주나.. 그냥 내가 설정해주는 게 오류가 없을 것
->형 변환 시 error 발생 가능
(복잡한 연산 시 사용하는데 강의 뒷부분에)
------------------------------Reference
-데이터형 목록 사진
https://myblog.opendocs.co.kr/archives/1230
-강의
https://www.inflearn.com/course/%ED%95%98%EB%A3%A8-10%EB%B6%84-%EC%94%A8%EC%81%A0%EC%81%A0/dashboard