2010. 10. 17. 18:46
논리 연산자 계산순서( || && ) / 증감 연산자 공부2010. 10. 17. 18:46
논리 연산자
&& = 둘 다 참일 때 결과도 참
|| = 둘 중 하나가 참일 때 결과도 참
! = 참을 거짓으로, 거짓을 참으로 바꿈.
A=3&&4;
>> 1
>> 0이 아닌 수는 모두 참이므로 참 출력(1)
논리 연산자 || 과 &&의 계산순서
>> &&은 왼쪽이 참이기 때문, 양쪽을 모두 비교해야 하기 때문, 끝까지 연산
>> || 은 왼쪽이 참이라면 오른쪽을 무시하고 바로 결과는 참
A=10 이 선언된 이후 || 논리연산은 왼쪽이 참이라 바로 연산을 마무리해버린다.
오른쪽 A가 초기화 되지 않았기 때문에 A를 출력하면 A=10 이 그대로 출력됨.
&& 논리연산은 양쪽 모두를 비교하여 참, 거짓을 판단하기 때문에 왼쪽, 오른쪽 모두 연산 하게 된다.
오른쪽의 A=5 로 초기화되기 때문에, 새로 A를 출력하면 A=5가 나오는것이 확인된다.
★ 단... 만약 왼쪽항이 거짓이라면 조건은 무조건 거짓이 되기 때문에,
||과 마찬가지로 오른쪽을 무시하게 됨. 유의하세요.
증감 연산자
전치형 : 증감을 먼저 한후에, 연산한다.
B=++A
계산을 풀어쓰면
1. A=A+1 (A를 먼저 증감시키고)
2. B=A (증감시킨 값을 B에 대입[연산]한다.)
ex) int A=10;
printf("결과 : %d", ++A);
실행시 A의 값을 먼저 증감시킨 후에 %d에 대입(연산)시킨다.
결과 : 11 출력
후치형 : 연산을 먼저한 후에 증감한다.
B=A++
계산을 풀어쓰면
1. B=A (A 값을 B에 대입[연산]한다.)
2. A=A+1 (B와는 별개로 A값을 1 증감)
ex) A=10;
printf("%d", A++);
실행시 A의 값을 %d에 먼저 대입(연산) 한 뒤 증감시킨다.
결과 : 10 출력
'공부' 카테고리의 다른 글
포인터와 캐스트 (0) | 2010.10.17 |
---|---|
C언어 / 구구단 소스. (0) | 2010.10.17 |
short 의 최대, 최소값 구하기 (0) | 2010.10.17 |
아스키 코드 / 빠르게 아스키 코드 확인법 Alt + 숫자 (2) | 2010.10.17 |
signed 와 unsigned (0) | 2010.10.17 |