책 내용 질문하기
연산자
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
0
조회수
307
작성일
2020-09-09
작성자
탈퇴*원

사진에서 ②번에서

1) ++a하고 --a이 같이 있으면 --a일땐 2고 ++a일땐 3인건 알겠는데 

둘다 일단 a의 값을 정한 뒤 같은 값으로 계산하는 거로 이해했는데 맞는 건가요?? 

그렇게 적용했을 때 c--을 했으면 옆의 c도 4로 되는 것 아닌가요?? 

 

 

2) 17 || 0 을 계산하는건 17이 0이 아닌 다른 값이므로 참이고 0은 거짓이니까 참값 1로 나오는 거예요??

이건 어떻게 계산하는 건가요??

 

답변
2020-09-10 13:57:09

안녕하세요 길벗수험서 운영팀입니다.

 

[1]

C언어에서 전치 연산은 식 수행 전에 모두 수행됩니다.

1번과 3번의 ++과 --가 식 수행 전에 모두 수행되어 ++a와 --a는 결국 a의 원래 값이 3으로 연산에 참여되게 됩니다.

후치 연산은 식 수행 후에 모두 수행됩니다.

본래 값인 5를 갖고 연산에 참여한 후 식이 모두 끝나면 1이 감소하여 4가 되는 것이죠.

 

[2]

제대로 계산하셨습니다.

논리연산에서 0이 아닌 값은 모두 참(1)입니다.

때문에 17||0 이나 1||0이나 마찬가지죠.

논리 or연산을 수행하면 참(1)에 해당하니 결과로 1이 나온 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-09-10 13:57:09

    안녕하세요 길벗수험서 운영팀입니다.

     

    [1]

    C언어에서 전치 연산은 식 수행 전에 모두 수행됩니다.

    1번과 3번의 ++과 --가 식 수행 전에 모두 수행되어 ++a와 --a는 결국 a의 원래 값이 3으로 연산에 참여되게 됩니다.

    후치 연산은 식 수행 후에 모두 수행됩니다.

    본래 값인 5를 갖고 연산에 참여한 후 식이 모두 끝나면 1이 감소하여 4가 되는 것이죠.

     

    [2]

    제대로 계산하셨습니다.

    논리연산에서 0이 아닌 값은 모두 참(1)입니다.

    때문에 17||0 이나 1||0이나 마찬가지죠.

    논리 or연산을 수행하면 참(1)에 해당하니 결과로 1이 나온 것입니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.