105쪽 문제 10 )
a = 20 % 11 / 3 * 5 -b; 산술연산자 우선순위에 따라 계산하는데
해설집에 (20%11) 나머지 연산부터 나누기 연산 곱하기 연산 순으로 이루어져있어요.
산술연산자 중에서도 우선순위가 * , / , % 순으로 표에 나5와있는데,
같은 순위에 있다고 보고 좌에서 우로 풀어야한다니.. 산술연산자 내에서의 우선순위는 무시해야하는건가요?
혼돈되서요~ 답변부탁드립니다!
108쪽 문제 17번)
d *= 7 - c++; 를 풀어쓰면
d = d*7 - (c++);
d = d*7 - 5;
d = 5*7 - 5;
d = 35 - 5;
d= 30;
답은 10이라고 했는데, 제가 이해한 과정입니다.
어떻게 해서 d* (7-5); 가 되는지 궁금합니다..ㅠ 단항연산자가 우선순위이지만 후치연산이기 때문에
앞에 있는 곱하기 산술 연산부터 해야 하는거 아닌가 생각해서요.,
p.s/ 2017년도에 첫번째 시험 불합격으로 인해 다시 준비 중인데 교재 재구매가 어려워 2017년도 시나공으로 공부하고있습니다. 2017 교재로 공부해도 무방한지요!
안녕하세요. 길벗 수험서 운영팀입니다.
같은 순위에 있다고 보고 좌에서 우로 풀어야한다니.. 산술연산자 내에서의 우선순위는 무시해야하는건가요?
[답변]
아닙니다.
연산자 우선순위(60쪽)에 있는 도표를 잘 보셔야 합니다.
우선순위와 결합규칙 중 우선순위는 먼저 계산해야 함을 의미합니다.
우선순위가 없는 동일한 행에 있는 연산자들끼리는 연산자들끼리의 우선순위는 없으며, 해당 연산자들이 조합되어 있을 때는 결합 규칙의 방향대로 풀이를 한다는 의미입니다.
즉, 단항 연산자는 !, ~, ++, --는 어떤 것을 먼저 수행하는 것이 아닌 오른쪽에서 시작하여 왼쪽으로 연산을 한다는 의미이지요.
a = 20 % 11 / 3 * 5 -b;
에서도 마찬가지로, 우선순위가 높은 연산자를 먼저 풀이한 뒤, 동일한 우선순위에 있는 연산자들은 결합 규칙에 따라 해당하는 방향으로 푸시면 됩니다.
d *= 7 - c++; 풀이
[답변]
a *= b는 a=a*b를 의미합니다. *대신 사칙연산의 무엇이 들어가도 기호만 바뀔 뿐 동일합니다.
c=5, d=5일 때,
d *= 7 - c++;
d = d * (7 - c++);
d = d * (7 - 5);
d = 5 * 2;
d = 10
입니다. -=, +=, *=, /=을 사용할 때는 괄호를 반드시 사용해 주세요.
이러한 연산들은 중고등학교 때 배운 단순한 사칙연산의 우선순위와 다르지 않습니다. 연산자 우선순위를 조심해야 하는 부분은 산술 연산자 이외의 연산자가 나왔을 때 뿐입니다.
2017년도에 첫번째 시험 불합격으로 인해 다시 준비 중인데 교재 재구매가 어려워 2017년도 시나공으로 공부하고있습니다. 2017 교재로 공부해도 무방한지요!
[답변]
2017년 특별 개정판을 갖고 계신다면, 해당 교재로 학습하셔도 됩니다.
2018년 개정에 추가된 문제 또는 새로운 용어는 시험대비자료 코너에서 다운받아 학습할 수 있으니 학습에 참고하세요.
교재에 포함된 일부 문제에는 변동이 있을 수 있으니 강의는 교재에 맞는 강의를 선택해서 시청하시는 것을 권해드립니다.
행복한 하루되세요.^^
-
*2018-09-27 21:20:32
안녕하세요. 길벗 수험서 운영팀입니다.
같은 순위에 있다고 보고 좌에서 우로 풀어야한다니.. 산술연산자 내에서의 우선순위는 무시해야하는건가요?
[답변]
아닙니다.
연산자 우선순위(60쪽)에 있는 도표를 잘 보셔야 합니다.
우선순위와 결합규칙 중 우선순위는 먼저 계산해야 함을 의미합니다.
우선순위가 없는 동일한 행에 있는 연산자들끼리는 연산자들끼리의 우선순위는 없으며, 해당 연산자들이 조합되어 있을 때는 결합 규칙의 방향대로 풀이를 한다는 의미입니다.
즉, 단항 연산자는 !, ~, ++, --는 어떤 것을 먼저 수행하는 것이 아닌 오른쪽에서 시작하여 왼쪽으로 연산을 한다는 의미이지요.
a = 20 % 11 / 3 * 5 -b;
에서도 마찬가지로, 우선순위가 높은 연산자를 먼저 풀이한 뒤, 동일한 우선순위에 있는 연산자들은 결합 규칙에 따라 해당하는 방향으로 푸시면 됩니다.
d *= 7 - c++; 풀이
[답변]
a *= b는 a=a*b를 의미합니다. *대신 사칙연산의 무엇이 들어가도 기호만 바뀔 뿐 동일합니다.
c=5, d=5일 때,
d *= 7 - c++;
d = d * (7 - c++);
d = d * (7 - 5);
d = 5 * 2;
d = 10
입니다. -=, +=, *=, /=을 사용할 때는 괄호를 반드시 사용해 주세요.
이러한 연산들은 중고등학교 때 배운 단순한 사칙연산의 우선순위와 다르지 않습니다. 연산자 우선순위를 조심해야 하는 부분은 산술 연산자 이외의 연산자가 나왔을 때 뿐입니다.
2017년도에 첫번째 시험 불합격으로 인해 다시 준비 중인데 교재 재구매가 어려워 2017년도 시나공으로 공부하고있습니다. 2017 교재로 공부해도 무방한지요!
[답변]
2017년 특별 개정판을 갖고 계신다면, 해당 교재로 학습하셔도 됩니다.
2018년 개정에 추가된 문제 또는 새로운 용어는 시험대비자료 코너에서 다운받아 학습할 수 있으니 학습에 참고하세요.
교재에 포함된 일부 문제에는 변동이 있을 수 있으니 강의는 교재에 맞는 강의를 선택해서 시청하시는 것을 권해드립니다.
행복한 하루되세요.^^