C++

dbswjd·2023년 3월 8일
0

c++

목록 보기
1/5

복습하기~

#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;
  • c++ 사용 키워드 x
int return;
  • white space 사용x
int aa aa;
  1. 변수 저장 메모리 영역
    -컴파일러가 알아서 지정해주는데 주소값 확인 연산자: $

<자료형>

  • 자료형 크기 확인
#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형
    -0또는 1로만 저장
    -0이외의 모든 값은 1로 저장됨
bool a=0;
bool b=1;
bool c=10;
cout << a << b << c << endl;

출력: 0 1 1

<const 제한자와 데이터형 변환>

  • 상수 정의
    -바뀔 필요 없는 & 바뀌어서는 안 되는 수
    c++
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
    c++만의 변수형, 데이터형을 auto로 하면 c++이 자동으로 데이터형 맞춰줌
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

0개의 댓글