본문 바로가기

assortrock

c++ 2일차

조건문

 

if, else if, else

구문

if(조건문)
{
	구문 ;
}

-> 조건문이 참이면 구문을 실행

 

if(조건문1)
{
	구문1 ;
} else if ( 조건문2 )
{
	구문2 ;
} else if ( 조건문3 )
{
	구문3 ;
}
.
.
.

-> if 조건문 1이 참이면 구문 1을 실행 이후 나머지 무시( 해당 if 구문 종료)

-> 조건문이 거짓이면 그 아래 else if 조건문 참/ 거짓 구분

-> 어느 조건이 참이면 나머지 무시(해당 if 구문 종료) 또한 어떠한 조건문도 참이 아닐 시 해당 구문 종료

 

if(조건문 1)
{
	구문 1 ;
} else if (조건문 2)
{
	구문 2 ;
}
.
.
.
else if (조건문 n)
{
	구문 n ;
} else
{
	구문(end) ;
}

-> 모든 조건문이 거짓일 때 else 의 구문(end) 실행 이후 if 구문 종료

 

 

switch case

구문

switch (조건)
{
	case [1] :
		구문 1 ;
	case [2] :
		구문 2 ;
.
.
.
}

-> switch 의 조건를 위에서부터 case 별로 비교하여 만족하는 각 case [n]의 구문을 실행한다. ( 조건과 [n]의 n 모두 정수를 사용해야 한다.

-> 모든 case가 조건에 부합하지 않을 시 switch 문을 종료한다.

 

switch (조건)
{
	case [1] :
		구문 1 ;
		break ;
	case [2] :
		구문 2 ;
		break ;
.
.
.
	default :
		구문(end)
}

-> 구문이 실행되면 해당 케이스 내의 break가 switch 문을 종료시킨다.

-> 구문이 실행 되었는데 해당 케이스 내에 break 가 없다면 다음 case로 넘어간다. ( 이렇게 break 가 없어서 연속으로 조건을 비교하는 과정을 거칠때 case를 묶는다고 말한다.)

-> 모든 case 가 조건과 부합하지 않느다면 default 의 구문을 실행하고 switch 문을 종료한다.

 

연산자

 

- 대입연산자

int 변수 = 값;

에서 ' = ' 에 해당

 

- 산술연산자

+, -, *(곱), /(나눗셈의 몫), %(나눗셈의 나머지)

 

- 비교연산자

== (같다), != (다르다), <, >, <=, >=

 

- 증감연산자

++, -- (변수의 앞이나 뒤에 오며 해당 변수에 대해 1을 더하거나 뺀다) ( 후위 증감연산자는 모든 연산자 중에서 가장 순위가 낮다. 반면 전위 증감 연산자는 가장 순위가 높다.)

 

- 논리 연산자

(조건) || (조건) : or , 두 조건 중에서 하나만 참이어도 참을 반환, 좌측 조건부터 연산하므로 좌측 조건이 참이면 우측조건 연산 하지 않음.

(조건) && (조건) : and, 두 조건 모두 참이어야 참을 반환( 하나만 거짓이어도 거짓을 반환). 좌측 조건부터 연산하므로 촤즉조건이 거짓이면 우측 조건 연산하지 않음.

!(조건) : 조건을 반전시킴. (* 0을 반전시키면 1)

 

- 복합 대입연산자

+=, -=, *=, /=, %=, &=, ^=, |= : (A += B) == ( A = A + B ), (나머지 복합 대입연산자 구조도 이와 동일)

 

- 비트 연산자

>>, << ( 왼쪽으로 비트를 미는 경우, 전체적으로 왼쪽으로 n 칸씩 옮기고 우측을 0으로 채운다. 최좌측에 있다가 밀린 비트는 삭제) :  특정방향으로 비트를 민다.

~ : 1의 보수(전 비트를 반전 시킨다).

& : 비트곱, 각 비트의 자리끼리 && 연산을 진행한다.

| : 비트합.

^ : 비트 XOR ( 같으면 0, 다르면 1)

(* 비트 연산자 사용 예시: 하 캐릭터의 여러 중첩된 상태에 대해서 하나의 변수의 각 비트에 그 상태를 기록해 놓을 수 있는 경우. 이때 전처리기 사용: 16진수로 비트의 위치를 정함)

(* 전처리기예시 : # define Att = 0x01; )

(* 비트 합으로 상태를 비트에 저장, 비트 곱으로 상태 여부를 확인.)

(* 상태 변수에서 특정 비트를 빼는 방법 : CharState &= ~ATT. (이때 CharState는 상태를 비트에 저장하는 변수, ATT 는 변수의 한 비트 자리를 사용할 상태))

 

 

* 주의점

- 자료형은 보통 전처리기로 처리하지 않는다. 빌드 과정에서 문제가 생길 수 있기 때문. ( #define INT int (x) / typedof int MYTYPE (o))

- 연산자 사이에는 우선 순위가 존재한다.

- 중단점은 해당 줄의 직전의 상태까지를 실행 시킨다.( 이후 f10 으로 해당 줄까지 실행)

- 정수의 나눗셈에서는 몫과 나머지가 존재하지만 실수의 나눗셈에서는 몫만이 존재한다.( 실수 자료형에서는 %연산자를 사용할 수 없다)

- 런타임 오류가 없게 하는 것이 좋다.

- 자료형 bool(1byte)는 0또는 1만 저장된다.

 

'assortrock' 카테고리의 다른 글

c++ 6일차  (0) 2022.05.18
c++ 5일차  (1) 2022.05.15
c++ 4일차  (0) 2022.05.15
c++ 3일차  (0) 2022.05.12
c++ 1일차  (1) 2022.05.11