switch(N)
{
        case N1:
                ~
                break;
        case N2:
                ~
                break;
.
.
.
        case Nn:
                ~
                break;
        default:
                ~
}

흐름이 switch에 도달하면 N의 값과 같은 Ni의 값을 찾는다. (i = 1, 2, ... , n)
(단, Ni는 상수이다.)
그리고 흐름은 'case Ni:' 의 바로 뒤의 위치로 간다.
그러다가 다음 case문인 'caseN(i+1):' 을 만나면 그 바로 뒤로 간다.
하지만 'break'를 만나면 switch(){} 의 바로 다음 위치로 탈출한다.

모든 case에 해당되지 않는 경우 default로 이동한다. 하지만 default 역시 break가 내장되어 있는 것은 아니다. 그러나 마지막에 위치한다면 break문은 필요하지 않다.

대부분 switch/case문을 어느 하나의 경우만을 실행하는 데 쓴다. 그게 일반적이다. 하지만 어떻게 다르게 이용해볼 수도 있을 것이다.

참고/ case, default과 같은 것과 그에 해당하는 실행코드 부분 합쳐 블럭이라고 한다...(?)
Posted by 망고스파게티 :


if(X){~} : X의 값이 0이 아니면 '~'를 실행한다. 0이면 실행하지 않는다.

else {~} : 같은 중괄호 깊이(안)에 존재하는, 마지막으로 시행된 if문의 조건의 여집합 조건을 가진 if문과 똑같다.

else if(X){~} : else { if(X){~} }와 같다. 나같으면 차라리 안쓰겠다. 쓸데없이 따로 얘기해가지고. 어떤 병신이... 차라리 비축약형을 먼저 설명하고 그 축약형을 소개하던가.

위 세 가지 모두, ~가 한문장일 경우 {}를 벗겨도 무방하다.

Posted by 망고스파게티 :

//연산자의 의미
연산자는 피연산자와 결합하여 어떤 값이 되거나, 어떤 현상을 일으킨다.


//연산자의 대분류 : 피연산자에 영향을 주느냐 주지 않느냐, 그 자체가 하나의 값이 될 수 있느냐 없느냐, 즉 크게는 3가지로 나뉜다.

결합된 식이 어떤 값을 나타내는 연산자를 결합형 연산자, 피연산자에 영향을 주는 연산자를 촉매형 연산자라 한다. (!?)
(그냥 내가 비유한 작명이다.)
결합형이면서도 촉매형인 경우가 대입연산자... 인가?


// 연산자의 종류 [기본적인 연산자라 할 수 있겠다. 키워드를 제외하고 라이브러리 객체를 제외한, 그리고 기타 등등을 제외한.]
1. 대입연산자
2. 관계연산자, 논리연산자
3. 비트 단위 연산자
4. 쉬프트 연산자
5. 사칙연산자

// 연산자의 결합 우선 순위
부록을 봐라.


// 비트 단위 연산자
AND : &             OR : |             XOR : ^             NOT : ~
(두 개의 피연산자를 요구하는 비트 단위 연산에서 두 개의 피연산자는 같은 비트수를 가져야 한다. 당연한 이야기이다.)

이항 비트 연산자의 경우, 같은 위치의 비트들을 각각 비교한다. 
AND는 곱의 결과와 같다.[앤드]
OR은 둘 다 0인 위치는 0, 그렇지 않은 위치는 1이다.[오알]
XOR은 값이 서로 같은 위치는 0, 값이 서로 다른 위치는 1이다. [엑스오알]
NOT은 1은 0, 0은 1이다.[낫]
위의 개념들을 각각 하나의 유개념(이미 존재하는 개념, 개념의 단위, ...)으로 숙지하도록 하자. 컴퓨터에서 그 만큼 중요한 것들일 것이다.

// 쉬프트 연산자
피연산자의 오른쪽에 '>>' 또는 '<<'를 붙이고 그 오른쪽에 수를 덧붙인다.
피연산자의 비트들에 들어있는 값들은 그 수만큼 옆으로 이동한다.
비트열의 끝 칸을 지나면 반대편 끝 칸으로 이동한다.
'>>'일 경우 오른쪽, '<<'일 경우 왼쪽으로 이동한다.
쉬프트 연산자는 피연산자에 영향을 주지 않는다.

'X << N'는 X를 왼쪽으로 N번 쉬프트한 결과를 나타낸다.
'X >> N'는 X를 오른쪽으로 N번 쉬프트한 결과를 나타낸다.
'1번 쉬프트한다' : 모든 비트들에 들어있는 값들을 어떤 방향으로 한 비트 간격씩 이동시킨다. 옮길 비트 공간이 남지 않은 경우 값이 비게 될 자리로 옮긴다.

(두 번 설명하였다)
Posted by 망고스파게티 :