1 00:00:07,780 --> 00:00:10,540 [Powered by Google Translate] Precendence 우리가 질문에 대한 답변을하는 방법입니다, 우리가 처음 어떤 작업을해야합니까? 2 00:00:10,540 --> 00:00:14,250 여부 수학 방정식 또는 컴퓨터 코드의 줄을 구문 분석 해결, 3 00:00:14,250 --> 00:00:17,230 우리가 준수에 대한 우선 순위 엄격한 규칙이 있습니다 4 00:00:17,230 --> 00:00:20,270 수 있도록 모든 컴퓨터와 사람이 같은 결과를 얻을 수 있습니다. 5 00:00:20,270 --> 00:00:24,710 >> 우선, 가장 중요한 규칙은, 특히 버그 테스트에서 기억해야 할 6 00:00:24,710 --> 00:00:27,680 우리가 항상 바깥쪽으로 가장 안쪽의 괄호에서 작동한다는 것입니다. 7 00:00:27,680 --> 00:00:31,120 추가 괄호를 사용하여 유용한 디버깅 전술이 될 수 8 00:00:31,120 --> 00:00:34,640 하지만 불필요한 괄호 with 쓰레기 코드를하는 것이 좋습니다 없습니다. 9 00:00:34,640 --> 00:00:38,220 기본 연산자 우선 순위 규칙을 배울 수있는 시간을보세요. 10 00:00:38,220 --> 00:00:42,450 >> 두 번째 일반적인 규칙은, 운영자는 같은 priorty을 때이 있다는 것입니다 11 00:00:42,450 --> 00:00:44,820 당신은 단순히 왼쪽에서 오른쪽으로 해결. 12 00:00:44,820 --> 00:00:47,690 간단한 수학을 상대 할 때는 우리는 괄호로 시작 13 00:00:47,690 --> 00:00:52,110 다음 곱셈과 나눗셈을 수행하고, 마지막으로 추가하고 빼기를. 14 00:00:52,110 --> 00:00:54,400 곱셈과 나눗셈은 같은 우선 순위가 15 00:00:54,400 --> 00:00:56,870 그들은 본질적으로 동일한 작업을 수행하기 때문에. 16 00:00:56,870 --> 00:01:00,880 모든 부서 후 단순히 값의 역으로​​ 곱합니다. 17 00:01:00,880 --> 00:01:04,300 마찬가지로, 빼기는 단순히 음수 값을 추가합니다. 18 00:01:04,300 --> 00:01:06,150 >> 예를 보겠습니다. 19 00:01:14,470 --> 00:01:18,300 우선의 순서에 따라, 우리는 괄호로 시작됩니다. 나인 마이너스 1. 20 00:01:18,300 --> 00:01:23,410 그래서 우리에게 8 줄 것이다. 그런 다음 우리는 분단과 곱셈에 이동할 수 있습니다. 21 00:01:23,410 --> 00:01:27,450 우리는 왼쪽에서 오른쪽으로 해결됩니다. 그런데 2로 나누어 10 5. 22 00:01:27,450 --> 00:01:31,290 우리는 여기서 5 번 8을 가지고 있고, 그걸 가지고 우리가 40를 제공합니다. 23 00:01:33,230 --> 00:01:35,410 그럼 우리가 우선 순위의 다음 순서로 이동합니다. 24 00:01:35,410 --> 00:01:38,730 그래서 우리는 3 + 40 빼기 1 왼쪽하고 있습니다. 25 00:01:42,400 --> 00:01:43,700 다시 그냥 왼쪽에서 오른쪽으로 해결하는 것은 26 00:01:43,700 --> 00:01:47,650 을 추가하고 빼기 사이의 동등한 우선 순위가 때문입니다. 27 00:01:47,650 --> 00:01:51,510 우리는 3 + 40 43 말할 수, 마이너스 1 42. 그게 우리 답입니다. 28 00:01:53,920 --> 00:01:56,730 >> 감소와 증가 연산자의 2 종류가 있습니다, 29 00:01:56,730 --> 00:02:01,000 접두사 형태, 접미사 형식입니다. 30 00:02:01,000 --> 00:02:06,130 접미사 양식, 난 + +, 일반적으로 루프를 위해 사용되며, 31 00:02:06,130 --> 00:02:10,500 이는 현재 값이 식에 사용되는 것을 의미하고, 그가 증가하고 있습니다. 32 00:02:10,500 --> 00:02:14,240 따라서 값은 변수가 사용되는 다음과 다를 수 있습니다. 33 00:02:14,240 --> 00:02:17,910 한편, 접두사 증가 또는 감소 즉, 현재 값 34 00:02:17,910 --> 00:02:22,760 증가 또는 감소 첫째, 다음이 식에 사용됩니다. 35 00:02:22,760 --> 00:02:25,310 >> 가 정수 X가 예를 보자. 36 00:02:25,310 --> 00:02:27,220 우리는 5 평등을 설정합니다. 37 00:02:27,220 --> 00:02:36,500 우리는 여기에 접미사 연산자를 사용하여 말을하면 X + +, X이 줄에 여전히 5입니다.주세요 38 00:02:36,500 --> 00:02:39,230 우리는 그것을 인쇄 할 경우 우리는 5라는 값을을 것입니다. 39 00:02:39,230 --> 00:02:42,540 그러나 앞으로 1 개 사실가는 것은 6 같습니다. 40 00:02:42,540 --> 00:02:48,770 그래서 지금 여기이 선 X에서 6과 같다이며, 우리는 그것을 밖으로 인쇄하는 경우 우리는 가치를 6을 것입니다. 41 00:02:48,770 --> 00:02:57,380 우리가 접두사 연산자를 사용하여 지금 경우, + + x, x라고 첫째 증가하고 있으며, 다음 값이 사용됩니다. 42 00:02:57,380 --> 00:03:00,110 따라서이 라인에서 7 동등한입니다. 43 00:03:00,110 --> 00:03:04,750 코스 6에서 7 사이의 증가, 우리는 그것을 인쇄 할 경우 우리는 가치를 7받을 것입니다. 44 00:03:04,750 --> 00:03:09,160 >> 우리가 포인터 표기법 다루는 볼 것 precendence의 마지막 따위의 미묘한 차이. 45 00:03:09,160 --> 00:03:15,050 역 참조 연산자, 별표, 기본 수학 연산자보다 우선적으로이 46 00:03:15,050 --> 00:03:18,550 그러나 접미사 incement와 감소 연산자여. 47 00:03:18,550 --> 00:03:20,690 이것은 우리의 최종 예를 들어 우리를 이끈다. 48 00:03:20,690 --> 00:03:24,500 의는 정수 x를 가져 가서 7 동등을 책정 할 수 있습니다. 49 00:03:24,500 --> 00:03:30,540 우리는 또한 포인터 Y을하고, x의 주소와 동일을 설정합니다. 50 00:03:30,540 --> 00:03:34,920 그래서 우리는 역 참조 (y)을 우리가 값 7을 가야합니다. 51 00:03:34,920 --> 00:03:39,380 지금이 코드 줄에, 우리는 다소 모호한 상황을 하나 가지고있다. 52 00:03:39,380 --> 00:03:44,310 우리는 Y를 먼저 dereferencing, 다음 값 7을 증가 있습니까? 53 00:03:44,310 --> 00:03:48,300 또는 우리는 포인터를 증가 다음을 dereferencing거야? 54 00:03:48,300 --> 00:03:52,800 사실, 때문에 접미사 증가 연산자보다 우선 순위가있다 55 00:03:52,800 --> 00:03:55,370 역 참조 연산자, 우리는 포인터 y를 증가하려고합니다 56 00:03:55,370 --> 00:03:59,170 int는 바이트의 크기로 포인터를 움직일만한된다. 57 00:03:59,170 --> 00:04:03,040 기본적으로, 메모리의 일부 완전히 다른 지점에서 우리에게 주소를 제공 58 00:04:03,040 --> 00:04:05,010 그리고 우리가 dereferencing하고 있습니다. 59 00:04:05,010 --> 00:04:07,350 그래서 매우 의미 라인입니다. 60 00:04:07,350 --> 00:04:10,250 우리는 실제로 7의 가치를 증가하고 싶었다면 61 00:04:10,250 --> 00:04:14,260 우리는 괄호 안에 Y와 역 참조 연산자를 넣어해야합니다. 62 00:04:14,260 --> 00:04:17,290 그런 다음 우리는 그것을 증가 수 있습니다. 63 00:04:17,290 --> 00:04:21,089 우리가 코드의 마지막 줄에 둘째 값 x를 증가되지 않는 동안에, 64 00:04:21,089 --> 00:04:23,380 코드의 마지막 줄에서 우리는 infact의 역 참조의 Y 겠어 65 00:04:23,380 --> 00:04:26,380 값 x를하고 있다는 증가합니다. 66 00:04:26,380 --> 00:04:29,540 우리는 여기서 x는 8 동일 값으로 남아있을 것입니다. 67 00:04:31,580 --> 00:04:33,580 >> 여기에 대해 이야기하는 precendence 규칙의 빠른 뉴스 레터를 살펴입니다. 68 00:04:33,580 --> 00:04:37,210 우리는 가장 안쪽의 괄호로 시작하고 외부 일 수 있습니다. 69 00:04:37,210 --> 00:04:41,210 그럼 우리가 전 + +이나 전 같은 접미사 연산자로 이동 -. 70 00:04:41,210 --> 00:04:45,920 그런 다음 스타 X 또는 앰퍼샌드 X 같은 연산자 역 참조, 주소, 71 00:04:45,920 --> 00:04:50,260 와 + + I 또는 같은 접두사 연산자 - 전. 72 00:04:50,260 --> 00:04:54,920 마지막으로 우리는 곱셈, 나눗셈, 모듈로 같은 간단한 수학 연산을 수행. 73 00:04:54,920 --> 00:04:58,400 그런 다음 또한, 뺄셈. 74 00:04:58,400 --> 00:05:02,170 그 precendence입니다. 전 조단 Jozwiak 고,이 CS50입니다. 75 00:05:04,160 --> 00:05:10,480 우리는 역 참조되고 주소를 사용하여 - 어떻게 당신에게 문구가 그런 짓을? 76 00:05:12,380 --> 00:05:13,190 난 다 했어. 좋아요.