책 내용 질문하기
계산 순서에 관한 질문입니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
63
조회수
100
작성일
2017-03-28
작성자
탈퇴*원
첨부파일

1권 알고리즘

p.63의 문제6번에 관한 질문입니다.

쭉 풀이를 해보면 답지해설과 같이 마지막부분까지 0 || 1 && 1 으로 잘 나옵니다.

그런데 여기서 해설의 논리연산자의 풀이순서가 이해가 안됩니다.

p.60에 나와있는 연산자 우선순위에 보면 논리 연산자인 && 과 ||가 나왔을때는

결합규칙이 ->방향으로 왼쪽에서 오른쪽 방향이라고 설명되어있습니다.

그런데 왜 답지는 오른쪽에서 왼쪽으로 풀이가 되어있는지 이해가 되지 않습니다.

제가 잘못 공부한건가요? ㅠㅠ

---------------------------------------

2번째 질문입니다.

1권 알고리즘 p.64의 하단의 C언어코드에서

for(int i =1;i<=a;++i) 라고 나와있는데요. 플로차트를 보면 i를 a까지 1씩 증가시킨다으로 나왔있어서

저는 i = i + 1의미인 i++ 이 와야된다고 생각하는데요 ㅠㅠㅠ

제가 잘못 이해한건가요?아니면 둘다 맞는건가요?오류인가요?ㅠㅠ

____________________________________________________________________-

p.152 에서 9번에

교재는 k += j * L; 라고 나와있는데요

k += j *= L; 이렇게 쓰면 틀린 답인가요? 왜 교재는 = 가 빠진건가용??

+) 여러 수험자의 질문에 답하느라 수고가 많으십니다. 오늘도 좋은하루되세요~!^^

답변
2017-03-29 10:09:49

안녕하세요.

논리 연산자의 경우 &&가 먼저이고 ||가 나중입니다.

60쪽 우선순위 표를 볼 때는 행이 다르게 표시된 것은 위쪽이 우선이라 아래쪽이 나중입니다.

같은 행에 나열된 경우에는 결합규칙에 따라 진행됩니다.

또한 반복문에서 증가값으로 사용될 때 ++i나 i++이나 1만 증가하는 것이므로 동일합니다.

k += j * L; 는 k = k + (j*L)과 같습니다.

k += j *= L;는 k = (k + (j = j * L)과 같습니다. 중간에 j에 저장하는 과정이 있는데

이와 같이 작성하지 않고 윗줄과 같이 작성합니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-03-29 10:09:49

    안녕하세요.

    논리 연산자의 경우 &&가 먼저이고 ||가 나중입니다.

    60쪽 우선순위 표를 볼 때는 행이 다르게 표시된 것은 위쪽이 우선이라 아래쪽이 나중입니다.

    같은 행에 나열된 경우에는 결합규칙에 따라 진행됩니다.

    또한 반복문에서 증가값으로 사용될 때 ++i나 i++이나 1만 증가하는 것이므로 동일합니다.

    k += j * L; 는 k = k + (j*L)과 같습니다.

    k += j *= L;는 k = (k + (j = j * L)과 같습니다. 중간에 j에 저장하는 과정이 있는데

    이와 같이 작성하지 않고 윗줄과 같이 작성합니다.

    오늘도 즐거운 하루 되세요.

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