달력

12

« 2024/12 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
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
:
Posted by 투잌