책 내용 질문하기
합격전략집 질문입니다!
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
0
조회수
295
작성일
2020-06-25
작성자
탈퇴*원

안녕하세요~~ 이번에 올려주신 합격전략집 열심히 보고있습니다 감사합니다ㅎㅎ

그러던 중에 문제를 풀고 해설을 보다가 궁금한 부분이 생겨서 질문드립니당!!

 

합격전략집 2일차의 p.7의 2번 문제에서

q = d % b + ++a * c— || c - —a >= 10; 부분이 궁금합니다

 

첨부된 사진이 제가 푼 방법입니다

여기서 궁금한 부분은

 1. *가 %보다 연산자 우선순위가 높지 않은지와

2.  2번에서 c는 후치연산으로 연산에 c=5로 사용된 후 c=4가 되어야 한다고 생각해서

7번에서 c=4, a=3으로 4-3=1이 되는게 아닌가용??ㅠㅠㅠ

 

번거로우시겠지만 저 부분이 잘 이해가 안되서... 자세한 설명 부탁드립니다ㅠㅠㅠ

감사합니다

답변
2020-06-26 11:11:29

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

 

실기 교재 54쪽의 우선순위표를 참고해주세요.

 

[1]

산술 연산자 * / %는 동위 입니다. 3 연산자의 우선순위는 존재하지 않으며 같이 사용된 경우 결합규칙에 따라 왼쪽부터 오른쪽으로 연산됩니다.

 

[2]

예, C언어에서는 전치 후치 연산을 할 때, 해당 식에 사용되는 모든 전치연산자가 식 수행 전에 전부 연산되고, 해당 식이 종료된 이후 모든 후치연산자가 연산됩니다.

즉 1번에 해당하는 --a, 3번에 해당하는 ++a가 식 계산 전에 수행되어 a는 결국 원래 값인 3이 연산에 사용되고, 2번에 해당하는 c--는 식 계산 후에 수행되어 원래 값이 5가 연산에 사용되게 되죠.

 

행복한 하루되세요 :)

  • 관리자
    2020-06-26 11:11:29

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

     

    실기 교재 54쪽의 우선순위표를 참고해주세요.

     

    [1]

    산술 연산자 * / %는 동위 입니다. 3 연산자의 우선순위는 존재하지 않으며 같이 사용된 경우 결합규칙에 따라 왼쪽부터 오른쪽으로 연산됩니다.

     

    [2]

    예, C언어에서는 전치 후치 연산을 할 때, 해당 식에 사용되는 모든 전치연산자가 식 수행 전에 전부 연산되고, 해당 식이 종료된 이후 모든 후치연산자가 연산됩니다.

    즉 1번에 해당하는 --a, 3번에 해당하는 ++a가 식 계산 전에 수행되어 a는 결국 원래 값인 3이 연산에 사용되고, 2번에 해당하는 c--는 식 계산 후에 수행되어 원래 값이 5가 연산에 사용되게 되죠.

     

    행복한 하루되세요 :)

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