본문 바로가기

C++20

[C++] 조건문 if/else 구문 if() { ... } ( ) 안이 참일때 { } 이 실행된다. int data = 0; if( 100 && 200) { data = 100; } 100 && 200이 참이므로 { } 이 실행된다. 따라서 data는 100이 된다. 즉 if 문을 실행하면 data는 100이 되고, 실행하지 않은 상태에서 data는 0이다. ※ if else문은 사용자의 행동에 따라 수행 결과가 가변적일 때 주로 사용한다. (사용자의 반응에 맞춤) if else if() { //참일 경우 }else { //거짓일 경우 } ( ) 가 참일 경우 if문이 실행되고 참이 아닐 경우 else문이 실행된다. if .. else if .. else if... else if () { ... }else if( ){ .. 2023. 1. 6.
7. 논리 연산자 논리 연산자 ( logical operator) ● 참 (true) : 대표 1, 0이 아닌 모든 수 ● 거짓 (false) : 숫자 0을 의미한다. int WhatTrueFalse = true; //1 int WhatTreFalse = false; //0 ※ Bool은 참, 거짓만 다루는 자료형이며, 참/ 거짓을 1과 0으로만 받아들이다. 다른 숫자들도 참으로 인식은 하나, 결과 값은 1로 변환되어 들어간다. 받아들일때는 1만 참이 아니라 0만 아니면 다 참으로 본다. bool Istrue = 100; //1 100이 참이므로 bool은 참이다. 따라서 IsTrue는 1을 결과값으로 갖는다. ● - ! (역, 반전) : 참→ 거짓, 거짓→참 - && (곱, AND 연산자) : 둘 중 하나라도 거짓이면 .. 2023. 1. 6.
6. 증감 연산자 증감 연산자(increment and decrement operator) - 피연산자가 1개뿐이다.(단항 연산자) - 피연산자를 1씩 증가 혹은 감소시킨다. ● ++ ● -- 한단계 증가/감소한다 라는 의미로 기억해두는 것이 좋다! "한단계"라는 의미가 모두에게 같은 의미가 아니기 때문이다. 정수나 실수(기본 숫자 타입) 에서는 1씩 증가 혹은 감소를 의미하겠지만, 포인터에서는 그런 의미가 아니기 때문이다. int data = 0; ++data; //전위(전치) data++; //후위(후치) ++data는 전위 증가 연산자로 연산을 진행한 것이고, data++은 후위 증가 연산자로 연산을 진행한 것이다. ● 후위 연산자 : 모든 연산자의 순서를 통틀어서 가장 나중에 수행된다. (대입 연산자 보다도 늦는다.. 2023. 1. 6.
5. 산술 연산자 ● 연산자(operator) ● 대입 연산자 ( = ) ● 산술 연산자 ( + , -, * , / , % , ++ , -- ) % : 모둘러스, 나머지 연산자 (피연산자가 모두 정수, 실수는 나머지가 없으니까) 실수는 나머지가 없이 소수점이 계속 나오므로 실수끼리 나누면 문법 오류가 발생한다. (나머지 연산할 때 실수가 하나라도 있느면 오류 발생함) int data = 10./3.; data가 정수이므로 3이 나오긴 하나, 데이터 손실 우려 경고 문자가 나온다. int data = (int)10./3.; 명시적으로 형변환 해주자. 또한, ● 실수를 상수로 적을 경우 소수점 뒤에 f를 붙이면 float 자료형으로, f를 붙이지 않으면 double 자료형으로 간주한다. 0.1f - float 자료형 0.1 .. 2023. 1. 4.
4. 실수형 자료형 정수형 자료형과 실수형 자료형을 처리하는 데이터 방식은 완전 다르다. ● 정수형 데이터 표현 방식 : 비트, 한정적인 공간 안에서 2진수로 표현 (표현할 수 있는 경우의 수가 한정적, 숫자의 표현 범위↓) ● 실수형 데이터 표현 방식 : 비트값을 고정하기 어려울 수 있고, 모두 배치시키기 어렵다. → "복동 소수점 방식" 이용 즉 메모리를 다루는 방식 자체가 다르다. (3과 3.0은 완전 다름) int a = 3 + 3.0; 정수 방식 vs 실수 방식 결정해야함. 그러나 a가 정수이기때문에 3.0을 형변환 한다. 따라서 명시적으로 적어주는 것이 좋고, 실수와 정수를 혼용에서 쓰는 경우는 의도한 것이 아니라면 피하자. int a = 3 + (int)3.0; float vs double float는 4byt.. 2023. 1. 4.
3. 정수형 자료형 //1바이트로 양수만 표현 //256가지의 표현 가지 수가 나오며, 0 ~ 255까지 가능 unsigned char c = 0; c = 0; c = 255; //1바이트로 양수, 음수 둘 다 표현 //signed는 생략이 가능하다 //양수와 음수 둘 다 표현이 가능하기 때문에 범위는 256에서 절반씩 줄어든다고 생각하면 된다. // -128 ~ 0 ~ 127 char c1 = 0; c1 = 255; ● signed : 음수, 양수 둘 다 가능 ● unsigned : 양수만 가능 0 양수 1 음수 이 부분을 MSB ( Most significant bit - 가장 중요한 비트, 음수/양수 판별하는 최상위 비트) 라고 한다. 그럼 컴퓨터에서 음수의 계산은 어떻게 할까? 0 0 0 0 0 0 0 1 위의 비트.. 2023. 1. 4.