1 00:00:07,830 --> 00:00:12,200 [Powered by Google Translate] 데이빗 MALAN :이 CS50이며,이 주 1의 시작입니다. 2 00:00:12,200 --> 00:00:15,520 우리는 우리가 어떻게 생각 오늘 다시 살펴이다 3 00:00:15,520 --> 00:00:18,290 당신의 많은 것이 아마 일부 과거를 걸어 4 00:00:18,290 --> 00:00:20,570 시간은 지금 조금 낯이 익 수 있습니다. 5 00:00:20,570 --> 00:00:23,720 여기이 것은 물론이에 - 6 00:00:23,720 --> 00:00:24,155 대상 : 과학. 7 00:00:24,155 --> 00:00:26,030 데이빗 MALAN : 과학 센터를 운영하고 있습니다. 8 00:00:26,030 --> 00:00:28,940 그래서 실제로 최초의 컴퓨터 중 하나입니다 9 00:00:28,940 --> 00:00:30,220 1940에서 백업합니다. 10 00:00:30,220 --> 00:00:33,790 처음 전기 컴퓨터 중 하나 11 00:00:33,790 --> 00:00:35,730 즉, 특히 긴 어쩔 수 12 00:00:35,730 --> 00:00:38,450 자기 지속 계산하고, 우리는 실제로에 표시 13 00:00:38,450 --> 00:00:41,580 과학 센터는이 물건의 작은 조각입니다. 14 00:00:41,580 --> 00:00:44,170 우리가, 우리가 할 생각을하면 동영상에 다시 한번입니다 15 00:00:44,170 --> 00:00:46,670 그이를 소개, 얼마전되었다 16 00:00:46,670 --> 00:00:47,520 세계 일. 17 00:00:47,520 --> 00:00:50,200 그리고 당신은 음악을하고 실제로 음성들에서 볼 수 있습니다 18 00:00:50,200 --> 00:00:52,070 아주 행복한 시간이었다. 19 00:00:54,885 --> 00:00:59,700 >> [동영상 재생] 20 00:00:59,700 --> 00:01:02,490 -A 수학, 기계 기술의 승리가있다 21 00:01:02,490 --> 00:01:06,340 하버드 대학의 멋진 새로운 자동 계산기. 22 00:01:06,340 --> 00:01:08,620 수학 복잡한 문제는 겪어야 23 00:01:08,620 --> 00:01:12,420 테이프에 코딩 된 형태의 기계가 정확하게에서 해결 아르 24 00:01:12,420 --> 00:01:15,200 시간 분 일부는 인간에 필요한 25 00:01:15,200 --> 00:01:16,450 계산. 26 00:01:27,050 --> 00:01:30,600 의 모든 양식을 신속하게하기 위해 설계된 수학 및 과학 27 00:01:30,600 --> 00:01:34,610 연구, 거대한 기계의 뇌가 미국을 위해 일한다고 28 00:01:34,610 --> 00:01:36,570 전쟁의 끝까지 미국 해군. 29 00:01:50,280 --> 00:01:52,980 >> 데이빗 MALAN : 뭘 알고하지 않을 수도 것은이에 있었던 것입니다 30 00:01:52,980 --> 00:01:56,310 우리가 이제 거의를 용어 바로이 같은 장치 31 00:01:56,310 --> 00:01:59,300 당연한 버그 있다는 주장. 32 00:01:59,300 --> 00:02:01,140 따라서 엔지니어 중 하나가이 컴퓨터에서 작업 33 00:02:01,140 --> 00:02:05,280 그대로 결과 기계의 작은 나방을 발견 34 00:02:05,280 --> 00:02:07,580 잘못된 계산 인치 35 00:02:07,580 --> 00:02:10,410 소문에 의하면 그 나방은이 로그에 붙어 있었어 36 00:02:10,410 --> 00:02:14,180 여기 저널, 다시 1940 대 년 9 월 9 일부터, 37 00:02:14,180 --> 00:02:16,550 그래서 세계의 용어 "버그"를 탄생했습니다. 38 00:02:16,550 --> 00:02:19,880 그럼 이제부터 우리는 버그가에서 실수를 어떤 종류로 간주 39 00:02:19,880 --> 00:02:23,290 프로그램, 인공 아니면,이 경우, 곤충. 40 00:02:23,290 --> 00:02:25,030 >> 몇 공지 그래서 같이 우리는 진행합니다. 41 00:02:25,030 --> 00:02:29,160 그럼 CS50은에 종류의 점심을 제공의 전통을 가지고 42 00:02:29,160 --> 00:02:31,600 우리가 30로 학기 중에 가장 금요일 43 00:02:31,600 --> 00:02:34,650 40 불에 학생들과 캐주얼의 광장에서 얼음 44 00:02:34,650 --> 00:02:36,390 잡담, 컴퓨터 과학에 대한 이야기​​, 45 00:02:36,390 --> 00:02:37,420 미래에 대해 이야기. 46 00:02:37,420 --> 00:02:40,000 우리가 채팅을 업계에서 졸업생과 친구들을 초대 47 00:02:40,000 --> 00:02:40,690 학생뿐만 아니라. 48 00:02:40,690 --> 00:02:44,020 정말 상당히 큰 수준인지하기의 끝을 향해 49 00:02:44,020 --> 00:02:46,740 모든 더 친밀 적어도 한 번 이상에 대한 동안 50 00:02:46,740 --> 00:02:47,710 학생의 일부. 51 00:02:47,710 --> 00:02:50,940 이 금요일 우리와 함께하고 싶은면, 1시 15분의 PM이로 이동 52 00:02:50,940 --> 00:02:53,340 RSVP에 CS50.net/lunch. 53 00:02:53,340 --> 00:02:55,840 당신이하지 않으면 우리는 recurringly이 작업을 수행하므로 걱정하지 마십시오 54 00:02:55,840 --> 00:02:57,930 처음 30 정도 이번 주 중. 55 00:02:57,930 --> 00:02:59,070 >> 서기 노트 그럼. 56 00:02:59,070 --> 00:03:01,500 이제이 가능 시작합니다 자원에 단어 57 00:03:01,500 --> 00:03:03,040 클래스의 학생들합니다. 58 00:03:03,040 --> 00:03:05,540 머리가 강의 중에 다운 필요가 없습니다 있도록 59 00:03:05,540 --> 00:03:08,560 나는 우리가하는 일, 등등 말을하고 모든 것을 내려 낙서 60 00:03:08,560 --> 00:03:10,765 대신 교수진에서 제공되는 61 00:03:10,765 --> 00:03:11,920 메모 표준 집합입니다. 62 00:03:11,920 --> 00:03:14,850 그래서 우리는 우리의 교육 친구들 중 하나, 앤드류 Sellergren을 가지고 63 00:03:14,850 --> 00:03:17,830 누가 그런 다음, 각 주 앉고 동영상을 검토하고, 64 00:03:17,830 --> 00:03:19,730 우리가 상당히 생각하는 일을 아래로 쓰기 65 00:03:19,730 --> 00:03:21,840 메모 권위있는 세트입니다. 66 00:03:21,840 --> 00:03:24,180 그리고에 snarky 각주를 넣는 물론, 앤드류 좋아, 67 00:03:24,180 --> 00:03:24,820 하단. 68 00:03:24,820 --> 00:03:27,300 그래서 희망을위한 참고 도서 이러한을 즐길 수 69 00:03:27,300 --> 00:03:30,230 기회가 검토로 재미 있으며, 시간을 퀴즈와 70 00:03:30,230 --> 00:03:31,830 개별 강의에 무슨 일이 있었는지. 71 00:03:31,830 --> 00:03:33,580 그래서 그는 강의 페이지에 연결되어 있습니다. 72 00:03:33,580 --> 00:03:35,300 >> 문제 세트 0 한편, 부족합니다. 73 00:03:35,300 --> 00:03:37,470 그리고 당신은 사용할 수있는 자원의 관점에서 - 74 00:03:37,470 --> 00:03:38,020 연습. 75 00:03:38,020 --> 00:03:39,730 마일로는 금요일에 처음을 이끌었습니다. 76 00:03:39,730 --> 00:03:41,470 이것은 촬영 된, 토요일에 의해 온라인 상에 올리고. 77 00:03:41,470 --> 00:03:44,030 당신은 시작 위치를 정말 잘하지 않으면 그리고, 실현 78 00:03:44,030 --> 00:03:47,280 이 문제 또는 P-세트 미래를 항상하려면 먼저 켜 79 00:03:47,280 --> 00:03:49,300 연습이나 동영상 그. 80 00:03:49,300 --> 00:03:52,950 Sectioning가 진행 중입니다, cs50.net/section에서 곳입니다 81 00:03:52,950 --> 00:03:54,540 당신이하지 않은 경우, 환경 설정을 제출해야 82 00:03:54,540 --> 00:03:55,880 이미 오늘까지. 83 00:03:55,880 --> 00:03:58,140 섹션이 오는 일요일, 월요일을 시작합니다 때문에 84 00:03:58,140 --> 00:03:58,760 과 화요일. 85 00:03:58,760 --> 00:04:02,470 우리는 모든 주, 3 일 섹션을 86 00:04:02,470 --> 00:04:03,870 대부분 학기. 87 00:04:03,870 --> 00:04:06,600 그리고 우리는 다시 다른 트랙을 소개합니다. 88 00:04:06,600 --> 00:04:08,270 따라서,이 sectioning 양식에 묻는 메시지가 표시됩니다 만약 89 00:04:08,270 --> 00:04:10,350 당신이 그 적게들 경우, 이미 보지 못했다 90 00:04:10,350 --> 00:04:12,800 편안하고, 좀 더 편안한, 또는 어딘가 사이 인치 91 00:04:12,800 --> 00:04:14,960 그리고 당신이 울타리에 정렬의 경우, 일반적으로 어디에서 92 00:04:14,960 --> 00:04:18,160 사이에 대부분의 학생들이 검사 결국거야. 93 00:04:18,160 --> 00:04:19,579 근무 시간은 오늘 밤 시작됩니다. 94 00:04:19,579 --> 00:04:23,020 >> 따라서 스크래치는 매우 자연이지만, 매우 낮은 열쇠입니다 95 00:04:23,020 --> 00:04:25,300 다양한 버그로 실행하거나 방법에 관해서 불확실 할 96 00:04:25,300 --> 00:04:26,550 무언가를 구현합니다. 97 00:04:26,550 --> 00:04:28,880 그래서 우리는 이번 주에 근무 시간을 시작합니다 알고있다. 98 00:04:28,880 --> 00:04:30,500 그들은 Annenberg에 월요일, 화요일, 수요일, 있습니다 99 00:04:30,500 --> 00:04:34,300 목요일 8시에서 뇌 휴식 기간 동안 오후 11시합니다. 100 00:04:34,300 --> 00:04:38,160 상단 classmen가에 타, 그리고 다시 문제가있을 경우 점점 수 있습니다 101 00:04:38,160 --> 00:04:40,720 사람들이 패스 한 번 찍어 주시면됩니다 있기 때문에 문에, 당신의 방법을 이야기 102 00:04:40,720 --> 00:04:42,560 과 설명은 CS50 함께. 103 00:04:42,560 --> 00:04:45,230 일반적으로 직원에 대한 우리의 20-30 도움이있을 것입니다 104 00:04:45,230 --> 00:04:46,190 을 하나 하나. 105 00:04:46,190 --> 00:04:48,980 >> 도착시 생각이 있습니다 : 당신이 노트북을 가지고 갈 게요, 106 00:04:48,980 --> 00:04:51,300 귀하의 충전기를해야합니다, 우리는 추가 전원 코드가됩니다 107 00:04:51,300 --> 00:04:53,320 특히 Annenberg의 남쪽 벽을 따라있는 곳 108 00:04:53,320 --> 00:04:55,080 전기 콘센트가 많이있다. 109 00:04:55,080 --> 00:04:59,290 그리고 사무실 시간 Q & A의 주 진입 점으로 이동하는 것입니다 110 00:04:59,290 --> 00:05:01,690 cs50.net/discuss는 및 게시에 111 00:05:01,690 --> 00:05:02,580 이 질문. 112 00:05:02,580 --> 00:05:05,600 그리고 pset 0 또는 pset 1을 라벨에 어떤 주 113 00:05:05,600 --> 00:05:06,810 로 발생할 수 있습니다. 114 00:05:06,810 --> 00:05:09,240 그리고 우리가 할 것은 교육 친구들의 테이블을 가지고 있습니다 115 00:05:09,240 --> 00:05:12,040 일반적으로 8 또는 우리의 10 그래서 당연히 보조, 116 00:05:12,040 --> 00:05:14,430 를 통해가는 보드에 경계를 유지하고, 117 00:05:14,430 --> 00:05:16,810 정말 최대한 빨리 할 수​​있는 한 질문을 뜯어, 118 00:05:16,810 --> 00:05:19,600 당신이 사람들을 발견하지 않은 경우 관련 게시물을 추천 119 00:05:19,600 --> 00:05:22,220 적절한 너희 온라인 참조. 120 00:05:22,220 --> 00:05:24,280 그리고이 문제가 있으며, 거기로 불가피하게하는 경우 121 00:05:24,280 --> 00:05:27,190 이 될, 또는 그냥 하나 하나 앉아 더 많은 의미가됩니다 122 00:05:27,190 --> 00:05:28,660 사람이 문제를 통해 작동합니다. 123 00:05:28,660 --> 00:05:30,810 >> 또는 당신은 정말 근무 시간에 와서 124 00:05:30,810 --> 00:05:31,640 그러한 사고 방식을 필요. 125 00:05:31,640 --> 00:05:33,400 당신은 전자 양식을 통해 가고 싶지 않아 126 00:05:33,400 --> 00:05:34,410 정말 사람을 만나고 싶습니다. 127 00:05:34,410 --> 00:05:37,240 우리에게 그 의사 소통, 그리고 일이 일어날 것입니다 때 128 00:05:37,240 --> 00:05:40,620 질문은 직원이 볼되었으며 우리 129 00:05:40,620 --> 00:05:43,660 예 마님을 결정, 이것은 20 중 하나에 파견해야 130 00:05:43,660 --> 00:05:47,800 로컬 여기에 30 팀 구성원, 당신은 상단에 표시됩니다이 왼쪽 131 00:05:47,800 --> 00:05:51,590 대기열 버튼을 약간을 입력하면 / cs50.net에 깜박 시작 132 00:05:51,590 --> 00:05:52,165 토론합니다. 133 00:05:52,165 --> 00:05:55,260 그리고 여러분이 지금, 그래서 초대 한 사실을 말하고 134 00:05:55,260 --> 00:05:56,880 대기열을 입력, 말씀. 135 00:05:56,880 --> 00:05:59,090 그리고 그 버튼을 클릭하여, 당신 이름은 다음에 나타납니다 136 00:05:59,090 --> 00:06:02,660 CS50의 인사, 코스의 헤드 중 하나 인 것 아이 패드 137 00:06:02,660 --> 00:06:05,250 누가 다음 Annenberg의 입구 근처 것이다 개최 138 00:06:05,250 --> 00:06:08,630 에 대해 질문이 있으시면 여기를 묘사 참조, 학생들 139 00:06:08,630 --> 00:06:11,630 왼쪽, 오른쪽에 존재하는 직원. 140 00:06:11,630 --> 00:06:14,830 그리고 왼쪽과 오른쪽의 클릭으로 귀하의 웹 브라우저는 것 141 00:06:14,830 --> 00:06:18,610 교수 McGonnagal 예를 들어, 가능한 빨리 깜박 시작 142 00:06:18,610 --> 00:06:21,460 Annenberg에서 특정 테이블에서 당신을 볼 준비가되어 있습니다. 143 00:06:21,460 --> 00:06:23,340 >> 그래서 우리는이 마지막 년의 일부를 했어요. 144 00:06:23,340 --> 00:06:25,430 우리는 사무실의 시간을 다시 부팅 한 145 00:06:25,430 --> 00:06:26,980 소프트웨어의 많은 재 구현. 146 00:06:26,980 --> 00:06:29,940 그래서 이번 주 데워 될 것 알고 있습니다. 147 00:06:29,940 --> 00:06:32,970 뿐만 아니라 들었 수도로, 과거 몇 년 동안도 실현 148 00:06:32,970 --> 00:06:35,710 친구에서 영업 시간은 참으로 50을 가지고 149 00:06:35,710 --> 00:06:37,040 한 번에 150 명. 150 00:06:37,040 --> 00:06:39,300 우리는 그 처리하기 위해 그리고 단순히 수 없습니다 151 00:06:39,300 --> 00:06:42,060 효과적으로 저녁 내내 한 하나. 152 00:06:42,060 --> 00:06:44,570 그리고 우리가 정말 올해 수행하려고 할거야 것은 153 00:06:44,570 --> 00:06:46,590 많은 질문이 사실을 활용 154 00:06:46,590 --> 00:06:49,050 자주 묻는 종종 더 나은 답변을 얻을 수 있습니다 155 00:06:49,050 --> 00:06:50,030 비동기. 156 00:06:50,030 --> 00:06:52,140 그래서 당신은, 직원의 응답을 통해 생각의 정렬 할 수 있습니다 157 00:06:52,140 --> 00:06:54,360 우리는 온수없이 코드를 생각할 수 있습니다 158 00:06:54,360 --> 00:06:57,050 반드시 고민의 압력 159 00:06:57,050 --> 00:06:58,210 나란히을 통해이 쪽. 160 00:06:58,210 --> 00:07:00,980 그래서 우리는 예측이 질문에 대략 세 번째 또는 이분의 일 161 00:07:00,980 --> 00:07:03,500 사람에 파견 될 것이며, 우리는 다음과 같이 오프 따려고 노력 할게요 162 00:07:03,500 --> 00:07:05,530 더 많은 전자 반 또는 많은 163 00:07:05,530 --> 00:07:06,710 근무 시간 동안. 164 00:07:06,710 --> 00:07:08,070 그리고 우리는 토론을 계속 사용할 것 165 00:07:08,070 --> 00:07:09,990 일주일 내내뿐만 아니라. 166 00:07:09,990 --> 00:07:12,680 >> 그리고 마지막으로,이 과정이 실패 / 통과 촬영 할 수 알고 있습니다. 167 00:07:12,680 --> 00:07:16,230 담에있는 또는 당신이 정말로 있다고 생각한다면 168 00:07:16,230 --> 00:07:18,650 이 일이 당신의 세계할지, 또는 정말 않습니다 169 00:07:18,650 --> 00:07:21,310 당신에게 아주 외국인이 훌륭한 방법이다는 것을 170 00:07:21,310 --> 00:07:24,840 에 단계로 몇 가지 자신감을 얻기의 171 00:07:24,840 --> 00:07:26,780 클래스, 나는 솔직히처럼, 몇 년 전에. 172 00:07:26,780 --> 00:07:28,630 그리고 다섯 주에 그림으로 해결해야 173 00:07:28,630 --> 00:07:30,850 당신이 실패 / 통과를 유지하기 위해 자신은 문자로 전환 174 00:07:30,850 --> 00:07:31,800 학년 또는 같은. 175 00:07:31,800 --> 00:07:34,050 그리고 일반적으로 실패 / 통과, 내 생각 엔, 학생들에게 무엇입니까 176 00:07:34,050 --> 00:07:36,700 즉, 그 10시간, 20 시간, 무슨 일이든에 넣어 경우 177 00:07:36,700 --> 00:07:38,830 일부 문제에있을 수 있습니다, 당신은 머리를 흔들며하고 178 00:07:38,830 --> 00:07:39,690 벽에 기대 179 00:07:39,690 --> 00:07:41,750 당신은 정말 뭔가를 추격하고 할 수 없습니다 180 00:07:41,750 --> 00:07:44,230 솔직히, 당신이해야 할 많은 다른 일이 있어서요, 내가 181 00:07:44,230 --> 00:07:46,070 이 실패 / 통과 생각은 가장자리를 벗고 182 00:07:46,070 --> 00:07:47,250 이런 상황. 183 00:07:47,250 --> 00:07:49,350 어디 가지 길의 90 %를 잡았습니다. 184 00:07:49,350 --> 00:07:50,830 당신은 아주 완벽하지에요. 185 00:07:50,830 --> 00:07:52,950 하지만 당신은 그럼에도 불구하고, 그것 때문에 많이 있겠죠. 186 00:07:52,950 --> 00:07:55,440 당신을 해주는으로 실패 / 통과 고려 187 00:07:55,440 --> 00:07:57,590 정신 모델, 아마도. 188 00:07:57,590 --> 00:08:00,680 >> 좋아요, 그럼 지난 주에 우리는 스크래치로 내렸다, 우리 189 00:08:00,680 --> 00:08:03,610 상당히 높은 그래픽 수준에서의 프로그래밍 이야기. 190 00:08:03,610 --> 00:08:05,340 그리고 오늘 우리는 언어로 전환 할 191 00:08:05,340 --> 00:08:08,300 C, 상단에 낮은 수준의 프로그래밍 언어라고 192 00:08:08,300 --> 00:08:11,260 대다수의 현대적인 언어는 현재 일부 포함 내장되어 193 00:08:11,260 --> 00:08:13,010 사람의 우리는 기간의 끝 부분에 사용됩니다. 194 00:08:13,010 --> 00:08:15,530 그리고 구문, 그들은 같은 일을 봐요 195 00:08:15,530 --> 00:08:17,330 모두 당신을 아주 비슷합니다. 196 00:08:17,330 --> 00:08:19,080 그래서 여기 전환이하기 위해 시작하자. 197 00:08:19,080 --> 00:08:21,730 그래서이 프로그램은 그 가장 간단한했다 지난 주 198 00:08:21,730 --> 00:08:22,910 세계 프로그램 안녕하세요. 199 00:08:22,910 --> 00:08:25,560 그것은 단순히 함께 화면 안녕하세요 세계로 인쇄 200 00:08:25,560 --> 00:08:27,650 작은 풍선은 고양이에서 나오는 것이 었습니다. 201 00:08:27,650 --> 00:08:30,590 글쎄, 우리가 다른이를 번역 지금 시작하는 경우 202 00:08:30,590 --> 00:08:33,419 언어, 커다란 아이디어, 오늘 수요일 203 00:08:33,419 --> 00:08:36,450 동일하지만 구문은 변경 시작합니다. 204 00:08:36,450 --> 00:08:39,370 지난 주에 우리가 가진 반면 그래, 녹색 깃발이 클릭했을 때, 말 205 00:08:39,370 --> 00:08:40,340 안녕하세요. 206 00:08:40,340 --> 00:08:43,870 오늘 우리는 INT, 메인, 무효, printf를 할거야 207 00:08:43,870 --> 00:08:46,350 뿐만 아니라 거기에 다른 문법으로 돌아. 208 00:08:46,350 --> 00:08:49,200 중괄호 및 괄호, 따옴표, 그리고 이것 저것. 209 00:08:49,200 --> 00:08:54,520 그러나, 여기에서 아이디어의 핵심은 인쇄가 아니라는 것을 파악 210 00:08:54,520 --> 00:08:58,470 궁극적으로 주요 이제 가고 있다는 사실은 할 수 211 00:08:58,470 --> 00:09:00,770 프로그램의 시작과 동의어. 212 00:09:00,770 --> 00:09:04,250 메인은 ​​녹색 깃발이 일을 개막 곳 될 것입니다. 213 00:09:04,250 --> 00:09:06,390 >> 그래서 지금의 여기 빌딩 블록의 일부를 분리 올리지하게 214 00:09:06,390 --> 00:09:08,650 우리는 구체적인 예제에 뛰어 전에. 215 00:09:08,650 --> 00:09:11,620 이건 그냥된다 그래서 우리는이 성명을 지난 주에 전화 216 00:09:11,620 --> 00:09:12,470 명령. 217 00:09:12,470 --> 00:09:15,660 이 작업을 수행 -이 경우, 인사 세계를 말한다. 218 00:09:15,660 --> 00:09:18,400 우리가 그 라인에서 보면 음 C에서, 우리가 야 방법입니다 219 00:09:18,400 --> 00:09:20,920 특정 퍼즐 조각을 표현부터 시작 : 220 00:09:20,920 --> 00:09:24,780 printf ( "안녕하세요");. 221 00:09:24,780 --> 00:09:27,330 그리고 지금 우리는 시간이 지남에 따라이 떨어져 더 올리지됩니다 222 00:09:27,330 --> 00:09:29,330 하지만 패턴이 있다는 알고 있습니다. 223 00:09:29,330 --> 00:09:31,870 한 명은, 우리는 printf이라는 것을,이 224 00:09:31,870 --> 00:09:34,310 단어 본질적으로 유사들은 말한다. 225 00:09:34,310 --> 00:09:35,800 그게 할거야거야. 226 00:09:35,800 --> 00:09:37,870 Printf, 여기 F는 "포맷"을 의미합니다. 227 00:09:37,870 --> 00:09:39,270 그래서 그냥 삽입 할 수 있음을 의미 228 00:09:39,270 --> 00:09:41,600 다양한 미적 내용을보십시오. 229 00:09:41,600 --> 00:09:43,770 따라서 견적 인용을 끝 맺다가 우리가 가야 할 일의 시작에 불과하다 230 00:09:43,770 --> 00:09:45,340 문자열을 호출 시작합니다. 231 00:09:45,340 --> 00:09:47,110 단어, 구문, 문장. 232 00:09:47,110 --> 00:09:50,220 프로그래밍 언어에서의 문자열은 제로의 순서입니다 233 00:09:50,220 --> 00:09:51,330 문자를 이상을 사용하십시오. 234 00:09:51,330 --> 00:09:54,390 , H, E, L, L-O, 쉼표 자, 등등입니다 235 00:09:54,390 --> 00:09:56,290 견적 인용을 끝 맺다, 문자열입니다. 236 00:09:56,290 --> 00:09:58,710 그리고 지금은 백 슬래시 N, 약간의 구문 이상하지만, 237 00:09:58,710 --> 00:10:01,780 이미 무엇을 의미로 지난 주 정의? 238 00:10:01,780 --> 00:10:02,630 단지 새 줄입니다. 239 00:10:02,630 --> 00:10:05,000 당신이 원하는 컴퓨터에 전달 단지 방법 240 00:10:05,000 --> 00:10:07,700 거기에 입력을 누르 상응하는,하지만 당신은 그럴 필요가 없어요 241 00:10:07,700 --> 00:10:10,460 실제로 입력하고 따라서 모든 망치 치고 싶어 242 00:10:10,460 --> 00:10:12,130 실제 프로그램의 서식. 243 00:10:12,130 --> 00:10:15,500 이제 괄호는이 문자열을 둘러싸 열린 괄호와 244 00:10:15,500 --> 00:10:18,130 가까운 괄호, 그리고 내부의 우리의 문자열입니다. 245 00:10:18,130 --> 00:10:22,600 C에서, 그리고 다른 프로그래밍 때문에 계신데 246 00:10:22,600 --> 00:10:27,510 언어는 일이 printf 인수를, 또는 걸릴 좋아 247 00:10:27,510 --> 00:10:28,420 매개 변수입니다. 248 00:10:28,420 --> 00:10:31,490 >> 따라서 본 보라색해라 블록 지금 생각 시작 249 00:10:31,490 --> 00:10:34,890 프로 시저와 같은 기능, 방법으로. 250 00:10:34,890 --> 00:10:36,890 당신은 정말 당신이 지금 원하는 건 뭐든지을 호출 할 수 있지만 251 00:10:36,890 --> 00:10:39,260 그 하나가 할짓이 작은 프로그램의 일종 이죠 252 00:10:39,260 --> 00:10:41,480 한 줄, 이하의 것. 253 00:10:41,480 --> 00:10:43,620 따라서 printf 우리가 전화를 시작 할 건지 있습니다 254 00:10:43,620 --> 00:10:46,680 이 경우에는 - 기능 및 기능은 뭔가를 255 00:10:46,680 --> 00:10:49,320 화면에 포맷 된 문자열을 출력합니다 - 256 00:10:49,320 --> 00:10:53,220 하지만 기능은 인수 또는 매개 변수를. 257 00:10:53,220 --> 00:10:55,880 그리고 인수 또는 매개 변수에 의해, 감사합니다, 우리는 의미 258 00:10:55,880 --> 00:11:01,220 자신의 행동은 귀하가 전달 무엇에 의해 영향을받을 수 있다는 259 00:11:01,220 --> 00:11:03,420 괄호 안에. 260 00:11:03,420 --> 00:11:06,460 따라서이 경우 printf 요구는 인쇄 할 말대로, 될 우리 261 00:11:06,460 --> 00:11:09,520 에 그냥 여기 따옴표로, 문자열을 전달 우리 262 00:11:09,520 --> 00:11:11,270 실제로 인쇄 할. 263 00:11:11,270 --> 00:11:14,060 그리고이 라인의 맨 끝에서 세미콜론은 그냥이다 264 00:11:14,060 --> 00:11:18,020 역사 폐가된다 코드의 대부분 줄의 끝에서, 265 00:11:18,020 --> 00:11:21,170 당신은 컴퓨터에 슈퍼가 명확하게하기 위해 세미콜론을 넣어 266 00:11:21,170 --> 00:11:23,020 이 코드 줄은 여기서 끝을 내자 것을. 267 00:11:23,020 --> 00:11:25,600 프로그램이 더 많은 정보를 얻을로 우리가 보게 될 있기 때문에 지금이 좋은 268 00:11:25,600 --> 00:11:29,030 복잡한 세미콜론는 슈퍼 우리에게 분명 인간을 것입니다, 269 00:11:29,030 --> 00:11:32,280 또한 컴퓨터, 어디에 코드의 시작과 끝의 라인. 270 00:11:32,280 --> 00:11:34,360 일부 언어는 일부가없는 거라고 생각 271 00:11:34,360 --> 00:11:35,045 이와 같은 세부 사항. 272 00:11:35,045 --> 00:11:37,870 그리고 사실, 자바 스크립트에서, 당신은 항상 무언가를 필요하지 않습니다 273 00:11:37,870 --> 00:11:38,670 세미콜론처럼. 274 00:11:38,670 --> 00:11:40,210 그러나보다 더 빨리합니다. 275 00:11:40,210 --> 00:11:41,170 >> 따라서 루프. 276 00:11:41,170 --> 00:11:43,520 우리는 어떻게, 명백한, 매우 직관적으로이 같은 일을 저질렀다 277 00:11:43,520 --> 00:11:44,860 뭔가 또 한번, 또 한번 다시. 278 00:11:44,860 --> 00:11:47,720 양말에 넣어, 또는이 경우 인사처럼. 279 00:11:47,720 --> 00:11:51,090 음, C에서 오늘부터, 우리는이 스크래치를 표현 할 수 280 00:11:51,090 --> 00:11:54,970 동안으로 차단 (TRUE) printf ( "안녕하세요"). 281 00:11:54,970 --> 00:11:57,630 우리가 문자 그대로 퍼즐을 구축하기 시작 그래서를 발견 282 00:11:57,630 --> 00:11:58,480 이전의 작품. 283 00:11:58,480 --> 00:12:01,310 우리는 같은 보라색 블록을 가지고 있지만은이 안에있어 284 00:12:01,310 --> 00:12:04,880 괄호 영원히 블록, 그 번역하는 가장 좋은 방법은 285 00:12:04,880 --> 00:12:06,480 C에 다음과 같습니다. 286 00:12:06,480 --> 00:12:08,130 더 영원히 키워드가 없습니다. 287 00:12:08,130 --> 00:12:10,940 당신은 C.에있는 F-O, R, E-V-E-R 입력 할 수 없습니다 288 00:12:10,940 --> 00:12:13,440 따라서 가장 가까운 아날로그가 동안입니다. 289 00:12:13,440 --> 00:12:17,050 >> 값이 않기 때문에 이제 (TRUE) 약간 멍청 해 보이는 동안 290 00:12:17,050 --> 00:12:18,700 진정한 적 변화? 291 00:12:18,700 --> 00:12:19,810 아마도 없습니다. 292 00:12:19,810 --> 00:12:22,770 진정한 동시에,이 중에 한 동안 말을 같아요. 293 00:12:22,770 --> 00:12:25,430 그것은 모두 같은 일이야, 사실은 항상 경우가 있습니다. 294 00:12:25,430 --> 00:12:29,860 그래서 루프는 실제로 루프 어떤 종류의를 일으킬 수 있습니다? 295 00:12:29,860 --> 00:12:31,210 그냥 무한 루프, 좋아. 296 00:12:31,210 --> 00:12:32,930 영원히 루프 또는 우리는 지난 주에 전화를 297 00:12:32,930 --> 00:12:33,870 그냥 무한 루프. 298 00:12:33,870 --> 00:12:35,250 그래서 때로는 나쁜 일. 299 00:12:35,250 --> 00:12:37,060 당신이 얻을 왜 가끔 그런 벌레, 가끔은 그게 300 00:12:37,060 --> 00:12:39,340 회전 비치 볼 또는 모래 시계 또는처럼. 301 00:12:39,340 --> 00:12:41,260 하지만이 사건의 경우 우리 의도적으로 무엇이든을위한 302 00:12:41,260 --> 00:12:43,040 이유는, 다시 같은 일을 인쇄하고 싶었다 303 00:12:43,040 --> 00:12:43,970 다시 다시. 304 00:12:43,970 --> 00:12:45,900 아니면 시계 등의 경우, 당신은하고 싶은 305 00:12:45,900 --> 00:12:47,470 뭔가 또 한번, 또 한번 다시. 306 00:12:47,470 --> 00:12:49,070 그럼 무한 루프가 이해 할 수 있습니다. 307 00:12:49,070 --> 00:12:53,560 그리고이 C에서 우리가 코드에 영구 번역하는 방법을 수 있습니다. 308 00:12:53,560 --> 00:12:55,570 >> 이제이 녀석은 좀 더 구체적입니다. 309 00:12:55,570 --> 00:12:58,880 우리는 10 배 다음과 같은 내용의 진술을 반복했다. 310 00:12:58,880 --> 00:13:02,490 사실이 있기 때문에 (사실이) 상당히,이 작동하지 않습니다 동안 311 00:13:02,490 --> 00:13:03,590 항상 진실. 312 00:13:03,590 --> 00:13:07,060 우리가 대신 C 버전 보면 그럼 이제 구문를 얻을 313 00:13:07,060 --> 00:13:08,180 좀 더 암호화. 314 00:13:08,180 --> 00:13:11,380 하지만 당신이 이걸보고 시작하면 솔직히 말해서, 모든 도착 315 00:13:11,380 --> 00:13:12,600 신속하게 아주 잘 알고. 316 00:13:12,600 --> 00:13:14,370 그래서이 루프에 대한라고 할 수있어. 317 00:13:14,370 --> 00:13:17,210 루프에 대한 뭔가를 컴퓨터를 말할 것입니다 318 00:13:17,210 --> 00:13:20,710 또 한번, 또 한번 다시 한은에 대한 319 00:13:20,710 --> 00:13:21,850 이것들은 사실입니다. 320 00:13:21,850 --> 00:13:23,370 이제 우리는 그게 무슨 뜻 이죠? 321 00:13:23,370 --> 00:13:25,470 음, 루프에 대한 세 가지 부분이고, 우리는가는거야 322 00:13:25,470 --> 00:13:28,240 실제의 상황이로 돌아와 323 00:13:28,240 --> 00:13:29,100 순간의 예입니다. 324 00:13:29,100 --> 00:13:31,650 가 상당히 전혀 한 번에 침몰하지 않는 경우 그럼 걱정하지 마십시오. 325 00:13:31,650 --> 00:13:35,400 그러나 INT I = 0 나에게 달라는, 길고도 짧은 이야기 326 00:13:35,400 --> 00:13:38,290 변수 타입 정수의이야, 그래서 나에게 전화 번호를 알려 327 00:13:38,290 --> 00:13:40,890 내가 전화를하고 0으로 초기화합니다. 328 00:13:40,890 --> 00:13:43,460 그건 대수 변수 x처럼 날을 제공하고 있습니다 329 00:13:43,460 --> 00:13:44,580 0으로 초기화합니다. 330 00:13:44,580 --> 00:13:46,250 그러나이 경우에는 우리는 그것을 i를했다. 331 00:13:46,250 --> 00:13:49,120 그런 다음 중간에, 내가 10 개 미만이라 더군요. 332 00:13:49,120 --> 00:13:52,150 오랫동안 다음과 같은 물건을 컴퓨터를 모르 겠네 333 00:13:52,150 --> 00:13:53,770 전 10 개 미만이기 때문입니다. 334 00:13:53,770 --> 00:13:55,370 그리고 분명이 10 개 미만 때문에를 시작 335 00:13:55,370 --> 00:13:56,550 그는 0시에 시작한다. 336 00:13:56,550 --> 00:13:59,150 그런 다음 마지막으로, 당신은 아마 제가 + + 수단을 추측 할 수 있습니다. 337 00:13:59,150 --> 00:14:02,140 단지 i를 증가 의미 구문 약간의입니다. 338 00:14:02,140 --> 00:14:05,270 그러니 다시 다시 다시, 내가 1을 추가합니다. 339 00:14:05,270 --> 00:14:09,260 >> 우리가이 루프를 보게 될 그리고,이 문법은, 오히려 구현 340 00:14:09,260 --> 00:14:12,160 정확하게 그 같은 문제는, 솔직히, 스크래치에 너무했다 341 00:14:12,160 --> 00:14:13,250 훨씬 표현하기 쉽게. 342 00:14:13,250 --> 00:14:15,170 10 반복하면됩니다. 343 00:14:15,170 --> 00:14:17,690 C에서, 대부분의 프로그래밍 언어로, 우리는 할 필요 344 00:14:17,690 --> 00:14:20,190 실제로 좀 더 컴퓨터의 유익과 345 00:14:20,190 --> 00:14:21,630 이런 짓을 지정합니다. 346 00:14:21,630 --> 00:14:23,730 그러나 우리는이 문제와 기타 구문에 돌아올거야. 347 00:14:23,730 --> 00:14:24,780 >> 어떤 변수는? 348 00:14:24,780 --> 00:14:26,940 스크래치에서 우리는,이 오렌지 블록 같은 것을 가지고 349 00:14:26,940 --> 00:14:28,180 어디 변수를 선언 수 있습니다. 350 00:14:28,180 --> 00:14:30,000 하자 임의로은 카운터 전화하십시오. 351 00:14:30,000 --> 00:14:31,880 가 0으로 초기화하자하고 352 00:14:31,880 --> 00:14:33,240 뭔가를 영원히 보자. 353 00:14:33,240 --> 00:14:35,760 이 경우 스크래치에 나는 카운터를 말하므로, 354 00:14:35,760 --> 00:14:38,230 고양이는 연설을 약간 풍선을 가지고거야 355 00:14:38,230 --> 00:14:40,010 이 변수에 번호입니다. 356 00:14:40,010 --> 00:14:42,460 그리고 우리는 1 변경 카운터가 있습니다. 357 00:14:42,460 --> 00:14:45,760 그래서 모두 영구 잠금 내부 포장되어 있습니다. 358 00:14:45,760 --> 00:14:48,960 그래서 우리는 이미 지금은 C의 빌딩 블록을 가지고 359 00:14:48,960 --> 00:14:50,040 이 번역된다. 360 00:14:50,040 --> 00:14:51,650 >> 우리가 할 수있는 한 가지 방법이 있습니다. 361 00:14:51,650 --> 00:14:53,890 나에게 정수를 줘이 카운터 전화하십시오. 362 00:14:53,890 --> 00:14:55,190 0으로 초기화 363 00:14:55,190 --> 00:14:56,490 거기에 첫 번째 행 인치 364 00:14:56,490 --> 00:14:59,390 (사실) 그래서 그냥 순간부터 그런 생각을 훔쳤다고 동안 365 00:14:59,390 --> 00:15:01,300 전 가서 다음을 수행하십시오. 366 00:15:01,300 --> 00:15:04,880 카운터를 인쇄 한 다음 카운터를 증가 367 00:15:04,880 --> 00:15:06,930 다시, 다시, 다시. 368 00:15:06,930 --> 00:15:09,380 하거나 다시, + + 뭔가에 1을 추가합니다 의미합니다. 369 00:15:09,380 --> 00:15:11,030 그러나 문법의 새로운 조각은 여기 있습니다. 370 00:15:11,030 --> 00:15:15,730 로하지 이전 예제들 뭘 알아 어때요? 371 00:15:15,730 --> 00:15:17,190 예,이 % d 개. 372 00:15:17,190 --> 00:15:19,810 그럼 당신은 아마 기반으로, 솔직히,이 무엇을하고 있는지 추측 할 수 373 00:15:19,810 --> 00:15:21,410 내용에 스크래치 블록하고있다. 374 00:15:21,410 --> 00:15:24,510 다시 한 번 C에서, 우리는 조금 더 특정 할 필요 375 00:15:24,510 --> 00:15:25,990 그것은 자신을 표현 할 때. 376 00:15:25,990 --> 00:15:30,560 >> 따라서 printf ( "% d 개 \ N"). 377 00:15:30,560 --> 00:15:32,320 그럼 우리는 잘 알고으로 던져 버릴 수있는 대부분의 그런. 378 00:15:32,320 --> 00:15:34,910 따옴표는 그냥 문자열 뜻, 역 슬래쉬 N 379 00:15:34,910 --> 00:15:35,970 단지 새 줄 것입니다. 380 00:15:35,970 --> 00:15:38,860 따라서 유일한 새로운 것은 여기에 % d 개입니다. 381 00:15:38,860 --> 00:15:40,390 그리고, 그 모든 자리 표시 자입니다. 382 00:15:40,390 --> 00:15:43,510 %의 d는 10 진수를 나타내는 것입니다. 383 00:15:43,510 --> 00:15:47,820 그리고 % d 개의 수단 컴퓨터, 여기 10 진수를 넣어. 384 00:15:47,820 --> 00:15:49,450 글쎄, 당신은 거기에 넣어 몇 번할까요? 385 00:15:49,450 --> 00:15:52,400 당신은 아마 추측 할 수다시피, 쉼표 후 말 386 00:15:52,400 --> 00:15:55,480 카운터, 우리가 선언하거나하는 변수의 이름이 있어요 387 00:15:55,480 --> 00:15:57,260 몇 라인을 이전에 만든. 388 00:15:57,260 --> 00:16:02,420 이 단지에 변수에 도전 C의 방법입니다 그래서 389 00:16:02,420 --> 00:16:04,480 동적 문자열입니다. 390 00:16:04,480 --> 00:16:07,350 반대로 왜냐하면, 제가 대신 같은 일을했다면 391 00:16:07,350 --> 00:16:12,470 이, printf ( "카운터"), 무슨 일이 겠어 392 00:16:12,470 --> 00:16:15,220 이 프로그램은 대신 아마, 무슨 짓을 한 겁니까? 393 00:16:15,220 --> 00:16:17,260 그것은 문자 그대로 "카운터"를 인쇄합니다. 394 00:16:17,260 --> 00:16:18,750 그래서 내가 원하는 효과되지 않습니다. 395 00:16:18,750 --> 00:16:20,920 좀 숫자 값에 대체해야합니다. 396 00:16:20,920 --> 00:16:24,340 그래서 우리가 printf와 같이 해당 기능을 볼 수 있습니다, 없습니다 수 397 00:16:24,340 --> 00:16:26,930 같은 막 하나의 인수, 398 00:16:26,930 --> 00:16:28,150 "여러분, 안녕하세요!". 399 00:16:28,150 --> 00:16:32,050 그들은 몇 가지 변수 후 견적 인용을 끝 맺다에 쉼표를, 수 400 00:16:32,050 --> 00:16:35,830 우리가 이전 문자열을 보게 될 그로 연결을 얻을 것이다 401 00:16:35,830 --> 00:16:38,280 이 % 기호 자리 표시를 통해. 402 00:16:38,280 --> 00:16:39,660 >> 그래서 뭐 부울 표현은 어때? 403 00:16:39,660 --> 00:16:42,200 부울 표현식은 true 또는 false이 값을,했다. 404 00:16:42,200 --> 00:16:42,830 예, 아니오. 405 00:16:42,830 --> 00:16:44,020 1 또는 0. 406 00:16:44,020 --> 00:16:45,190 사용 또는 사용 중지. 407 00:16:45,190 --> 00:16:47,570 따라서 스크래치에 사람들은 다음과 같이하고,주의 그 408 00:16:47,570 --> 00:16:50,170 여기 아래 블록은 실제로 함께합니다 409 00:16:50,170 --> 00:16:51,500 두 개의 작은 블록. 410 00:16:51,500 --> 00:16:53,610 그래서 가지 드래그 세 퍼즐 조각을 떨어 뜨 411 00:16:53,610 --> 00:16:56,450 함께 그래서 거기에 더 이상 퍼즐 조각을 만들어 그 I 412 00:16:56,450 --> 00:17:00,420 나는 여기서 x는 Y보다 말하고 싶지 있다는 생각을 전달 할 수 413 00:17:00,420 --> 00:17:02,540 y는 z는보다 작아야합니다. 414 00:17:02,540 --> 00:17:05,790 그래서 나는 다음과 같은 두 별도의 선을 번역 할 수 있습니다. 415 00:17:05,790 --> 00:17:08,650 상단 하나는 매우 trivially, C로 번역 할 수 있습니다 416 00:17:08,650 --> 00:17:10,069 을 갖는 X 00:17:11,990 아마 좋은 측정을위한 괄호로. 418 00:17:11,990 --> 00:17:15,520 그리고 C에서, 당신은 작성하지 않고 지칭하는 419 00:17:15,520 --> 00:17:16,819 무언가 함께. 420 00:17:16,819 --> 00:17:19,585 대신 &&를 써주세요. 421 00:17:19,585 --> 00:17:22,849 결국 우리가 볼 때, 단일 앰퍼샌드이에게 무슨 일이 생긴 422 00:17:22,849 --> 00:17:23,880 다른 일을 의미합니다. 423 00:17:23,880 --> 00:17:27,530 그래서 &&는 생각을 나타냅니다합니다. 424 00:17:27,530 --> 00:17:30,040 >> 그러니 다시 경우에도이는 오히려 복잡한보고 시작 425 00:17:30,040 --> 00:17:32,560 이외의 스크래치를 도입의 목적 중 하나 426 00:17:32,560 --> 00:17:34,810 당신이 할 수있는 - 램프의 재미 정렬을 갖는 427 00:17:34,810 --> 00:17:36,590 매우 그래픽, 애니메이션, 그리고 무언가 428 00:17:36,590 --> 00:17:39,000 공유 가능한과 같은 생각을 전달도입니다 429 00:17:39,000 --> 00:17:42,010 아이디어의 우리가 오늘 이후로 다이빙을 시작 430 00:17:42,010 --> 00:17:44,300 심지어 간단한에서 구현 된 431 00:17:44,300 --> 00:17:46,850 첫날부터 인터페이스를 제공합니다. 432 00:17:46,850 --> 00:17:47,790 이 개는 어때요? 433 00:17:47,790 --> 00:17:48,860 >> 조건 그럼. 434 00:17:48,860 --> 00:17:50,590 가 보이는 왼쪽에있는 스크래치 블록 자 435 00:17:50,590 --> 00:17:51,610 좀 더 복잡한. 436 00:17:51,610 --> 00:17:52,650 하지만, 그냥 끌어 야 437 00:17:52,650 --> 00:17:54,140 익숙한 조각 놓게 요. 438 00:17:54,140 --> 00:17:56,690 x는 Y보다 작 으면 그렇게 말. 439 00:17:56,690 --> 00:17:59,900 x는 Y보다 클 경우 다른, 그렇게 말. 440 00:17:59,900 --> 00:18:02,460 아니면, 우리는 논리적으로는 유추있어 가정 할 수 441 00:18:02,460 --> 00:18:03,580 그들은 같아야합니다. 442 00:18:03,580 --> 00:18:05,220 사람들이 평등하다고 그렇게 말. 443 00:18:05,220 --> 00:18:07,690 이제 오른쪽 똑같은 일을 C 인치 444 00:18:07,690 --> 00:18:09,730 그리고 중괄호가 될거야 것을 알 445 00:18:09,730 --> 00:18:12,190 C이 정렬을 다른 언어 기능 446 00:18:12,190 --> 00:18:13,210 캡슐화의. 447 00:18:13,210 --> 00:18:15,470 블록이 노란색 일 경우 만처럼 그 종류의입니다 448 00:18:15,470 --> 00:18:17,770 그 안에 보라색 블록을하러. 449 00:18:17,770 --> 00:18:19,480 마찬가지로 이러한 괄호는 - 450 00:18:19,480 --> 00:18:20,870 이러한 중괄호 - 451 00:18:20,870 --> 00:18:24,710 하나 이상을 포용 바로 그 아이디어를 만들어 보도록하기위한 452 00:18:24,710 --> 00:18:27,680 그 중 내부 들여 쓰기 아르 코드의 라인. 453 00:18:27,680 --> 00:18:31,270 그럼 오른쪽에 여기, X 이하 Y보다 printf 경우 454 00:18:31,270 --> 00:18:32,270 ( "x는 Y보다 작습니다"). 455 00:18:32,270 --> 00:18:34,980 x는 Y보다 큰 다른 경우, 같은 값을 출력하면된다. 456 00:18:34,980 --> 00:18:38,360 다른 사람들이 동일한 것을 인쇄 할 수 있습니다. 457 00:18:38,360 --> 00:18:41,750 >> 그래서 짧은에 매우 직접 매핑 또는 번역이있어 458 00:18:41,750 --> 00:18:44,720 언어 몇 가지를 포함 지금까지 본 적이 459 00:18:44,720 --> 00:18:45,940 더 정교한 기능. 460 00:18:45,940 --> 00:18:48,680 그래서 당신은 당신의 프로젝트에이 사용하거나, 수도하지되지 않을 수 있습니다 461 00:18:48,680 --> 00:18:51,150 이번 주 프로젝트에 대해이를 사용. 462 00:18:51,150 --> 00:18:54,650 그러나 우리는 이런 일을, 스크래치에 C.의 배열을 전화를 463 00:18:54,650 --> 00:18:55,680 그들은 목록이라고하고 있습니다. 464 00:18:55,680 --> 00:18:59,370 그리고 우리는 지난 주에 Fruitcraft RPG와 함께이를 보았다. 465 00:18:59,370 --> 00:19:01,320 감지, 주변 걷고 있었는데 조그마한 파란색 요정 466 00:19:01,320 --> 00:19:03,010 체리, 오렌지와 같은. 467 00:19:03,010 --> 00:19:05,110 그럼 스크래치에 해당이 주황색으로 구현 된 468 00:19:05,110 --> 00:19:09,000 단어가 포함 된 차단,이 경우, 우리는 그대로 야 469 00:19:09,000 --> 00:19:10,800 에 추가 "오렌지" 470 00:19:10,800 --> 00:19:12,460 변수는 인벤토리를했다. 471 00:19:12,460 --> 00:19:14,910 따라서 C에서,이 문법은 좀 더 암호화 할 거에요. 472 00:19:14,910 --> 00:19:17,250 그리고 우리는이 다음 주에 다시 와서 더 할거야 473 00:19:17,250 --> 00:19:21,060 그것과 암호화의 세계에 대한 흥미로운 것들. 474 00:19:21,060 --> 00:19:23,990 그러나 맨 아래에있는 여기,이 두 줄 본질적으로 475 00:19:23,990 --> 00:19:27,550 우리가 하나 스크래치 거기서 차단에하는 일에 번역. 476 00:19:27,550 --> 00:19:30,120 그러나보다 더 빨리합니다. 477 00:19:30,120 --> 00:19:34,120 >> 따라서 프로그램이 C.에 여기를 모으고 가자 자 478 00:19:34,120 --> 00:19:36,590 빨리 구문 조각의 일부를 떨어져 애타게하지만, 479 00:19:36,590 --> 00:19:40,300 의는 실제로 몇 가지 코드를 작성할 후하게, 익숙해 480 00:19:40,300 --> 00:19:42,440 우리가 사용됩니다 도구의 일부 당신을 볼 경우 481 00:19:42,440 --> 00:19:45,400 이러한 기본적인 빌딩 블록의 일부에서 지금에 구축 할 수 있습니다 482 00:19:45,400 --> 00:19:49,150 지난 주, 지금 구문 C.의 자, 이제 상단에있는이 483 00:19:49,150 --> 00:19:51,380 아마도 최선을 가장 지루 프로그램 중 하나입니다 484 00:19:51,380 --> 00:19:53,130 대부분의 모든 프로그래밍 언어로 작성합니다. 485 00:19:53,130 --> 00:19:55,010 이 때문에 그런데 그건 일종의 특별한 의미가있는 486 00:19:55,010 --> 00:19:58,120 모든 컴퓨터 과학자는 글을 쓰고있는 표준 프로그램 487 00:19:58,120 --> 00:19:59,620 누군가가 프로그래밍 언어를 가르치는 - 488 00:19:59,620 --> 00:20:01,230 안녕하세요 세계 프로그램입니다. 489 00:20:01,230 --> 00:20:05,120 >> 그래서 상단에, 우리는 # 등의 개념을 참조하십시오 490 00:20:05,120 --> 00:20:08,180 그리고, 각진 괄호에 stdio.h. 491 00:20:08,180 --> 00:20:10,580 우리는 다시 돌아올 거란다하지만, 정말 무엇에 따르면 492 00:20:10,580 --> 00:20:13,770 수단은 표준이라는 세계에서 파일이 있다는 것입니다 493 00:20:13,770 --> 00:20:17,670 I / O, stdio 점 H, 그리고 그냥 텍스트 파일의 494 00:20:17,670 --> 00:20:19,240 누군가 년 전에 쓴. 495 00:20:19,240 --> 00:20:22,550 그리고 안에 텍스트 파일을의 전체 잡힌 496 00:20:22,550 --> 00:20:25,840 기능이나 방법, 또는 절차가 다른 사람 497 00:20:25,840 --> 00:20:28,970 우리가 때문에 수혜자 것을 썼다 우리 498 00:20:28,970 --> 00:20:31,420 지금은 그 사람의 코드를 사용할 수 있습니다. 499 00:20:31,420 --> 00:20:33,070 기능은 그 또는 그녀가 말했다. 500 00:20:33,070 --> 00:20:36,320 이 경우 printf 제가 쓴 것이 아닙니다, 그건 501 00:20:36,320 --> 00:20:37,500 하지 CS50가 쓴 것을. 502 00:20:37,500 --> 00:20:40,290 누군가가 년 전에 쓴과에 넣어이 있어요 503 00:20:40,290 --> 00:20:43,450 파일을 넣어, 옆으로 다음 stdio.h와라고 504 00:20:43,450 --> 00:20:45,830 다른 파일에있는 함수의 다른 부분. 505 00:20:45,830 --> 00:20:46,940 하지만 우리는 갈 수 있습니다. 506 00:20:46,940 --> 00:20:50,070 >> 따라서 # 가, 말은 우리의 방법입니다 포함 507 00:20:50,070 --> 00:20:53,110 C, 나를 다른 사람이 쓴 기능에 액세스 할 수. 508 00:20:53,110 --> 00:20:55,490 제가 printf 원하기 때문에이 경우에는 신경. 509 00:20:55,490 --> 00:20:57,530 이제 우리는 INT 메인을 (무효)를 얻을 수. 510 00:20:57,530 --> 00:21:00,160 그래서 솔직히이 일 중 하나입니다, 그 날 영에, 511 00:21:00,160 --> 00:21:02,400 그냥이기 때문에 거의 나는 영역에서의 종류에 왔어요 512 00:21:02,400 --> 00:21:03,260 재미 있지 513 00:21:03,260 --> 00:21:04,780 지적, 구문의 일부. 514 00:21:04,780 --> 00:21:07,940 하지만 지금은 달리 알려진 그 기능을 알 515 00:21:07,940 --> 00:21:11,660 절차, 또는 방법은 일반적으로 어떤 가치를 생산하고 있습니다. 516 00:21:11,660 --> 00:21:12,520 그들은 뭔가를. 517 00:21:12,520 --> 00:21:13,810 그들은 답을 갖추고 있습니다. 518 00:21:13,810 --> 00:21:15,020 그들은 출력을 생산하고 있습니다. 519 00:21:15,020 --> 00:21:18,780 따라서 INT 메인 옆에 말하는 우리의 속기 방법입니다 520 00:21:18,780 --> 00:21:21,380 이 기능이 절차는 결국 갈 것을 521 00:21:21,380 --> 00:21:22,650 번호를 다시 제공합니다. 522 00:21:22,650 --> 00:21:24,370 그리고 이유는, 우리는 다시 올거야. 523 00:21:24,370 --> 00:21:27,810 메인은 ​​기본의 기본 세계 표준입니다 524 00:21:27,810 --> 00:21:30,990 때 C 프로그램에서 실행을 당할 것이다 기능 525 00:21:30,990 --> 00:21:31,860 당신은 그걸 실행합니다. 526 00:21:31,860 --> 00:21:34,160 플레이는 그냥 일을 의미 주요도,도지지 않습니다 527 00:21:34,160 --> 00:21:35,270 이 경우 인수. 528 00:21:35,270 --> 00:21:36,400 그래서 명시 적 초인거야. 529 00:21:36,400 --> 00:21:38,160 여기에는 문자열도없고 쉼표가 없습니다. 530 00:21:38,160 --> 00:21:40,690 플레이 메인에 인자 아무런 의미합니다. 531 00:21:40,690 --> 00:21:44,350 >> 지금 마지막으로, 다행히도 마지막 두 줄은 잘 알고 있습니다. 532 00:21:44,350 --> 00:21:46,160 중괄호 안에 우리는 printf가 533 00:21:46,160 --> 00:21:47,620 우리는 수익을 갖추고 있습니다. 534 00:21:47,620 --> 00:21:50,450 그리고 반환은 우리가해야하는 가지 불행한 535 00:21:50,450 --> 00:21:53,510 이 경우는 모든 일을 안하기 때문에, 거기에 뒀을 536 00:21:53,510 --> 00:21:54,600 관심 많이. 537 00:21:54,600 --> 00:21:58,790 그러나 컴퓨터 프로그램에 때 함수는 0을 반환 538 00:21:58,790 --> 00:22:00,610 모든 잘 의미한다. 539 00:22:00,610 --> 00:22:01,820 아무 문제가 발생했습니다 없습니다. 540 00:22:01,820 --> 00:22:06,170 반대로, 함수 또는 1 또는 제외 어 1, 반환하는 경우 541 00:22:06,170 --> 00:22:11,670 부정적인 1,337, 또는 같은 임의의 숫자, 그 542 00:22:11,670 --> 00:22:14,020 일반적으로 오류가 실제로 발생했음을 의미합니다. 543 00:22:14,020 --> 00:22:16,150 당신이 본했다면, Mac 또는 PC에으니 544 00:22:16,150 --> 00:22:18,590 컴퓨터 나 충돌 때문에 일부 원치 않는 메시지 545 00:22:18,590 --> 00:22:20,660 냉동, 그리고 이상한 오류 메시지가 546 00:22:20,660 --> 00:22:23,320 그리고 몇 가지 코드와 같은 시스템 코드 547 00:22:23,320 --> 00:22:25,110 1,2,3,4, 일부 번호, 548 00:22:25,110 --> 00:22:29,270 그는 일반적으로 말할 필요가 세부 사항입니다 549 00:22:29,270 --> 00:22:32,110 우리가 인간의 대부분하지만 그게 어떤 함수 나 일부입니다 550 00:22:32,110 --> 00:22:34,890 이 프로그램은 실제로 0이 아닌 값을 반환했습니다. 551 00:22:34,890 --> 00:22:38,540 그리고이의 이익은 0이 모든뿐만 아니라 의미이며, 552 00:22:38,540 --> 00:22:40,470 다음은 본질적으로 그 물건의 무한한 번호가 553 00:22:40,470 --> 00:22:41,130 잘못 할 수 있습니다. 554 00:22:41,130 --> 00:22:44,700 그들은 좋은 0을 선택하고를위한 0이 아닌 값 때문이다 555 00:22:44,700 --> 00:22:46,450 나쁜, 등 우리가 곧 보게 될 것이다. 556 00:22:46,450 --> 00:22:47,870 >> 그러니 어서 가서 쓰기 보자. 557 00:22:47,870 --> 00:22:51,610 그래서 다른 날 난을 열어 내 Mac을 사용했던 기억 558 00:22:51,610 --> 00:22:53,970 터미널 창, 그리고 난 같은 텍스트 프로그램을 열어 559 00:22:53,970 --> 00:22:55,900 텍스트 편집기, 나는 몇 가지 코드를 작성 시작했다. 560 00:22:55,900 --> 00:22:56,580 그럼 괜찮아요. 561 00:22:56,580 --> 00:22:58,636 하지만 당신의 경험은 Mac에서 다른 수있을거야, 나입니다 562 00:22:58,636 --> 00:23:01,220 솔라리스 컴퓨터, 리눅스 컴퓨터에 어떤 운영 563 00:23:01,220 --> 00:23:02,810 시스템이 사용하는 것 뿐이예요. 564 00:23:02,810 --> 00:23:04,970 그리고 과정에서, 우리가 대신 사용하려면 뭔가가 있습니다 565 00:23:04,970 --> 00:23:07,010 CS50 어플라이언스했다. 566 00:23:07,010 --> 00:23:10,420 따라서 CS50 어플라이언스는 소프트웨어의 다운로드 조각입니다 567 00:23:10,420 --> 00:23:13,640 즉, 당신이 리눅스라는 운영 체제를 실행할 수 있습니다 568 00:23:13,640 --> 00:23:16,810 자신의 Mac 또는 PC에서 구체적으로 페도라 리눅스. 569 00:23:16,810 --> 00:23:20,810 그리고 당신은이 하이퍼 바이저라는 걸을 다운로드하여이 작업을 수행합니다. 570 00:23:20,810 --> 00:23:23,100 그래서 모두 문제 세트 1 문서화 될 것입니다. 571 00:23:23,100 --> 00:23:25,240 그리고 당신은 다운로드해야 할 일으로 안내됩니다. 572 00:23:25,240 --> 00:23:27,510 그러나 최종 결과는, 당신은 Mac이나 PC을 가지고 있는지, 너 573 00:23:27,510 --> 00:23:29,080 일부 무료 소프트웨어를 다운로드 할 수 있습니다. 574 00:23:29,080 --> 00:23:32,340 그런 다음 CS50 어플라이언스를 다운로드, 당신은 그렇게 말해 575 00:23:32,340 --> 00:23:33,960 자유 소프트웨어는 - 하이퍼 바이저 - 576 00:23:33,960 --> 00:23:38,080 컴퓨터의 창에 CS50 어플라이언스를 실행합니다. 577 00:23:38,080 --> 00:23:39,490 그리고 어떤 일이 생기하면이 있습니다. 578 00:23:39,490 --> 00:23:43,660 >> 지금 여기 발견 한, 어떻게 바탕 화면으로 나타납니다 579 00:23:43,660 --> 00:23:44,130 환경. 580 00:23:44,130 --> 00:23:46,150 그리고 저 실제로 하나의 창을 축소 보자. 581 00:23:46,150 --> 00:23:49,640 그래서 지금 여기에 약간의 창, 내 맥이며, 내부 582 00:23:49,640 --> 00:23:51,300 이 창을 완전히 할 일 583 00:23:51,300 --> 00:23:52,380 다른 운영 체제. 584 00:23:52,380 --> 00:23:55,250 실제로이 시작 메뉴 연상은 여기가 585 00:23:55,250 --> 00:23:57,990 등의 하위 메뉴를 왕창되어있는 Windows, 586 00:23:57,990 --> 00:24:00,720 CS50 설명서, 보관 및 같은에 대한 링크. 587 00:24:00,720 --> 00:24:03,480 그리고이 환경은 지금 표준 환경은 무엇입니까 588 00:24:03,480 --> 00:24:06,280 우리 모두 지금 사용할 수있는, 그래서 무슨 일이 있든간에 당신의 589 00:24:06,280 --> 00:24:08,960 컴퓨터가 당신이에 설치 한 것은, 어떤 버전 590 00:24:08,960 --> 00:24:11,430 실행중인 맥 OS 또는 Windows 때문에, 우리는 지금이 591 00:24:11,430 --> 00:24:12,800 동일한 환경을 제공합니다. 592 00:24:12,800 --> 00:24:15,850 그리고 지금이 상황에서 우리는 몇 가지 코드를 작성할 수있을 것입니다. 593 00:24:15,850 --> 00:24:18,480 >> 그래서 가서 gedit라는 프로그램을 열거야. 594 00:24:18,480 --> 00:24:21,500 이 Notepad.exe가 비교, 또는 595 00:24:21,500 --> 00:24:22,790 Mac에서 텍스트 편집기. 596 00:24:22,790 --> 00:24:25,390 그리고 이것은 바로 슈퍼 간단한 텍스트 편집 프로그램입니다 597 00:24:25,390 --> 00:24:27,500 그 첫 눈에이 것 같습니다. 598 00:24:27,500 --> 00:24:30,640 이제 상단에, 나도 하단에있는, 백색 팔레트가 599 00:24:30,640 --> 00:24:33,860 jharvard @ 어플라이언스를 말합니다 검은 색 창을 갖추고 있습니다. 600 00:24:33,860 --> 00:24:36,440 우리는 사용자 계정을 미리 만든 때문에 그건 601 00:24:36,440 --> 00:24:38,430 모두에게 존 하버드라고합니다. 602 00:24:38,430 --> 00:24:41,490 그는 모든 파일 가려하는거야 폴더를 가지고 있으며, 603 00:24:41,490 --> 00:24:43,500 우리가 몇 가지 코드를 작성할 수있어. 604 00:24:43,500 --> 00:24:45,810 그럼 내가 여기 가서 그냥 조금 확대 해 있으며, 전 605 00:24:45,810 --> 00:24:51,550 어떻게 할 것이 # , int는 주를 (무효)를 포함하고, 606 00:24:51,550 --> 00:24:57,470 그럼 내가 ( "안녕하세요") printf하는 겁니다 607 00:24:57,470 --> 00:24:59,490 , 0을 반환합니다. 608 00:24:59,490 --> 00:25:01,400 이제이 모두 당신을 아주 검은 색과 흰색입니다. 609 00:25:01,400 --> 00:25:03,830 >> 내가 가서 그리고 난 어떤 gedit을 가르쳐 한 일을하자 610 00:25:03,830 --> 00:25:04,510 실제로 하죠. 611 00:25:04,510 --> 00:25:06,140 내 이름으로 저장 가자. 612 00:25:06,140 --> 00:25:08,560 나는 jharvard 여기 왼쪽에 선택하는거야. 613 00:25:08,560 --> 00:25:11,010 그러니 다시, 당신은 솔직히 전에 리눅스를 사용하지 않을 경우에도 614 00:25:11,010 --> 00:25:13,680 요즘 그들 모두는 기본적으로로 devolving 아르 615 00:25:13,680 --> 00:25:14,590 인터페이스의 동일한 유형 - 616 00:25:14,590 --> 00:25:16,030 맥 OS, 윈도우, 리눅스. 617 00:25:16,030 --> 00:25:18,680 그래서 여기 jharvard의 홈 폴더를 선택했습니다. 618 00:25:18,680 --> 00:25:21,120 그리고이 파일 hello.c로 저장거야. 619 00:25:21,120 --> 00:25:24,260 그래서 상단에, 나는 hello.c를 입력, C의 이름을 지정 620 00:25:24,260 --> 00:25:26,520 . C 확장명을 가진 프로그램입니다 621 00:25:26,520 --> 00:25:27,570 일반적인 연습거야. 622 00:25:27,570 --> 00:25:28,650 그리고 저장을 누르십시오. 623 00:25:28,650 --> 00:25:32,510 그리고 지금 좋은 건지, 제가 효율적으로 gedit을 가르쳤 한 것입니다 624 00:25:32,510 --> 00:25:33,690 이 C 프로그램입니다. 625 00:25:33,690 --> 00:25:36,470 내 검은 색과 흰색 텍스트가 이제 코딩 색이된다는 것을 명심, 또는 626 00:25:36,470 --> 00:25:39,330 단지 내 주목을 받고 구문 강조, 627 00:25:39,330 --> 00:25:41,540 프로그램의 다른 의미 부분. 628 00:25:41,540 --> 00:25:44,260 상단에있는 내 프로그램이 더 복잡대로, 전, 거기두고 629 00:25:44,260 --> 00:25:47,060 내가 쓴 한 모든 일에 대한 요약 정보를 갖게 돼. 630 00:25:47,060 --> 00:25:48,050 그래서 그게가있다. 631 00:25:48,050 --> 00:25:52,350 그럼 내가 지금 축소하고 터미널 창으로 가자. 632 00:25:52,350 --> 00:25:54,570 >> 그래서 아마 많은 사람들에게 새로운 기능입니다. 633 00:25:54,570 --> 00:25:57,260 당신은 명령 줄 환경을 사용하지 않을 경우, 당신은 한 번도 634 00:25:57,260 --> 00:26:00,020 DOS를 사용하거나 리눅스를 사용한 적이 있고, 열어 본 적이 635 00:26:00,020 --> 00:26:02,550 귀하의 맥 OS 터미널 창, 당신 많은이 636 00:26:02,550 --> 00:26:04,820 이러한 지적을 클릭으로 GUI와 함께 할, 그리고 할 수 637 00:26:04,820 --> 00:26:07,080 드래그 및 드롭, 그리고 같은,하지만 일반적으로 - 638 00:26:07,080 --> 00:26:09,360 확실히 컴퓨터 과학의 세계에서 - 639 00:26:09,360 --> 00:26:11,580 귀하의 마우스가없는 명령 행을 사용하여 640 00:26:11,580 --> 00:26:14,220 일반적으로, 당신은 키보드를 가지고 실제로 많은입니다 641 00:26:14,220 --> 00:26:17,260 인터페이스보다 더 강력한 한 번 당신은에 적응하게 642 00:26:17,260 --> 00:26:18,580 다양한 명령. 643 00:26:18,580 --> 00:26:20,940 그리고 당신은 지적 할 필요가 무료로 자신의 종류를 클릭 644 00:26:20,940 --> 00:26:21,690 모든면에서. 645 00:26:21,690 --> 00:26:23,890 따라서 gedit에서 우리는 다음 두 세계의 최고를 정렬 할 수 있습니다. 646 00:26:23,890 --> 00:26:25,600 우리는 텍스트를 드래그 앤 드롭 할 수 있습니다, 우리가 볼 수 647 00:26:25,600 --> 00:26:26,840 니스 (Nice)와 색상 코딩. 648 00:26:26,840 --> 00:26:29,630 그러나 우리의 프로그램을 실행 시간을 때, 우리는 때때로드립니다 649 00:26:29,630 --> 00:26:31,750 여기이 작은 창을 사용합니다. 650 00:26:31,750 --> 00:26:33,460 >> 그래서 가서이 일을 할거야. 651 00:26:33,460 --> 00:26:36,420 아래 검은 색과 흰색 창에서, 나는 먼저 갈거야 652 00:26:36,420 --> 00:26:37,890 그리고 그 소리를 써주세요. 653 00:26:37,890 --> 00:26:40,130 그리고 그 소리는 컴파일러의 이름입니다. 654 00:26:40,130 --> 00:26:43,310 내 소스 코드를 변환하는 프로그램입니다 655 00:26:43,310 --> 00:26:48,770 에, 그러니까, 객체 코드입니다. 656 00:26:48,770 --> 00:26:51,270 우리가 지난 주에 잠시 본 0s와 1 초. 657 00:26:51,270 --> 00:26:53,700 지난 주에 온 기억, 우리는 우리가가는 줄 약속 658 00:26:53,700 --> 00:26:55,920 이런 일부터 시작 - 우리가 할 필요 659 00:26:55,920 --> 00:26:57,010 과 같이 - 660 00:26:57,010 --> 00:26:58,700 그리고 이건 정말 인간이가는 것이 아닙니다 661 00:26:58,700 --> 00:26:59,690 수동으로합니다. 662 00:26:59,690 --> 00:27:01,980 대신에 우리는 프로그램을 사용하려고, 그 프로그램에있어 663 00:27:01,980 --> 00:27:03,430 이 경우는 꽝이라고합니다. 664 00:27:03,430 --> 00:27:06,020 그리고 프로그램의 이름은 hello.c입니다. 665 00:27:06,020 --> 00:27:09,670 에 소스 코드에서 hello.c를 컴파일 할 수 있도록하려면 666 00:27:09,670 --> 00:27:12,930 오브젝트 코드, 또는 0s와 1S, 그건 막에 충분합니다 667 00:27:12,930 --> 00:27:14,820 이 입력하고 Enter 키를 누르십시오. 668 00:27:14,820 --> 00:27:16,850 >> 그래, 아무 일 것 같습니다 없습니다. 669 00:27:16,850 --> 00:27:20,450 하지만의 기본 이름, 현재, 또는 지난 주에 온 알 670 00:27:20,450 --> 00:27:24,920 C로 작성된 프로그램은, 어리석게도 a.out라고합니다. 671 00:27:24,920 --> 00:27:26,610 대부분의 흥미 이름은 당신이 시간 때우기 수 있습니다. 672 00:27:26,610 --> 00:27:28,790 A는 알파벳의 첫 글자입니다이었다 무엇 673 00:27:28,790 --> 00:27:29,960 출력하지만, 그래서 수. 674 00:27:29,960 --> 00:27:33,570 이건 내 프로그램으로, 지금 점 슬래시, 우리는 보게 될 것입니다 675 00:27:33,570 --> 00:27:36,170 보안 기능을 실제로 일종의 때문에 676 00:27:36,170 --> 00:27:38,250 a.out은 제가 쓴 프로그램입니다. 677 00:27:38,250 --> 00:27:39,650 그것은 내 컴퓨터와 함께 제공되지 않은, 그건 678 00:27:39,650 --> 00:27:40,790 하지 프로그램 파일 인치 679 00:27:40,790 --> 00:27:42,910 그것은 맥 OS의 응용 프로그램 폴더에 없습니다. 680 00:27:42,910 --> 00:27:45,740 나는 컴퓨터와 슈퍼 명시 할 필요가 있으며, 말 681 00:27:45,740 --> 00:27:49,030 이 프로그램 a.out은 현재 폴더에있는 682 00:27:49,030 --> 00:27:50,260 현재 디렉토리. 683 00:27:50,260 --> 00:27:53,160 그리고이 같은 환경에서이 대표하는 방법 684 00:27:53,160 --> 00:27:57,070 점은 인치 현재 어떤 폴더에 나타냅니다됩니다 685 00:27:57,070 --> 00:27:59,420 그리고. / 그냥 실행 a.out을 의미합니다 686 00:27:59,420 --> 00:28:00,530 현재 폴더 인치 687 00:28:00,530 --> 00:28:04,830 그리고 입력하면, 봐라, 내 첫 프로그램이 실행됩니다. 688 00:28:04,830 --> 00:28:05,990 >> 지금 저 단계를 다시 봅시다. 689 00:28:05,990 --> 00:28:08,280 이 창은 약간 작은, 그리고 실현 밑에있는 690 00:28:08,280 --> 00:28:10,340 여기 어플라이언스의 왼쪽 또 다른 아이콘이 있습니다. 691 00:28:10,340 --> 00:28:12,660 하나는 그냥 웹 아주 익숙한되는, 크롬입니다 692 00:28:12,660 --> 00:28:14,350 어플라이언스의 내부 브라우저. 693 00:28:14,350 --> 00:28:16,340 그리고이 검은 색과 흰색 아이콘은입니다 694 00:28:16,340 --> 00:28:17,720 더 큰 터미널 창. 695 00:28:17,720 --> 00:28:19,830 이 분류에 약간 성가신를 얻을 수면 그저 696 00:28:19,830 --> 00:28:22,270 상호 작용되는 윈도우의 아주 작은 조각 697 00:28:22,270 --> 00:28:24,370 프로그램, 우리는 대신이 작업을 수행 할 수 있습니다. 698 00:28:24,370 --> 00:28:26,640 그리고 지금 몇 곧 입력을 시작하게 699 00:28:26,640 --> 00:28:27,980 익숙한 명령을 할 수 있습니다. 700 00:28:27,980 --> 00:28:28,900 혹시. 701 00:28:28,900 --> 00:28:31,410 그래서 혹시이 목록에 대한 명령입니다. 702 00:28:31,410 --> 00:28:33,900 그래서 맥 OS 나 Windows에서, 당신은 일반적으로 두 번 누릅니다 703 00:28:33,900 --> 00:28:36,510 폴더를하고, 좋아, 당신은 다양한 파일을 모두 볼 704 00:28:36,510 --> 00:28:37,210 및 폴더. 705 00:28:37,210 --> 00:28:39,650 만 입력 할 수있는 명령 행 환경에서 706 00:28:39,650 --> 00:28:42,390 명령 또는 텍스트가 적힌 동일합니다. 707 00:28:42,390 --> 00:28:44,380 따라서이 디렉토리에 걸 보여줍니다. 708 00:28:44,380 --> 00:28:46,540 >> 지금은 물건의 무리가 좀 모두 야 여기가 709 00:28:46,540 --> 00:28:48,190 친숙하고 약간 익숙하지. 710 00:28:48,190 --> 00:28:50,740 그러나 예고 일단은 Windows 및 Mac OS, jharvard 같은 711 00:28:50,740 --> 00:28:52,190 바탕 화면 폴더가 있습니다. 712 00:28:52,190 --> 00:28:54,520 내 바탕 화면에있는 모든 아이콘이 일어날 수 있도록 713 00:28:54,520 --> 00:28:55,650 해당 폴더에 있어야합니다. 714 00:28:55,650 --> 00:28:57,250 다운로드 폴더, 그런가 715 00:28:57,250 --> 00:28:58,890 크롬 거기에 넣어 수 있습니다. 716 00:28:58,890 --> 00:28:59,250 보관. 717 00:28:59,250 --> 00:29:01,820 따라서 어플라이언스는 보관을위한 내장 지원을 제공 718 00:29:01,820 --> 00:29:04,500 그래서 결국 학기 동안, 당신은 귀하의 Tea와 동기화 할 수 있습니다 719 00:29:04,500 --> 00:29:06,420 계정 수 있도록 프로그램을 모두 백업됩니다. 720 00:29:06,420 --> 00:29:08,050 그들은 다른 컴퓨터에 액세스 할 수 있습니다. 721 00:29:08,050 --> 00:29:09,780 아무 적 어플라이언스 잘못되면 할 수 있습니다 722 00:29:09,780 --> 00:29:11,340 아주 쉽게 보관에서 복구 할 수 있습니다. 723 00:29:11,340 --> 00:29:12,940 그럼 그 폴더는 거기에 있습니다. 724 00:29:12,940 --> 00:29:14,660 hello.c - 내가 만든 두 개의 파일이 725 00:29:14,660 --> 00:29:16,540 와 a.out. 726 00:29:16,540 --> 00:29:18,530 그리고 오른쪽에있는 다른 폴더가 있습니다 우리가 할 시간 727 00:29:18,530 --> 00:29:20,710 웹으로, 학기의 끝을 향해까지 728 00:29:20,710 --> 00:29:21,540 프로그래밍. 729 00:29:21,540 --> 00:29:26,160 그러는거야 그래서 난 알아. / a.out, 입력, 시작 730 00:29:26,160 --> 00:29:29,460 디렉토리에 나는 현재 디렉토리에서, 그리고 실행 731 00:29:29,460 --> 00:29:32,465 이 프로그램은 바로 a.out했다. 732 00:29:32,465 --> 00:29:35,810 >> 좋아, 그럼 그 좋은 좋은 만, 모든 것이 아니에요 733 00:29:35,810 --> 00:29:38,550 a.out 도움이라는 프로그램을 쓸 수 설득력. 734 00:29:38,550 --> 00:29:40,790 그래서 우리는 실제로 감이 다르게 약간의 작업을 수행 할 수 있습니다. 735 00:29:40,790 --> 00:29:43,980 대신 실행 그 소리가 너무, hello.c, 그럼 추가 할 수 있도록 736 00:29:43,980 --> 00:29:46,850 명령 줄 인수를라는 것을. 737 00:29:46,850 --> 00:29:50,730 따라서 명령 줄 인수, 또는이 경우 스위치는 단지입니다 738 00:29:50,730 --> 00:29:54,930 이 후 프롬프트에 입력하는 다른 단어 나 문구 739 00:29:54,930 --> 00:29:56,290 당신이 실행하려는 프로그램입니다. 740 00:29:56,290 --> 00:29:59,970 따라서이 경우에는, 그 소리 내가 실행하고자하는 프로그램으로,-O 741 00:29:59,970 --> 00:30:03,480 수단의 출력이 더 이상 a.out라는 없어 파일입니다. 742 00:30:03,480 --> 00:30:07,510 출력 파일은 인사라고하고,를 컴파일하여 수행 743 00:30:07,510 --> 00:30:10,200 라인에 마지막으로 할 말은, hello.c. 744 00:30:10,200 --> 00:30:13,200 그래서 짧은에이된다 아주 한계 개선 745 00:30:13,200 --> 00:30:15,850 대신이 바보라는 이름의 파일 a.out를 갖는, 746 00:30:15,850 --> 00:30:21,430 지금은 그 소리-O여보세요, 다음 hello.c 할, 수 747 00:30:21,430 --> 00:30:22,530 입력 한 다음 Enter 키를 누르십시오. 748 00:30:22,530 --> 00:30:25,510 아무 일도 안 일어 날 것 같습니다 없지만, 다시 훨씬 0 좋아 -시 749 00:30:25,510 --> 00:30:28,510 아무 잘못된 건 일을 의미 일어날 것 같네요 - 750 00:30:28,510 --> 00:30:31,460 그래서 지금 실제로 입력, 지금이게 한번 해보자 구, 그리고 751 00:30:31,460 --> 00:30:32,780 인사 프로그램을 갖추고 있습니다. 752 00:30:32,780 --> 00:30:38,510 지금 안부를 입력하면, 명령을 찾을 수 없습니다. 753 00:30:38,510 --> 00:30:39,440 OK,. /. 754 00:30:39,440 --> 00:30:40,220 그럼 정확히 맞아. 755 00:30:40,220 --> 00:30:43,170 따라서이 프로그램 때문에 내가 쓴, 그리고 함께 오지 않았어 756 00:30:43,170 --> 00:30:45,810 컴퓨터. / 안녕, 입력을 의미합니다 757 00:30:45,810 --> 00:30:47,350 지금은 인사를 실행하는거야. 758 00:30:47,350 --> 00:30:48,440 >> 그래서 그게가 있습니다. 759 00:30:48,440 --> 00:30:51,070 이제 우리는 결국 더 많은 명령 줄에 가지게 될겁니다 760 00:30:51,070 --> 00:30:54,110 우리는 더 많은 작업을 수행 할 수 있도록 인수,하지만 단지에 사람들을 위해 761 00:30:54,110 --> 00:30:57,760 이 낡은 모자 일 수도 누구, 내가 실제로에 가자 762 00:30:57,760 --> 00:31:01,910 디렉토리는 여기로와 당신에게 얼마나 다른 우리의 맛보기를 제공 763 00:31:01,910 --> 00:31:05,770 안녕하세요 세계를 구현하는 방법에 대한 갈 수 있습니다. 764 00:31:05,770 --> 00:31:10,730 내가 여기서로 가자, 내가 열어거야. 765 00:31:10,730 --> 00:31:13,090 그래서 사실은 내가 뭘하는지 설명 할게 때문에 766 00:31:13,090 --> 00:31:15,610 이 유용합니다. 767 00:31:15,610 --> 00:31:17,410 날 다시 보자. 768 00:31:17,410 --> 00:31:19,620 >> 그래서 난이에게 일을 오랫동안 해왔습니다. 769 00:31:19,620 --> 00:31:23,030 그럼, 오른쪽 채지 몇​​이 있습니다 770 00:31:23,030 --> 00:31:26,940 이상한 source1m 및 source1w 이름은 디렉토리입니다. 771 00:31:26,940 --> 00:31:28,830 이것은 우리가 사용 어리석게 대회입니다. 772 00:31:28,830 --> 00:31:31,825 소스는 단지 소스 코드를 의미하며, 1이 주입니다 의미하며, 773 00:31:31,825 --> 00:31:34,000 m은 월요일, 그리고 w가 수요일는 뜻을 의미합니다. 774 00:31:34,000 --> 00:31:34,900 이 암호 그럼 아무 없습니다. 775 00:31:34,900 --> 00:31:37,830 단지 속기 표기법입니다. 776 00:31:37,830 --> 00:31:39,860 이 푸른 일들이 달리 알려진 폴더입니다 777 00:31:39,860 --> 00:31:40,630 디렉토리입니다. 778 00:31:40,630 --> 00:31:43,870 지금 그 폴더로 가고 싶어하고, 일반 컴퓨터에서 779 00:31:43,870 --> 00:31:45,710 난 그냥 폴더 아이콘을 두 번 클릭하고 수 780 00:31:45,710 --> 00:31:46,810 모든 파일이 있어요. 781 00:31:46,810 --> 00:31:49,270 그러나 명령 줄 환경에서, 꽤 할 수 없어 782 00:31:49,270 --> 00:31:52,640 그, 그래서 대신 내가 수동으로 디렉토리를 변경해야합니다. 783 00:31:52,640 --> 00:31:57,900 그때 CD 및 source1m를 입력하면, 입력 것을 그 784 00:31:57,900 --> 00:32:01,180 내 프롬프트 왼쪽에 흰색의 문제는, 그냥 바뀌 었습니다. 785 00:32:01,180 --> 00:32:03,690 그리고 실제로, 단지 다음 괄호와 말할 때 786 00:32:03,690 --> 00:32:06,450 내가 였어 작은 squiggle, 틸드 기호, 787 00:32:06,450 --> 00:32:08,800 존 하버드의 홈 디렉토리에있는 자신의 내 문서, 788 00:32:08,800 --> 00:32:10,390 그의 개인 파일. 789 00:32:10,390 --> 00:32:14,000 그러나 지금은 괄호 안에 그 ~ / source1m는 말합니다. 790 00:32:14,000 --> 00:32:17,090 이 내가 source1m라는 폴더에있어 의미 791 00:32:17,090 --> 00:32:19,160 존 하버드의 홈 디렉토리에 그입니다. 792 00:32:19,160 --> 00:32:22,030 지금은 쉽게이 폴더에있는 파일을 나열하고 싶다면 793 00:32:22,030 --> 00:32:25,300 문제는, 난 그냥이게을 입력합니다. 794 00:32:25,300 --> 00:32:28,860 지금은 내가 오늘날의 미리 만든 모든 파일을 볼 수 795 00:32:28,860 --> 00:32:31,020 강의는, 또는 일어날 대부분의 모두의 796 00:32:31,020 --> 00:32:32,740 . C로 끝나야합니다. 797 00:32:32,740 --> 00:32:36,210 >> 그럼 내가 지금 가서라는 프로그램의 gedit를 실행하게 798 00:32:36,210 --> 00:32:39,140 어떤 임의의 해커에 의해 제작되어 holloway.c, 799 00:32:39,140 --> 00:32:42,920 인터넷에서, 이번처럼 조금 보입니다. 800 00:32:42,920 --> 00:32:44,880 우리는이 하나를 통해 갈 수 없습니다 801 00:32:44,880 --> 00:32:48,530 세부, 그러나 그보다 편안를 들어, 특히 경우 802 00:32:48,530 --> 00:32:50,935 이 프로그램이 여기에 무엇을에 같은 추측을하고 싶습니다. 803 00:32:57,950 --> 00:32:59,990 나머지는, 당신은 더 이상 편안한이든, 보장 804 00:32:59,990 --> 00:33:01,655 우리는 말에 썼다까지 안 805 00:33:01,655 --> 00:33:02,160 이번 학기. 806 00:33:02,160 --> 00:33:05,390 이것은 읽을 C 경연 대회의 예를 들어 어떤입니다 807 00:33:05,390 --> 00:33:08,390 수단은 가능한 가장 이상한 보는 프로그램을 작성 808 00:33:08,390 --> 00:33:10,820 다른 스마트 사람을 능가 할 수 비슷하게 누구야 809 00:33:10,820 --> 00:33:13,010 일을 작성하고 쓸 수있는 으시 대며 810 00:33:13,010 --> 00:33:14,280 당신보다 더 이상한 일. 811 00:33:14,280 --> 00:33:17,290 그래서이에서 잘 작성된 프로그램의 예하지 않습니다 812 00:33:17,290 --> 00:33:21,260 스타일의 관점이 그 프로그램의 예입니다 813 00:33:21,260 --> 00:33:22,860 사람들이 노력을 위해 경연 대회를 승리 814 00:33:22,860 --> 00:33:24,090 애매하고 추상적합니다. 815 00:33:24,090 --> 00:33:27,670 >> 우리가이 일을 실행 경우, 내 터미널 창으로 가자 816 00:33:27,670 --> 00:33:28,110 말하자면합니다. 817 00:33:28,110 --> 00:33:29,650 그래서 흑백 환경이라고합니다 818 00:33:29,650 --> 00:33:31,160 일반적으로 터미널 창. 819 00:33:31,160 --> 00:33:32,600 내가 진행하고 컴파일한다. 820 00:33:32,600 --> 00:33:34,440 이 프로그램 때문에 나는 그 소리를 사용하지 않을 거에요 821 00:33:34,440 --> 00:33:36,340 약간의 암호와는 다른 필요 822 00:33:36,340 --> 00:33:38,190 컴파일러 GCC이라 부릅니다. 823 00:33:38,190 --> 00:33:39,200 그러나 같은 일을하지 않습니다. 824 00:33:39,200 --> 00:33:41,130 이 객체 코드를 소스 코드를 소요됩니다. 825 00:33:41,130 --> 00:33:43,940 그리고 지금은 a.out, 해당 프로그램에게 당신을 운영하는 경우 826 00:33:43,940 --> 00:33:46,065 일이 있습니까 보았다. 827 00:33:49,220 --> 00:33:51,170 그 동료 그래서 그 해는 대회를 받았다. 828 00:33:51,170 --> 00:33:54,020 어쨌든, 우리는 그 방향 이라기보다는에 못 들어간다. 829 00:33:54,020 --> 00:33:57,400 >> 그럼 실제로 지금 우리가 할 수있는 일을 떨어져 애타게 봅시다 830 00:33:57,400 --> 00:33:59,540 이러한 기본적인 빌딩 블록을 더 만들어 831 00:33:59,540 --> 00:34:00,590 재미있는 프로그램. 832 00:34:00,590 --> 00:34:02,800 우리가 프로그램을 작성했습니다 그래서, 우리는 프로그램을 실행했습니다. 833 00:34:02,800 --> 00:34:05,780 이제 우리는 실제로 단순화 할 수 있으며 더 이상 쓸 필요가 없습니다 834 00:34:05,780 --> 00:34:07,210 프롬프트에서 단어 연타하다. 835 00:34:07,210 --> 00:34:10,710 우리 프로그램은 더 많은 암호화를 먹어 가면서 밝혀, 우리가 할 수있는, 또는 836 00:34:10,710 --> 00:34:14,699 더 복잡한 오히려, 우리는 실제로이 명령을 실행할 수 있습니다. 837 00:34:14,699 --> 00:34:17,610 그래서 나는 내 홈 디렉토리로 돌아 가자, 말하자면, 저에게 알려 838 00:34:17,610 --> 00:34:20,750 제거 - RM은 제거 명령입니다 - 난 제거 할 839 00:34:20,750 --> 00:34:23,060 파일 a.out 전화를 안녕하세요. 840 00:34:23,060 --> 00:34:25,489 그리고 지금은 양처럼 명령 줄 환경에서 발견 841 00:34:25,489 --> 00:34:27,800 GUI, 당신은 묻는 메시지가 얻을. 비록 버튼을 클릭 할 수 없습니다, 나는 842 00:34:27,800 --> 00:34:31,040 예를 들어, 예에 y를 y를 입력해야합니다. 843 00:34:31,040 --> 00:34:33,460 그리고 지금은 다시 통지를인가요를 입력하면 그 녹색이 844 00:34:33,460 --> 00:34:35,469 프로그램 - a.out과 안녕 - 845 00:34:35,469 --> 00:34:35,734 사라 수 있습니다. 846 00:34:35,734 --> 00:34:37,340 RM 조심하십시오. 847 00:34:37,340 --> 00:34:39,739 그것은 드래그하여 단지 당신처럼 나쁜 일을 할 수 848 00:34:39,739 --> 00:34:40,810 휴지통으로 가지. 849 00:34:40,810 --> 00:34:43,989 >> 그래서 지금의이 앞서 가자 - 난 이걸 할 수 - 그 소리-O 850 00:34:43,989 --> 00:34:45,139 여보세요,여보세요 - 851 00:34:45,139 --> 00:34:46,884 난 이미 그 명령을 입력 지겨워. 852 00:34:46,884 --> 00:34:48,080 나는 빨리 좀를 입력에도 불구하고. 853 00:34:48,080 --> 00:34:51,870 그래서 우리는 대신 인사 할 수 있습니다. 854 00:34:51,870 --> 00:34:53,880 그래서 컴파일러는되지 않습니다 확인하십시오. 855 00:34:53,880 --> 00:34:57,720 그것은이에 단지 리눅스와 함께 제공되는 친절한 프로그램입니다 856 00:34:57,720 --> 00:34:59,070 케이스 - 운영 시스템 - 857 00:34:59,070 --> 00:35:02,480 그 프로그램을 컴파일하는 과정을 자동화합니다. 858 00:35:02,480 --> 00:35:05,555 그래서 그 대신에 그 소리-O 파일 이름 등을 기억 859 00:35:05,555 --> 00:35:08,190 그리고 등등, 특히 한 번 그 줄은 이상하고 860 00:35:08,190 --> 00:35:10,110 더 이상 그냥 만들어 쓸 수 있습니다. 861 00:35:10,110 --> 00:35:12,030 그리고이 물건 그 전체 무리를 뱉어 것입니다 862 00:35:12,030 --> 00:35:13,940 우리는 결국 이번 학기를 볼 수 있습니다. 863 00:35:13,940 --> 00:35:17,500 그러나 지금이 발견 된 경우 I 형인가요, 안녕 내 디렉토리에 다시입니다. 864 00:35:17,500 --> 00:35:19,850 그리고 실제로 나는 함께 실행할 수 있습니다. / 안녕하세요. 865 00:35:19,850 --> 00:35:23,330 그럼 그냥 어떤 실행 프로세스를 자동화 할, 866 00:35:23,330 --> 00:35:26,910 이 경우, 훨씬 더, 더 복잡한 명령을 사용합니다. 867 00:35:26,910 --> 00:35:29,060 그래서 우리는, 가득해서, 제조업체를 사용하여 시작할 거에요 868 00:35:29,060 --> 00:35:30,530 더 우호적 인 사용자입니다. 869 00:35:30,530 --> 00:35:32,770 >> 하지만, 지금은 더 재미있는 프로그램을하자 870 00:35:32,770 --> 00:35:34,650 보다 그냥 인사 나. 871 00:35:34,650 --> 00:35:38,680 따라서 프로그램에서 우리는 지금까지 메인이 작성했습니다. 872 00:35:38,680 --> 00:35:40,890 그건 그냥 모든 개막 기본 일이야. 873 00:35:40,890 --> 00:35:43,340 하지만, 다른 기능은 거기뿐만 아니라 있고, 874 00:35:43,340 --> 00:35:45,890 stdio.h 우리의 상단에 본 일이 875 00:35:45,890 --> 00:35:48,480 파일을 이전, 그건 표준 라이브러리로 알려진거야. 876 00:35:48,480 --> 00:35:51,300 표준 라이브러리의 내부 기능의 전체 무리입니다 877 00:35:51,300 --> 00:35:53,850 다른 사람이 쓴, 우리는이를 사용할 수 있습니다 878 00:35:53,850 --> 00:35:55,050 기능은 더 쓸 수 879 00:35:55,050 --> 00:35:56,760 재미있는 프로그램을 자신. 880 00:35:56,760 --> 00:35:58,370 >> 그럼 내가 다시 어플라이언스에 가자. 881 00:35:58,370 --> 00:35:59,820 이 터미널 창을 닫습니다거야. 882 00:35:59,820 --> 00:36:02,630 나는 우리가 이전에 쓴 일을 닫을하고, 그냥가 있어요 883 00:36:02,630 --> 00:36:07,350 hello.c로, 이제주의 I는 다음과 같은 작업을 수행 할 수 있습니다. 884 00:36:07,350 --> 00:36:09,730 안녕하세요 세상이 모두 관심이없는, 나도 그러고 싶지만 885 00:36:09,730 --> 00:36:11,770 자신이 프로그램을 맞춤 설정합니다. 886 00:36:11,770 --> 00:36:13,440 대신 세계를 말하는 그럼, 내가 갈거야 887 00:36:13,440 --> 00:36:14,830 가서 말 - 888 00:36:14,830 --> 00:36:16,880 난 데이빗을 입력 할 수 있습니다 -하지만 이건 정말 종류입니다 889 00:36:16,880 --> 00:36:18,050 근본적으로 동일합니다. 890 00:36:18,050 --> 00:36:19,970 그러나의이 자리 표시 자 아이디어를 사용해 보자. 891 00:36:19,970 --> 00:36:24,460 오히려 printf에서, C에서 해당을 기억, 우리는이 일을했다 892 00:36:24,460 --> 00:36:28,110 자리 표시 자, 그리고는 % d 개 이상 있습니다. 893 00:36:28,110 --> 00:36:31,150 % 그래서 d는, 빠른 정신 검사했습니다. 894 00:36:31,150 --> 00:36:32,310 그래, 그게 진수입니다. 895 00:36:32,310 --> 00:36:33,860 자릿수가 모두 있습니다. 896 00:36:33,860 --> 00:36:37,755 %의 C 그래서, 우리는 발생되므로, 문자가 될 것입니다. 897 00:36:37,755 --> 00:36:40,530 Z를 통해 여기에 문자를 넣고, 편지, 898 00:36:40,530 --> 00:36:41,600 구두점 기호 나. 899 00:36:41,600 --> 00:36:45,590 단일 문자 %의 말뜻은, 다른 언어에서 아는 사람? 900 00:36:45,590 --> 00:36:47,020 부동 소수점 값을 그럼. 901 00:36:47,020 --> 00:36:47,880 실제 번호입니다. 902 00:36:47,880 --> 00:36:51,550 그럼하지 10 진수 -이 실제로 실제 번호입니다 903 00:36:51,550 --> 00:36:54,130 소수점이, 왼쪽에 자리 중 일부 수 904 00:36:54,130 --> 00:36:55,520 오른쪽 그. 905 00:36:55,520 --> 00:36:58,060 % s을, 문자열입니다. 906 00:36:58,060 --> 00:36:59,530 우리는 매우 자주 보러 간다고 하나입니다. 907 00:36:59,530 --> 00:37:02,140 문자열은 다시, 그냥 단어, 구문,의 순서입니다 908 00:37:02,140 --> 00:37:03,330 개인 자까지 입력 할 수 있습니다. 909 00:37:03,330 --> 00:37:06,730 그리고 마지막으로, lld? 910 00:37:06,730 --> 00:37:08,210 그래서이 코너 케이스에 가깝습니다. 911 00:37:08,210 --> 00:37:09,850 긴 진수. 912 00:37:09,850 --> 00:37:12,035 이 큰, 당신 단지 번호를하지 싶다면 913 00:37:12,035 --> 00:37:14,160 더 큰 숫자를 원하는, 당신은으로 지정해야 할거야 914 00:37:14,160 --> 00:37:16,400 가 특정 크기라고 컴퓨터. 915 00:37:16,400 --> 00:37:17,610 >> 그럼이 조금 조정할 보자. 916 00:37:17,610 --> 00:37:20,610 오히려 데이비드, 그냥 하드 코드보다 저를 조금 알려 917 00:37:20,610 --> 00:37:22,460 동적 % s을 (를) 말한다. 918 00:37:22,460 --> 00:37:25,790 따라서 문자열에 대한 자리 표시 자입니다, 여기에 % s을 (를) 넣어. 919 00:37:25,790 --> 00:37:30,500 그런 다음 여기에 "데이비드"그럼 내가 쉼표을하게합니다. 920 00:37:30,500 --> 00:37:32,770 이제이이 모든 지적 관심이없는 921 00:37:32,770 --> 00:37:35,060 지금 한 모든 사실에 대한 더 많은 작품을 만들어 있기 때문에 922 00:37:35,060 --> 00:37:35,790 컴퓨터. 923 00:37:35,790 --> 00:37:39,660 이 모두 한 번에 컴퓨터를 않는 말보다는 지금입니다 924 00:37:39,660 --> 00:37:43,760 이 작업을 수행하고, 결국 쉼표를 여기에 문자열을 삽입 말하며, 925 00:37:43,760 --> 00:37:44,950 여기에 문자열입니다. 926 00:37:44,950 --> 00:37:47,220 그래서이 더 나은 개선 아니지만, 적어도 그게 927 00:37:47,220 --> 00:37:49,010 더 재미있는 프로그램을 향해 한 걸음. 928 00:37:49,010 --> 00:37:51,240 지금 때문에, 내가 가서이 창을 조금을 덜어주지 929 00:37:51,240 --> 00:37:56,850 더 큰, 제가 가서 인사 할 실행할 수 있습니다. 930 00:37:56,850 --> 00:38:01,340 그리고 지금은. / a.out이 작동하지 않습니다, 왜? 931 00:38:03,880 --> 00:38:05,570 그래, 지금은 인사라고. 932 00:38:05,570 --> 00:38:09,400 그러니 다시 확인하고 또한-O와 연타하다, 이름을 변경 933 00:38:09,400 --> 00:38:11,120 이 프로그램은 더 흥미로운 것을 할 수 있습니다. 934 00:38:11,120 --> 00:38:13,060 그리고 여기에도 : 지금은 인사 데이비드 말합니다. 935 00:38:13,060 --> 00:38:14,590 >> 좋아요, 여전히 바보 같은 프로그램입니다. 936 00:38:14,590 --> 00:38:18,070 그래서 지금의이 실제로 돌아 가서 개념을 소개하겠습니다 937 00:38:18,070 --> 00:38:18,810 변수의. 938 00:38:18,810 --> 00:38:21,600 나는 변수를 선언 할 수 있다면 그것은 좋은 것 같지 않아 939 00:38:21,600 --> 00:38:23,150 문자열은 누구의 유형입니까? 940 00:38:23,150 --> 00:38:26,720 그리고 변수의 값은 실제로 사용자로부터 제공 941 00:38:26,720 --> 00:38:27,810 그 사람 자신. 942 00:38:27,810 --> 00:38:30,240 따라서 임의로, I는 내 변수들, 전화해서 943 00:38:30,240 --> 00:38:32,410 한 변수가 그냥 일반적인 국제 대회라는 944 00:38:32,410 --> 00:38:33,250 문자열입니다. 945 00:38:33,250 --> 00:38:35,670 나는 등호을 할거야, 그럼 내가 전화 할게 946 00:38:35,670 --> 00:38:38,030 기능은 GetString을했다. 947 00:38:38,030 --> 00:38:40,830 그럼 GetString는 C. 그런 거여에 내장되어 있습니다 것이 아닙니다 948 00:38:40,830 --> 00:38:43,330 CS50 직원들이 단지에 대해 작성하는 기능 949 00:38:43,330 --> 00:38:45,670 과정을 단순화 주이 처음 몇, 950 00:38:45,670 --> 00:38:49,450 사용자의 입력을 받고 형태의 사용자 입력을 받고 951 00:38:49,450 --> 00:38:51,960 문자열, 숫자, 그리고의. 952 00:38:51,960 --> 00:38:55,520 그럼 GetString는 printf처럼하지만, 분명히보다는 953 00:38:55,520 --> 00:38:58,700 그것의 이름이대로 할거야 인쇄 문자열을. 954 00:38:58,700 --> 00:39:00,970 그러나 GetString을 사용하려면, 우리는 변화를해야 돼 955 00:39:00,970 --> 00:39:03,180 여기,이 이후. 956 00:39:03,180 --> 00:39:07,170 따라서 직관적으로,이 프로그램은, 바라건대, 어떻게 든 갈 수 있습니다 957 00:39:07,170 --> 00:39:09,700 사용자의 문자열을 받고, 다음에 어떻게 그것을해야 할거야 958 00:39:09,700 --> 00:39:11,460 그 문자열로, S라고? 959 00:39:15,060 --> 00:39:16,470 그것은 바로, 그것을 인쇄 할거야? 960 00:39:16,470 --> 00:39:18,870 아직 안 자극 프로그램이 있기 때문에이 올 961 00:39:18,870 --> 00:39:22,160 할 것은 여기서 % s의에 해당 값 플러그인입니다 962 00:39:22,160 --> 00:39:23,750 가 가야 말합니다. 963 00:39:23,750 --> 00:39:25,290 >> 적어도이 작업에서 볼 수있어 그럼 보자. 964 00:39:25,290 --> 00:39:27,040 제가 저장하고 축소 보자. 965 00:39:27,040 --> 00:39:30,280 지금 내 터미널 창에서 아래로 여기 하나의 작은 조각, 966 00:39:30,280 --> 00:39:32,760 안녕하세요, 날 다시하자. 967 00:39:32,760 --> 00:39:35,160 좋아요, 아, 젠장, 나는 오류를 많이 가지고. 968 00:39:35,160 --> 00:39:38,020 나 스크롤, 우리는 우리를 먼저 보자 - 969 00:39:38,020 --> 00:39:40,430 그래서 당신은 실제로 수 있도록 더 큰 창에서이 작업을 수행 두자 970 00:39:40,430 --> 00:39:42,110 나는 어떻게 망쳤는지에 나쁘게 볼 수 있습니다 - 971 00:39:42,110 --> 00:39:44,460 이렇게 인사합니다. 972 00:39:44,460 --> 00:39:46,540 그래, 맞아, 재해거야? 973 00:39:46,540 --> 00:39:48,740 나는 코드 세 줄을 작성하고, 한 974 00:39:48,740 --> 00:39:50,070 그 날 12 오류를 주어있어. 975 00:39:50,070 --> 00:39:51,980 왜인가요? 976 00:39:51,980 --> 00:39:55,720 그래서 다행히, 당신이 보는 종종 많은 오류를 977 00:39:55,720 --> 00:39:57,730 당신이 없기 때문에 한 번에 토, 정말 그냥 978 00:39:57,730 --> 00:39:59,760 여기에 컴퓨터를 혼동. 979 00:39:59,760 --> 00:40:02,330 그리고 여기 버리기 때까지 혼란 남아 있습니다. 980 00:40:02,330 --> 00:40:04,400 그리고 이건 그냥 배신, 그리고 비틀를 시작하고, 981 00:40:04,400 --> 00:40:07,310 더 무서운 물건을 토 것은보다 실제로 적용됩니다. 982 00:40:07,310 --> 00:40:10,120 따라서 일반적으로 항상 상단 하나를 시작합니다. 983 00:40:10,120 --> 00:40:13,320 >> 그럼 빨간색의 맨 위에 가장 예 984 00:40:13,320 --> 00:40:14,740 오류 메시지가 있습니다. 985 00:40:14,740 --> 00:40:17,750 나는 선언하지 않은 식별자 문자열 않은 사용 986 00:40:17,750 --> 00:40:19,160 의 표준인가요? 987 00:40:19,160 --> 00:40:19,900 난 안 그랬어. 988 00:40:19,900 --> 00:40:24,180 나는 문자열을 의미하지만이 역시 때문에 단어 문자열 989 00:40:24,180 --> 00:40:26,020 나는 구두 실제로 계속 사용하는 990 00:40:26,020 --> 00:40:27,240 중 C에 존재하지 않습니다. 991 00:40:27,240 --> 00:40:29,470 그것은 우리가 처음 두 주에 사용할 뭔가가 992 00:40:29,470 --> 00:40:34,500 여기하지만 cs50.h.라는 파일에 존재 993 00:40:34,500 --> 00:40:37,110 그럼 지금부터,이 다른 라이브러리가 알고 그 994 00:40:37,110 --> 00:40:39,330 직원들은 곡인데, 그것은 최근 이상 기록 된 995 00:40:39,330 --> 00:40:40,510 stdio.h. 996 00:40:40,510 --> 00:40:45,020 그러나 내부 cs50.h 중의 동의어 정의입니다 997 00:40:45,020 --> 00:40:48,310 종류, 그게이 단어 문자열을 만듭니다. 998 00:40:48,310 --> 00:40:50,890 >> 이제 내 터미널 창으로 돌아 가자. 999 00:40:50,890 --> 00:40:53,200 I는 Ctrl-L에 의해이 모든 혼란을 지우 겠어. 우리는 단지드립니다 1000 00:40:53,200 --> 00:40:55,700 모든 깨끗하게 닦아, 내가 가서 할 겁니다 1001 00:40:55,700 --> 00:40:57,860 안녕하세요 다시 입력합니다. 1002 00:40:57,860 --> 00:40:59,440 이제 무슨 일이 있었습니까? 1003 00:40:59,440 --> 00:41:01,150 이제 이러한 오류는 모두 떠나 갔다. 1004 00:41:01,150 --> 00:41:02,230 그럼 내가 정말 무슨 짓을 한거야? 1005 00:41:02,230 --> 00:41:05,920 난 그냥 문자열이 존재하는 컴퓨터를 가르쳐 왔으며, 그건 1006 00:41:05,920 --> 00:41:07,890 cs50.h.라는 그 파일 안에 1007 00:41:07,890 --> 00:41:10,930 그럼 어디 있는지 지금 당신이 알고 있기 때문에 그만 좀 투덜 거려 1008 00:41:10,930 --> 00:41:13,220 그 함수의 선언은 말하자면합니다. 1009 00:41:13,220 --> 00:41:15,200 이 세계에 존재 곳. 1010 00:41:15,200 --> 00:41:18,820 >> 그래서 저는 가서 인사 실행하는거야. 1011 00:41:18,820 --> 00:41:22,300 나는 무한 루프, 아무 일도을 갖고있는 것 같다. 1012 00:41:25,530 --> 00:41:26,870 그래서 여기 뭔가를 입력해야합니다. 1013 00:41:26,870 --> 00:41:29,650 내 프로그램에서 코드의 첫 번째 줄은 GetString되었습니다. 1014 00:41:29,650 --> 00:41:31,750 나 문자열을하기 때문에 그대로 기다리고있어. 1015 00:41:31,750 --> 00:41:33,680 그럼 의미에서 예, 무한 루프입니다. 1016 00:41:33,680 --> 00:41:36,520 분명히 GetString에서 기본 동작은 우리 1017 00:41:36,520 --> 00:41:37,510 작성 - 직원 - 1018 00:41:37,510 --> 00:41:39,550 그, 그냥 기다려 기다려 기다려 기다려 기다려 말한다 1019 00:41:39,550 --> 00:41:42,550 사용자가 들어 뭔가를 입력하여 당신에게 문자열을 제공 할 때까지 1020 00:41:42,550 --> 00:41:46,000 I-D 입력 - 그럼 내가 가서 D--V를 입력 보자. 1021 00:41:46,000 --> 00:41:47,420 그리고는 데이비드 인사입니다. 1022 00:41:47,420 --> 00:41:50,430 >> 그냥 연기처럼 지금이 드는 데요? 1023 00:41:50,430 --> 00:41:52,810 내가 가서 토미 입력 보자. 1024 00:41:52,810 --> 00:41:54,740 좋아, 입력 작업을 할 것 같습니다. 1025 00:41:54,740 --> 00:41:59,130 롭, Zamyla에 대한 작품에 대한 작품에 적용 - 알았어. 1026 00:41:59,130 --> 00:42:01,000 그래서 대부분 작동거야. 1027 00:42:01,000 --> 00:42:05,030 그럼, 우리가 실제로주고 어떤 인쇄한다 1028 00:42:05,030 --> 00:42:07,830 우리는 여기 좀 어려울 수 있습니다. 1029 00:42:07,830 --> 00:42:12,130 우리가 인사처럼 뭔가를하면 봅시다. 1030 00:42:12,130 --> 00:42:18,000 여기에 갈 수, 복사, 붙여 넣기를 보자. 1031 00:42:18,000 --> 00:42:19,950 나는 여러 번 붙여 넣기 할 수 않을거야. 1032 00:42:19,950 --> 00:42:24,410 붙여 넣기, 알, + Ctrl 키를 + V. 방향으로 그래서 수 1033 00:42:24,410 --> 00:42:26,970 여기에 나쁜 일이 일어날까요? 1034 00:42:26,970 --> 00:42:27,770 >> 좋아, 그럼 segfaults. 1035 00:42:27,770 --> 00:42:29,710 따라서 일부 이전 배경은 알 수 1036 00:42:29,710 --> 00:42:32,710 그들은 때 일반적으로, 컴퓨터에게 입력을 많이주는 1037 00:42:32,710 --> 00:42:36,140 나쁜 - 아마이 같은 긴 이름을 수신하기위한 수 없습니다 1038 00:42:36,140 --> 00:42:36,740 일이 생겼어요. 1039 00:42:36,740 --> 00:42:39,230 사실, 웹의 세계도,이 꽤 발생 1040 00:42:39,230 --> 00:42:41,000 당신이 때 당신은 웹 사이트를 설계,하고 상기 할 때 1041 00:42:41,000 --> 00:42:43,850 디자인 페이스 북, 당신은 임의의 결정을 내려야 1042 00:42:43,850 --> 00:42:45,370 얼마나 오래 될 사람의 같은 앞, 1043 00:42:45,370 --> 00:42:46,360 페이스 북 사용자 이름은 수? 1044 00:42:46,360 --> 00:42:48,050 또는 얼마나 오랫동안 다른 사람의 이름이 될 것인가? 1045 00:42:48,050 --> 00:42:50,110 얼마나 다른 사람의 전화 번호가 있어야하고 좋아합니다. 1046 00:42:50,110 --> 00:42:53,580 프로그래머가 나쁜 가정을한다면, 프로그램은 깨 1047 00:42:53,580 --> 00:42:56,640 당신은 그들에게 추가 정보를 입력 더 많은 출력을 제공하려고하기 때문에 1048 00:42:56,640 --> 00:42:58,330 오히려, 그들은 메모리가보다. 1049 00:42:58,330 --> 00:43:01,860 또는 RAM, 난 Enter 키를 그래서 지금 경우에 할당하고, 1050 00:43:01,860 --> 00:43:04,640 우리가 도서관에 있었기 때문에 그 프로그램이 실제로 일 1051 00:43:04,640 --> 00:43:06,790 우리는 실제로 특정 사건을 예상. 1052 00:43:06,790 --> 00:43:10,900 그러나 의심 할 여지없이 이번 학기, 당신은 하나 이상을 기록합니다 1053 00:43:10,900 --> 00:43:13,280 이러한 단어를 말할 것이다 프로그램입니다. 1054 00:43:13,280 --> 00:43:16,520 지금부터이 주 기억, 아마 지금부터 이틀 이요. 1055 00:43:16,520 --> 00:43:18,760 세분화 잘못 나쁜 일입니다. 1056 00:43:18,760 --> 00:43:21,920 당신하고 뭐 그 컴퓨터에 참조합니다 1057 00:43:21,920 --> 00:43:23,310 예상하지 않았다. 1058 00:43:23,310 --> 00:43:25,810 당신과 그 경우, 프로그래머가 예상하지 않았다. 1059 00:43:25,810 --> 00:43:27,720 대부분 양말의 더미는 다양한 있었 맘에 1060 00:43:27,720 --> 00:43:29,520 코너의 경우는 우리가 발생했을 수 있습니다. 1061 00:43:29,520 --> 00:43:32,340 마찬가지로 프로그램에서 당신은 얼마나 긴 기대하지 않은 경우 1062 00:43:32,340 --> 00:43:33,310 사람의 이름은 될거야. 1063 00:43:33,310 --> 00:43:35,890 또는 무엇을 나는 악의있는​​ 사용자를 가지고 있고, 자신의 이름이있는 경우 1064 00:43:35,890 --> 00:43:37,230 꽤 짧은,하지만 그들은 단지 노력 중입니다 1065 00:43:37,230 --> 00:43:37,960 나를 엿먹이려고? 1066 00:43:37,960 --> 00:43:40,490 어떻게 내 프로그램의 동작 할거야? 1067 00:43:40,490 --> 00:43:43,930 그렇다면, 무슨 일이 실제로 충돌 할 수 있습니다. 1068 00:43:43,930 --> 00:43:44,750 >> 그래서 한번 해보자 구. 1069 00:43:44,750 --> 00:43:46,860 90 분이 끔찍한 시간이 오래입니다 1070 00:43:46,860 --> 00:43:47,780 컴퓨터 과학을합니다. 1071 00:43:47,780 --> 00:43:49,550 왜 우리는 5 분을 복용 습관에 못 1072 00:43:49,550 --> 00:43:51,520 여기 깨, 우리가 돌​​아 왔을 때, 우리는 몇 가지로 잠수 할것입니다 1073 00:43:51,520 --> 00:43:53,430 더 복잡하고 강력한 프로그램? 1074 00:43:53,430 --> 00:43:54,680 5 분. 1075 00:43:56,910 --> 00:43:58,160 >> 괜찮아요. 1076 00:44:01,138 --> 00:44:02,780 어느 빠른 댓글 달기를 수행 할 수 있습니다. 1077 00:44:02,780 --> 00:44:05,590 나는 그이 전에 화면에었지만, 뭐 저는 들었습니다 1078 00:44:05,590 --> 00:44:08,880 내 입에서 나온 cs50.net/rsvp이었다. 1079 00:44:08,880 --> 00:44:11,670 이 올바른 것입니다. cs50.net/lunch. 1080 00:44:11,670 --> 00:44:16,030 이제 당신은 / 점심 시간에 이거 RSVPing 시도 할 수 있습니다. 1081 00:44:16,030 --> 00:44:16,980 그러나 지금은이 작업을 수행 까. 1082 00:44:16,980 --> 00:44:20,150 그래서이 사람들의 많은을 위해 빠르게, 슈퍼 새로운 있었다. 1083 00:44:20,150 --> 00:44:21,560 일부 사람들에 대한 오래된 모자. 1084 00:44:21,560 --> 00:44:24,930 그러니까 그냥 잠시 돌려 보자, 우리가에 도착을 확인 1085 00:44:24,930 --> 00:44:29,350 잠시만 전에이 여러분, 안녕하세요 출력. 1086 00:44:29,350 --> 00:44:31,780 >> 그래서 일단,이 CS50 어플라이언스가 있습니다. 1087 00:44:31,780 --> 00:44:34,270 다시, 소프트웨어, 문제의 부분은 1로 설정하는 것은 말할 거에요 1088 00:44:34,270 --> 00:44:36,610 를 다운로드 할 위치를 어떻게 클릭하는지, 그것을 다운로드 1089 00:44:36,610 --> 00:44:37,430 등등. 1090 00:44:37,430 --> 00:44:39,670 당신이 그 지침을 따르십시오되면 그 다음, 당신은 할 수 있습니다 1091 00:44:39,670 --> 00:44:42,840 창문을 극대화하고, Mac 또는 PC가 보 1092 00:44:42,840 --> 00:44:43,910 이와 같은 작은 선물. 1093 00:44:43,910 --> 00:44:47,170 검정색 배경, 모든 상단의 홈 폴더 1094 00:44:47,170 --> 00:44:49,850 파일은 휴지통 상단 왼쪽에 수,가 1095 00:44:49,850 --> 00:44:51,130 맨 아래에있는 메뉴를 선택합니다. 1096 00:44:51,130 --> 00:44:54,010 그럼 다시, 맥 OS 또는 Windows에 정신에 아주 유사한, 1097 00:44:54,010 --> 00:44:56,040 이 리눅스로 발생하더라도. 1098 00:44:56,040 --> 00:44:58,120 그래서 우리는 다음에 무슨 짓을 한거야? 1099 00:44:58,120 --> 00:44:59,580 음, 우리는 프로그램을 작성하는 시작했다. 1100 00:44:59,580 --> 00:45:02,260 모든이를 작성하는 데 걸리는 지난 주에 온 기억 1101 00:45:02,260 --> 00:45:04,970 프로그램은 간단한 텍스트 편집기입니다 1102 00:45:04,970 --> 00:45:06,550 메모장이나 텍스트 편집기처럼. 1103 00:45:06,550 --> 00:45:08,360 솔직히, 당신은 Microsoft Word를 사용 할 수도 있습니다. 1104 00:45:08,360 --> 00:45:11,170 그게 아주 때문에 나쁜 일이 결국 발생합니다 1105 00:45:11,170 --> 00:45:13,930 강압적 프로그램을 작성하기위한 솔루션 플러스는주지 1106 00:45:13,930 --> 00:45:15,400 그 잘못된 파일 형식 저장합니다. 1107 00:45:15,400 --> 00:45:18,150 하지만 그게 전부 그냥 텍스트 편집기, 워드 프로세서이야, 1108 00:45:18,150 --> 00:45:19,390 프로그램을 작성해야했습니다. 1109 00:45:19,390 --> 00:45:23,420 >> 그래서 CS50 어플라이언스에, 우리는 하나의 간단한 방법으로이 작업을 수행 할 수 있습니다. 1110 00:45:23,420 --> 00:45:25,580 우리는 왼쪽 하단에이 아이콘을 클릭 할 수 있습니다. 1111 00:45:25,580 --> 00:45:28,790 그리고 다시, 문제는 1이 당신을 조언하고, 짜잔을 설정 - 1112 00:45:28,790 --> 00:45:31,210 당신은 우리가 시작할 수 있습니다 검은 색과 흰색 인터페이스를 1113 00:45:31,210 --> 00:45:32,160 코드를 작성. 1114 00:45:32,160 --> 00:45:34,960 그러니 다시 슈퍼 간단한 프로그램을 작성하는 시작하자. 1115 00:45:34,960 --> 00:45:38,890 나는 파일 저장하도록 갈거야, 나는 전화해서 1116 00:45:38,890 --> 00:45:42,870 이, hello2.c, 보자. 1117 00:45:42,870 --> 00:45:45,410 그리고 난 그냥 jharvard를 클릭하여 말하는데, 넣어 1118 00:45:45,410 --> 00:45:46,750 의 홈 디렉토리에, 난 정말 상관 없어요 1119 00:45:46,750 --> 00:45:47,980 이 사람이 어디로 가는지. 1120 00:45:47,980 --> 00:45:49,090 그리고 저장합니다. 1121 00:45:49,090 --> 00:45:50,880 그리고 지금은 내 프로그램을 작성할 수있을 것입니다. 1122 00:45:50,880 --> 00:45:53,560 그리고 이전에 제가 INT를 작성해야한다는의 기억 1123 00:45:53,560 --> 00:45:55,400 주 (무효). 1124 00:45:55,400 --> 00:45:57,000 맨 왼쪽에 확대합니다. 1125 00:45:57,000 --> 00:46:02,670 그리고는 printf 말하고 싶은 두보십시오. 1126 00:46:02,670 --> 00:46:05,690 지금은 줄 바꿈, 가까운 견적, 가까이 1127 00:46:05,690 --> 00:46:07,820 괄호, 세미콜론. 1128 00:46:07,820 --> 00:46:10,560 그리고 제 생각 엔 내 터미널 창으로 여기에 이​​동 1129 00:46:10,560 --> 00:46:12,840 단지 편의를 위해 gedit에 내장. 1130 00:46:12,840 --> 00:46:15,200 그리고 난 가서 인사 할 쓰겠는 모르겠지만 1131 00:46:15,200 --> 00:46:17,500 혼자, hello2 안녕하세요. 1132 00:46:17,500 --> 00:46:20,490 >> 그래서 내 파일 hello2.c라고. 그러므로 내 파일 1133 00:46:20,490 --> 00:46:23,510 이 경우 hello2를 호출해야합니다. 1134 00:46:23,510 --> 00:46:26,490 젠장, 내가 무슨 짓을 한거야? 1135 00:46:26,490 --> 00:46:29,490 당신이 기억을 되살려 좋아, 내가 분명히 선을 생략 무엇 1136 00:46:29,490 --> 00:46:31,020 이전 프로그램이 같아. 1137 00:46:31,020 --> 00:46:32,480 하지만 우리가 떨어져이 뭐라 할 수 있는지 보자. 1138 00:46:32,480 --> 00:46:35,310 불행하게도, 대부분의 사람들은 프로그램을 작성하는 사람이있는 1139 00:46:35,310 --> 00:46:38,820 우리는 프로그램이 모두 잘 일을 단순화하지 않습니다 써주세요. 1140 00:46:38,820 --> 00:46:41,520 그래서 우리는 매우 무엇을하지 않는 이상 탈지 종류의해야 1141 00:46:41,520 --> 00:46:44,050 여기 감지하고 우리가 무슨 문제가있는 지 알아 낼 수 있는지 확인하십시오. 1142 00:46:44,050 --> 00:46:46,700 암묵적으로 C를 선언가 매우 첫 번째 줄 말한다 1143 00:46:46,700 --> 00:46:49,310 유형 INT와 printf 라이브러리 함수. 1144 00:46:49,310 --> 00:46:51,210 좋아, 내가 그 부분을 이해. 1145 00:46:51,210 --> 00:46:54,570 그러나 내가 printf 사용한 사실에 alluding 것 같다 1146 00:46:54,570 --> 00:46:55,700 잘못 든. 1147 00:46:55,700 --> 00:46:56,930 그리고 무슨 느낌이 뭐가 문제 야? 1148 00:46:56,930 --> 00:46:59,970 난 그냥이 파일에있는 컴퓨터를 가르치는 안 1149 00:46:59,970 --> 00:47:01,420 stdio.h했다. 1150 00:47:01,420 --> 00:47:04,120 지금은 지금 printf 것을 기억해야 1151 00:47:04,120 --> 00:47:06,540 stdio.h에, 그리고 실제로 다른이있을거야 1152 00:47:06,540 --> 00:47:08,900 우리가 익숙해 질거야하는 동일한 파일에 작동합니다. 1153 00:47:08,900 --> 00:47:12,490 >> 그래서 지금 내가 진행하고 Ctrl-L 방금 삭제 나갑시다 그 1154 00:47:12,490 --> 00:47:16,050 거리 hello2을 다시 실행하면, 봐라. 1155 00:47:16,050 --> 00:47:19,490 그리고 우리는을 위해 다시 더 복잡한 명령을 설명합니다보다 1156 00:47:19,490 --> 00:47:20,520 오늘의 목적. 1157 00:47:20,520 --> 00:47:23,570 그러나 그 소리를 실행 못했고, 그 소리는 소스 코드를 소요 1158 00:47:23,570 --> 00:47:24,870 0s와 1 초에서 침을 뱉. 1159 00:47:24,870 --> 00:47:28,610 이 경우 0s와 1S 그는 어떤이라고? 1160 00:47:28,610 --> 00:47:29,470 좋아요, 코드를 반대합니다. 1161 00:47:29,470 --> 00:47:32,210 그리고 그들이 처한 파일은, 그래서,라고합니다 1162 00:47:32,210 --> 00:47:33,820 이 경우 hello2. 1163 00:47:33,820 --> 00:47:37,040 내 텍스트 파일 hello2.c이기 때문에 입력합니다. 1164 00:47:37,040 --> 00:47:39,820 그리고 이제 두 느낌표, 감탄을했습니다 1165 00:47:39,820 --> 00:47:41,880 포인트, 느낌표. 1166 00:47:41,880 --> 00:47:45,430 좋아, 지금 우리가 문자열을 얻을 수있는 능력을 가지고 있으므로 1167 00:47:45,430 --> 00:47:46,280 분명. 1168 00:47:46,280 --> 00:47:48,190 음, 우리는 사용자로부터 다른 무엇을 얻을 수 있나요? 1169 00:47:48,190 --> 00:47:51,010 >> 잘 CS50 도서관에서, 다른 기능은 그거 1170 00:47:51,010 --> 00:47:53,300 이 첫 몇 일 동안 우리의 삶을 단순화 할 수 있습니다. 1171 00:47:53,300 --> 00:47:56,350 GetChar, GetDouble, GetFloat, GetInt, 1172 00:47:56,350 --> 00:47:57,290 GetLongLong, GetString. 1173 00:47:57,290 --> 00:47:59,550 음,이 첫번째의 쉬운을 꺽을 두자. 1174 00:47:59,550 --> 00:48:01,430 GetString 그대로 그렇게하지 ​​않습니다. 1175 00:48:01,430 --> 00:48:04,210 단지에 뭔가를 입력 할 사용자를 기다리고 앉아서 1176 00:48:04,210 --> 00:48:07,170 그리고 최대한 빨리에 뭔가를 입력하고, 그 입력을 누르으로 1177 00:48:07,170 --> 00:48:08,860 이 값에 뭐가 않습니다. 1178 00:48:08,860 --> 00:48:11,700 그러니 정확히 볼 수는 예로 돌아 가자 1179 00:48:11,700 --> 00:48:12,950 GetString 짓습니다. 1180 00:48:12,950 --> 00:48:17,445 내가 가서 gedit, hello.c에서 열어 보자, 그리고 기억 1181 00:48:17,445 --> 00:48:20,590 우리가 그만 둔 곳이 바로 휴식하기 전에이 있습니다. 1182 00:48:20,590 --> 00:48:23,240 >> 그럼 이제 좀 더 자세히 구별을 애타게 보자. 1183 00:48:23,240 --> 00:48:27,190 따라서 6 호선에 두 가지가 있습니다 1184 00:48:27,190 --> 00:48:28,450 현재 벌어지고 있습니다. 1185 00:48:28,450 --> 00:48:32,630 같은 기호는 상반기와 하반기를 분리합니다. 1186 00:48:32,630 --> 00:48:34,670 따라서 등호의 왼쪽에, 우리는 1187 00:48:34,670 --> 00:48:35,580 문자열의 말을. 1188 00:48:35,580 --> 00:48:37,580 그리고, 그냥 일반 시민들의, 문자열의 무슨 1189 00:48:37,580 --> 00:48:41,040 하고, 당신은 생각하십니까? 1190 00:48:41,040 --> 00:48:42,990 이 무엇을 만드는거야? 1191 00:48:42,990 --> 00:48:44,930 그럼 S라는 문자열을시키고 있어요. 1192 00:48:44,930 --> 00:48:46,370 지금 그건 정말 무엇을 의미합니까? 1193 00:48:46,370 --> 00:48:51,540 음, S라는 문자열 공간을 예약있어. 1194 00:48:51,540 --> 00:48:52,490 꽤 괜찮 없습니다. 1195 00:48:52,490 --> 00:48:53,120 이것은 무엇을하는거야? 1196 00:48:53,120 --> 00:48:55,400 아시다시피 컴퓨터는 하드 드라이브를 가지고, 그 어디 1197 00:48:55,400 --> 00:48:56,300 파일이 저장됩니다. 1198 00:48:56,300 --> 00:48:59,100 컴퓨터 RAM를 가지고 있고, 프로그램이로드되는 곳 이죠 1199 00:48:59,100 --> 00:49:00,240 그들은 실행하는 동안. 1200 00:49:00,240 --> 00:49:02,470 그래서 당신은 때 아이콘 및 Microsoft Word 열립니다을 두 번 클릭 1201 00:49:02,470 --> 00:49:06,380 업, Microsoft Word는 인, RAM에 말하자면, 실행중인 1202 00:49:06,380 --> 00:49:08,160 컴퓨터의 전자 부품. 1203 00:49:08,160 --> 00:49:10,660 회전 수도 없어 실제, 기계 부품, 어디서 1204 00:49:10,660 --> 00:49:12,640 데이터는 일반적으로 장기적으로 저장됩니다. 1205 00:49:12,640 --> 00:49:15,810 따라서 문자열 s은 (는) 거의 컴퓨터가 나에게 말하고 1206 00:49:15,810 --> 00:49:18,150 충분한는 문자열에 맞게 RAM. 1207 00:49:18,150 --> 00:49:20,450 때문에 지금 생각하면 oversimplification 약간입니다 1208 00:49:20,450 --> 00:49:22,300 문자열의 크​​기 제한은 어떻게 할거야? 1209 00:49:22,300 --> 00:49:24,410 자, 우리가 실제로오고 있으므로 주, 아직 몰라 1210 00:49:24,410 --> 00:49:27,290 우리는 실제로 문자열 층을 다시 끌어 낼거야 1211 00:49:27,290 --> 00:49:28,510 우리는 정말 무엇인지 말해주지. 1212 00:49:28,510 --> 00:49:31,050 문자열은 지금, 우리의 세계의 좋은 단순화합니다. 1213 00:49:31,050 --> 00:49:35,700 그러나 문자열 s은 (는) 지금, S라는 문자열을 선언합니다. 1214 00:49:35,700 --> 00:49:36,520 문자열을 선언합니다. 1215 00:49:36,520 --> 00:49:39,310 하지만 사용자가 문자열을 RAM의 일부 공간을 보유 1216 00:49:39,310 --> 00:49:40,150 입력하는 방법에 대한. 1217 00:49:40,150 --> 00:49:41,840 >> 지금의이 등호의 오른쪽에서 찾아 보자. 1218 00:49:41,840 --> 00:49:44,110 그럼 GetString ()는 그 말한다. 1219 00:49:44,110 --> 00:49:45,070 그리고 약간 정신이 확인합니다. 1220 00:49:45,070 --> 00:49:47,940 괄호 안에 아무 것도 없다는 사실 1221 00:49:47,940 --> 00:49:50,810 GetString에 대한 무엇을 의미? 1222 00:49:50,810 --> 00:49:52,180 이 인수도도지지 않습니다. 1223 00:49:52,180 --> 00:49:55,290 즉, 어떤 방법으로 그 행동에 영향을 미칠 수 없습니다. 1224 00:49:55,290 --> 00:49:58,940 당신이 그것을 사용 때마다, 그것은 문자열을 얻을 것이다 그게 전부예요. 1225 00:49:58,940 --> 00:50:02,210 대조적으로, printf, 희망의 동작 수행 1226 00:50:02,210 --> 00:50:03,010 때마다 변경할 수 있습니다. 1227 00:50:03,010 --> 00:50:05,230 그렇지 않으면, 꽤 쓸모 인쇄 기능입니다 경우 1228 00:50:05,230 --> 00:50:06,480 이 같은 일을하지 않습니다. 1229 00:50:06,480 --> 00:50:07,970 항상 데이비드라도 인쇄되면 1230 00:50:07,970 --> 00:50:09,500 임의의 모든 시간을. 1231 00:50:09,500 --> 00:50:11,540 따라서 printf 인자를 가지고하는 것이 합리적이다. 1232 00:50:11,540 --> 00:50:14,240 내가 원한 때문에 GetString 정말 인자를 필요가 없습니다 1233 00:50:14,240 --> 00:50:16,700 사용자의 문자열을하며 무슨 사용자의 방법 1234 00:50:16,700 --> 00:50:19,580 다른 문자를 입력하여 역 동성을 제공하는 1235 00:50:19,580 --> 00:50:20,850 키보드마다. 1236 00:50:20,850 --> 00:50:23,140 >> 따라서 궁극적으로 무엇을합니까 GetString는 무엇입니까? 1237 00:50:23,140 --> 00:50:25,080 이 작은 블랙 박스로 생각하시면됩니다. 1238 00:50:25,080 --> 00:50:29,340 그리고이 블랙 박스는 입력을지지 않습니다,하지만 때 탕에 1239 00:50:29,340 --> 00:50:33,240 어서, 어서 사용자가 들어 입력했다는 문자열을 침을 뱉 1240 00:50:33,240 --> 00:50:36,660 그리고 등호가 있다는 사실이 소요될도 의미 1241 00:50:36,660 --> 00:50:39,890 오른쪽에 내 치고 내부를 저장하는지 1242 00:50:39,890 --> 00:50:41,390 왼쪽에거야. 1243 00:50:41,390 --> 00:50:43,470 여기에 따라서 등호가 실제로 의미하지는 않습니다 1244 00:50:43,470 --> 00:50:46,490 평등, 비교적 기술적 과제를 의미합니다. 1245 00:50:46,490 --> 00:50:49,330 오른쪽에있는 값을 가지고, 그리고에 넣고 1246 00:50:49,330 --> 00:50:51,050 왼쪽에있는 변수. 1247 00:50:51,050 --> 00:50:52,820 그래서 모두 거기 일어나는 그입니다. 1248 00:50:52,820 --> 00:50:55,640 >> 지금 7 호선에서, 우리는 printf이라고합니다. 1249 00:50:55,640 --> 00:50:58,170 따라서 printf 잘하면 지금 쯤은 좀 지루을 받고있다. 1250 00:50:58,170 --> 00:50:59,530 그래서 형식 문자열을 인쇄 할 수 있습니다. 1251 00:50:59,530 --> 00:51:00,440 어떤 문자열? 1252 00:51:00,440 --> 00:51:05,460 인쇄, "H-E-L-L-O, % s을 1253 00:51:05,460 --> 00:51:07,840 ! \ N ". 1254 00:51:07,840 --> 00:51:10,470 좋아, 내가 % s에 대한 플러그인에 무슨 일을하려는 거죠? 1255 00:51:10,470 --> 00:51:12,960 그대로, 무엇이든지 S에 저장됩니다. 1256 00:51:12,960 --> 00:51:15,570 따라서이 경우, 작은 정신 검사, 얼마나 많은 인자 않습니다 1257 00:51:15,570 --> 00:51:16,820 printf 걸릴? 1258 00:51:19,860 --> 00:51:21,110 그래, 난 하나를 들었습니다. 1259 00:51:23,840 --> 00:51:26,330 또 하나 들었습니다. 1260 00:51:26,330 --> 00:51:27,730 둘째, 난 두 들었습니다. 1261 00:51:27,730 --> 00:51:29,920 그리고 방법에 대한 세번째는 요? 1262 00:51:29,920 --> 00:51:30,450 좋아, 셋? 1263 00:51:30,450 --> 00:51:30,930 좋아요. 1264 00:51:30,930 --> 00:51:33,170 세 가지 답은 둘 중 한 사람 만이 올바른 것입니다. 1265 00:51:33,170 --> 00:51:36,390 그래서 인수는 다시 함수의 동작에 영향을 미칩니다. 1266 00:51:36,390 --> 00:51:39,380 과거에는 printf 하나의 인수를 않았다. 1267 00:51:39,380 --> 00:51:42,260 '여러분, 안녕하세요 "는 하나의 인수했습니다. 1268 00:51:42,260 --> 00:51:45,190 이 쉼표가있는 곳 그러나, 지금 확인합니다. 1269 00:51:45,190 --> 00:51:49,600 쉼표는 의미 견적 / 인용을 끝 맺다, 외부입니다 1270 00:51:49,600 --> 00:51:52,170 야 printf, 여기 두 번째 인수를 제공합니다. 1271 00:51:52,170 --> 00:51:54,240 >> 따라서 대부분의 프로그래밍 언어에서 쉼표 1272 00:51:54,240 --> 00:51:57,300 별도의 여러 인수. 1273 00:51:57,300 --> 00:51:59,600 그래서 답은 있기 때문에, 확실히 하나가 아닙니다 1274 00:51:59,600 --> 00:52:00,390 이 쉼표가 있습니다. 1275 00:52:00,390 --> 00:52:03,680 따라서 최소한, printf 분명 두하고있다 1276 00:52:03,680 --> 00:52:04,940 인수이 시간. 1277 00:52:04,940 --> 00:52:07,050 하지만 여기 트릭 질문 할 수있는 기회가 무엇인지 1278 00:52:07,050 --> 00:52:07,990 이 쉼표는? 1279 00:52:07,990 --> 00:52:11,260 이 세 가지 인수가 실제로이 있다는 의미합니까? 1280 00:52:11,260 --> 00:52:13,820 이,이,이. 1281 00:52:13,820 --> 00:52:18,820 그래서 더 그 쉼표는 인용 부호 안에 있기 때문에, 어떤 없습니다 1282 00:52:18,820 --> 00:52:20,890 정말 영어 만 아름다움이라는 뜻이에요. 1283 00:52:20,890 --> 00:52:23,180 그것은의 수와는 아무 상관이없는 일 1284 00:52:23,180 --> 00:52:24,890 이 프로그램에 인수. 1285 00:52:24,890 --> 00:52:27,670 그래서 쉼표 따옴표 외부에 있습니다. 1286 00:52:27,670 --> 00:52:28,850 그리고 0을 반환합니다. 1287 00:52:28,850 --> 00:52:30,980 지금의달라고 종류의에 대한 신념에이 한 명을 데려와 1288 00:52:30,980 --> 00:52:34,460 오늘, 그리고 기능이 완료되면 실행 알 1289 00:52:34,460 --> 00:52:37,950 코드의 라인은, 그들은 일반적으로 어떤 값을 반환해야합니다. 1290 00:52:37,950 --> 00:52:42,010 이 경우, 단지 주는 정수를 반환해야하기 때문에 1291 00:52:42,010 --> 00:52:44,320 그것은 바로 언어 C 작동 방법입니다. 1292 00:52:44,320 --> 00:52:47,040 >> 아무것도이 잘못되지 않도록하기 때문에이 프로그램의 느낌 1293 00:52:47,040 --> 00:52:49,960 좋아, 난 그냥 열심히 반환 0에서 코딩. 1294 00:52:49,960 --> 00:52:52,980 그러나 반면에, 나는 의사 코드에서이 작업을 써야 겠어 1295 00:52:52,980 --> 00:52:55,020 우리는 양말을 한 경우, 지금 많은 요셉과 같은가요 1296 00:52:55,020 --> 00:52:56,220 예를 들어 지난 주에. 1297 00:52:56,220 --> 00:53:00,440 뭔가 잘못되었을 경우 -이 실제 코드가 아닙니다 - 갔다 1298 00:53:00,440 --> 00:53:06,570 잘못된 그럼, 그럼 ..., 1을 반환합니다. 1299 00:53:06,570 --> 00:53:08,770 다른 0을 반환합니다. 1300 00:53:08,770 --> 00:53:10,070 그래서 우리가이가는 곳입니다. 1301 00:53:10,070 --> 00:53:12,090 이것은 단지 의사 실제 C 코드가 아닙니다. 1302 00:53:12,090 --> 00:53:14,010 그러나 여러분이 제공 할 수 방법입니다 1303 00:53:14,010 --> 00:53:15,580 다른 가능한 값. 1304 00:53:15,580 --> 00:53:19,520 하지만 지금은 그냥 가서 공을 반환하는거야. 1305 00:53:19,520 --> 00:53:24,410 자, 지금까지 문법, 기능에 대한 질문 1306 00:53:24,410 --> 00:53:25,000 나 맘에 들어? 1307 00:53:25,000 --> 00:53:26,280 네, 다시 인치 1308 00:53:26,280 --> 00:53:27,530 >> 대상 : [안 들리게] 1309 00:53:30,510 --> 00:53:32,210 데이빗 MALAN : 당신이 더 크게 조금 말할 수 있습니까? 1310 00:53:32,210 --> 00:53:34,325 왜이 프로그램을 반환 0 짓을하고? 1311 00:53:34,325 --> 00:53:35,575 대상 : [안 들리게] 1312 00:53:39,910 --> 00:53:43,450 데이빗 MALAN : 제가 게으른이기 때문에 아, 저, 미안 해요. 1313 00:53:43,450 --> 00:53:48,290 더 좋은 학업 응답, 0을 반환하지 않습니다. 1314 00:53:48,290 --> 00:53:52,690 주 경우의 종류, 기술적으로 C 말하여이 작업을 건져 내 수 1315 00:53:52,690 --> 00:53:55,900 명시 적으로 값을 반환하지 않는 경우, 0이 반환됩니다 1316 00:53:55,900 --> 00:53:57,730 자동으로. 1317 00:53:57,730 --> 00:54:00,290 사실 어떤, 난 그냥 안 가려진거야. 1318 00:54:00,290 --> 00:54:03,270 하지만, 난 이런 식으로 처리해야했다 네. 1319 00:54:03,270 --> 00:54:05,250 내 실수 아닌 다른 것보다 더 흥미로운 테이크 아웃 없습니다. 1320 00:54:05,250 --> 00:54:06,170 응? 1321 00:54:06,170 --> 00:54:08,470 >> 청중 : 보통은 무효에 입력 할 때, 그 말은 당신을 의미 1322 00:54:08,470 --> 00:54:10,770 뭔가를 반환하지 않습니다. 1323 00:54:10,770 --> 00:54:11,420 데이빗 MALAN : 맞아요. 1324 00:54:11,420 --> 00:54:15,800 대신 경우에, 함수의 이름 앞에 지정 1325 00:54:15,800 --> 00:54:18,590 여기를 예를 들어, 무효, 기능 1326 00:54:18,590 --> 00:54:20,480 아무 것도 반환하지 않습니다. 1327 00:54:20,480 --> 00:54:25,210 따라서 난, 반품 또는 전혀 아무것도 말할 것입니다 1328 00:54:25,210 --> 00:54:26,730 그리고 그건 일관성이 될 것입니다. 1329 00:54:26,730 --> 00:54:27,750 그리고 우리는 그에게 다시 돌아 올꺼예요. 1330 00:54:27,750 --> 00:54:31,030 그리고 그냥 FYI, 학습과 어획량 중 하나 1331 00:54:31,030 --> 00:54:33,450 책의 수백을 가진 세계에서 프로그래밍과 1332 00:54:33,450 --> 00:54:36,180 거기에 웹 사이트의 수백이 늘 것입니다 1333 00:54:36,180 --> 00:54:38,220 다른 책에서 다른 구문을 참조하십시오 1334 00:54:38,220 --> 00:54:40,220 다른 사람들에 의해. 1335 00:54:40,220 --> 00:54:42,100 우리가 할 섹션 및 강의에 최선의 노력을 다하겠습니다 실현 1336 00:54:42,100 --> 00:54:42,960 일관성. 1337 00:54:42,960 --> 00:54:46,660 하지만 가끔은 당신이 충돌 구문을 볼 수 있습니다. 1338 00:54:46,660 --> 00:54:48,540 따라서 의심, 그냥 부탁을 할 때마다. 1339 00:54:48,540 --> 00:54:51,100 일반적으로, 우리는 강의 섹션에 처리 할게 1340 00:54:51,100 --> 00:54:53,710 거의 항상 올바른 방법에 제시한다. 1341 00:54:53,710 --> 00:54:56,070 지점의 경우 때문에 나는 거의 항상 말한다. 1342 00:54:56,070 --> 00:54:56,860 다른 질문? 1343 00:54:56,860 --> 00:55:01,590 >> 대상 : % s이 (가) 어플라이언스의 외부 존재합니까? 1344 00:55:01,590 --> 00:55:03,710 데이빗 MALAN : % s이 (가) 어플라이언스는 외부의 존재합니까? 1345 00:55:03,710 --> 00:55:04,180 예. 1346 00:55:04,180 --> 00:55:07,760 s은 (는) C.와 함께 우리가 그것을 사용하는 사실을 수행하는이 % 수 있도록 1347 00:55:07,760 --> 00:55:10,290 어플라이언스는 근본적와는 아무 상관이없는 일 1348 00:55:10,290 --> 00:55:12,080 우리가 사용하는 언어의 기능을 제공합니다. 1349 00:55:12,080 --> 00:55:15,990 사실, 지난 주에 우리가 내 Mac을 사용할 때, 제가 쓴 곡 1350 00:55:15,990 --> 00:55:17,160 내 Mac에서 C 코드입니다. 1351 00:55:17,160 --> 00:55:20,020 내 Mac에서 % s을 (를) 쓸 수 있으며, 당신은 그걸를 사용할 수 1352 00:55:20,020 --> 00:55:22,400 Windows 컴퓨터가 컴파일러를 설치하는 경우, 같은 1353 00:55:22,400 --> 00:55:24,070 Microsoft의 비주얼 스튜디오입니다. 1354 00:55:24,070 --> 00:55:24,990 % s에 그럼. 1355 00:55:24,990 --> 00:55:27,860 우리가 오늘이 창 안에서하고있는 모든에있다 1356 00:55:27,860 --> 00:55:31,140 와 C. 그리고 근본적으로 아무것도와 1357 00:55:31,140 --> 00:55:33,450 문제의 시스템을 운영. 1358 00:55:33,450 --> 00:55:35,900 반대로, 흑인과 백인 터미널 창 -시 1359 00:55:35,900 --> 00:55:40,160 나는 혹시 같은 일을 입력하고, RM, 및 CD거야 - 1360 00:55:40,160 --> 00:55:42,020 그 운영 체제와하고 있습니다 1361 00:55:42,020 --> 00:55:43,562 주변 탐색. 1362 00:55:43,562 --> 00:55:44,546 그래. 1363 00:55:44,546 --> 00:55:46,520 대상 : 내 말은, CS50 라이브러리를 라이브러리를 의미. 1364 00:55:46,520 --> 00:55:49,960 데이빗 MALAN : 좋아, 키워드 문자열을 의미하면, 그 1365 00:55:49,960 --> 00:55:52,460 만 올바른, CS50 라이브러리에 존재합니다. 1366 00:55:52,460 --> 00:55:55,350 그 C 그 자체가 존재하지 않으며, 실제로는 몇 1367 00:55:55,350 --> 00:55:58,220 주의 우리는 CS50 라이브러리를 버리고 시작됩니다 1368 00:55:58,220 --> 00:56:02,290 말하자면, 처음 자신의 일을. 1369 00:56:02,290 --> 00:56:02,940 다른 질문? 1370 00:56:02,940 --> 00:56:04,577 그래. 1371 00:56:04,577 --> 00:56:05,827 >> 대상 : [안 들리게] 1372 00:56:09,470 --> 00:56:10,160 데이빗 MALAN : 좋은 질문입니다. 1373 00:56:10,160 --> 00:56:11,720 명령 케이스는 문자를 구분 있습니까? 1374 00:56:11,720 --> 00:56:13,710 그리고 내가 여기서 구별을 보자. 1375 00:56:13,710 --> 00:56:15,840 따라서 명령은 일반적으로 우리가에 작성해야하는 것들 1376 00:56:15,840 --> 00:56:17,940 터미널 창에서 창 하단에. 1377 00:56:17,940 --> 00:56:21,770 여기 물건은 성명 또는 C 코드 것입니다. 1378 00:56:21,770 --> 00:56:24,490 그러나 두 경우 모두에서, 대답은 동일합니다 네. 1379 00:56:24,490 --> 00:56:27,800 , C의 상단에있는 코드와 이러한 환경 모두 1380 00:56:27,800 --> 00:56:29,910 에서 운영 체제 명령 행 1381 00:56:29,910 --> 00:56:31,440 하단 케이스를 구분합니다. 1382 00:56:31,440 --> 00:56:33,830 그래서 당신은, 자본 G와 GetString를 대문자로해야합니다 1383 00:56:33,830 --> 00:56:37,050 자본 S. 귀하는 모두 소문자로 printf 작성해야합니다. 1384 00:56:37,050 --> 00:56:39,520 당신은 소문자로이게를 입력해야합니다. 1385 00:56:39,520 --> 00:56:43,260 그럼 거의 모든 상황에서 이번 학기, 사건에 있어요, 윌 1386 00:56:43,260 --> 00:56:44,820 사실, 문제. 1387 00:56:44,820 --> 00:56:46,148 예. 1388 00:56:46,148 --> 00:56:47,398 >> 대상 : [안 들리게] 1389 00:56:54,770 --> 00:56:56,480 데이빗 MALAN은 : 아, 괜찮 니, 우리는 파일을 어떻게 있다면 1390 00:56:56,480 --> 00:56:57,840 hello.d했다. 1391 00:56:57,840 --> 00:57:00,090 그럼 D는 프로그래밍 언어입니다 밝혀졌다. 1392 00:57:00,090 --> 00:57:02,790 그리고 경우에, 우리는 실제로에서 프로그램을 작성할 수 1393 00:57:02,790 --> 00:57:06,190 그렇게 패션에서 해당 파일을 컴파일합니다. 1394 00:57:06,190 --> 00:57:09,090 우리는 할 수있다, 실제로, 짧은 대답은, 나도 몰라. 1395 00:57:09,090 --> 00:57:10,440 그래서 우리는이 작업을 수행하는거야. 1396 00:57:10,440 --> 00:57:13,040 내가 가서 새 파일을 만들 수 있습니다. 1397 00:57:13,040 --> 00:57:15,580 여기 스핀은, 솔직히 일반적으로, 때마다 의심입니다 1398 00:57:15,580 --> 00:57:18,130 이번 학기에, 당신은 어플라이언스 또는 컴퓨터가 1399 00:57:18,130 --> 00:57:20,030 열, 가서 뭔가를 시도하십시오. 1400 00:57:20,030 --> 00:57:23,740 그래서 hello.d라는 파일을 저장거야. 1401 00:57:23,740 --> 00:57:25,010 이 저장합니다. 1402 00:57:25,010 --> 00:57:29,070 그리고 입력 안부 make 명령을 실행시킬거야. 1403 00:57:29,070 --> 00:57:31,660 그것은 C가 더 가능성이 있다고 추론 할 듯 1404 00:57:31,660 --> 00:57:35,920 D보다 이번 케이스는 아니군요. 1405 00:57:35,920 --> 00:57:38,046 다른 질문입니다. 1406 00:57:38,046 --> 00:57:40,456 그래. 1407 00:57:40,456 --> 00:57:41,706 >> 대상 : [안 들리게] 1408 00:57:48,170 --> 00:57:49,837 데이빗 MALAN : 네, 한번 더 그런 말을. 1409 00:57:49,837 --> 00:57:51,087 대상 : [안 들리게] 1410 00:58:04,250 --> 00:58:05,780 데이빗 MALAN : 어떻게 당신이 그걸를 진단하거나에 대해 갈거야 1411 00:58:05,780 --> 00:58:06,380 문제 해결인가? 1412 00:58:06,380 --> 00:58:08,800 그들은 다른 언어, 그러니 가능성이 높습니다, 때문에 1413 00:58:08,800 --> 00:58:10,280 대부분 당신은 완전히 얻을 것입니다 1414 00:58:10,280 --> 00:58:11,580 다른 프로그램은 출력. 1415 00:58:11,580 --> 00:58:14,140 당신은 완전히 다른 메시지를 것입니다. 1416 00:58:14,140 --> 00:58:16,750 또한 단지 디자인의 관점에서, 아마 틀림없이 될 1417 00:58:16,750 --> 00:58:19,140 가난한 디자인 결정 두 가지를 작성 할 1418 00:58:19,140 --> 00:58:21,510 거의 동일라는 이름의 파일이있는 언어에 1419 00:58:21,510 --> 00:58:23,000 를 사용하여 동일한 디렉토리 1420 00:58:23,000 --> 00:58:24,550 수 있도록 같은 자동 도구입니다. 1421 00:58:24,550 --> 00:58:27,750 그래서 또한, 밀어과이 일을 15 년 동안 말할 수 1422 00:58:27,750 --> 00:58:29,190 그런 실수를하지 않습니다. 1423 00:58:29,190 --> 00:58:30,030 발생할 수 있습니다. 1424 00:58:30,030 --> 00:58:31,190 하지만, 내 생각 엔, 그냥 여러가 1425 00:58:31,190 --> 00:58:33,180 장소에 기술적 방어. 1426 00:58:33,180 --> 00:58:35,440 또한 상황이 발생할 것입니다 오류 메시지는 해당 겠어 1427 00:58:35,440 --> 00:58:37,260 결국 문제가 무엇인지 알 수있다. 1428 00:58:37,260 --> 00:58:39,120 그러나 가능한 코너 케이스. 1429 00:58:39,120 --> 00:58:41,730 >> 좋아요, 그럼의 다른 중 몇을 소개하겠습니다 1430 00:58:41,730 --> 00:58:45,600 기능은 여기 이제, 우리는 더에 구축 시작할 수 있습니다 1431 00:58:45,600 --> 00:58:47,140 더 복잡한 프로그램입니다. 1432 00:58:47,140 --> 00:58:49,000 그럼, 우선 수학. 1433 00:58:49,000 --> 00:58:51,520 따라서 수학 예제는 첫 주에 쉽게이긴합니다. 1434 00:58:51,520 --> 00:58:53,560 이것은 모든 프로그래밍에 관한 말하지 않는 것입니다 1435 00:58:53,560 --> 00:58:54,390 수학. 1436 00:58:54,390 --> 00:58:57,890 물론, 다양한 기능을 이해 1437 00:58:57,890 --> 00:58:59,610 수학은 대수 특히,이 1438 00:58:59,610 --> 00:59:00,330 여기에 큰 관련. 1439 00:59:00,330 --> 00:59:03,010 높은 수준의 CS 클래스, 선형 대수에 1440 00:59:03,010 --> 00:59:03,920 미적분과 같은. 1441 00:59:03,920 --> 00:59:06,500 하지만 우리가 이번 학기를 무슨 짓을할지 대부분은되지 감소 그다지 1442 00:59:06,500 --> 00:59:09,230 수학, 그리고 확실하지 산술 이라기보다는에, 정말 1443 00:59:09,230 --> 00:59:11,570 단지 논리와주의 생각합니다. 1444 00:59:11,570 --> 00:59:14,310 그리고 컴퓨터 과학은 오래 결합을 가지고, 1445 00:59:14,310 --> 00:59:16,570 특히 고등학교 수준에서, 수학과 함께합니다 1446 00:59:16,570 --> 00:59:17,370 약간의 오해의 소지가. 1447 00:59:17,370 --> 00:59:20,090 우리가 정말 쓸 거라고 프로그램의 대부분은, 때문에 1448 00:59:20,090 --> 00:59:23,290 문제 해결에 대한 높은 수준과 집중의 일종 즉, 1449 00:59:23,290 --> 00:59:26,410 물론, 어떤 또한, 뺄셈, 다양한를 사용할 수 있습니다 1450 00:59:26,410 --> 00:59:28,650 수학 공식이나 같은, 1451 00:59:28,650 --> 00:59:30,860 하지만 하루의 끝에서, 그것은 생각에 관한이 아닌 1452 00:59:30,860 --> 00:59:33,240 당신은 TI처럼에서라면 어땠 구현 1453 00:59:33,240 --> 00:59:35,050 고등학교 계산기. 1454 00:59:35,050 --> 00:59:38,410 >> 그 말과 함께 그래서, 지금이있는 일을 해보자 구 1455 00:59:38,410 --> 00:59:40,980 우리가 여행을 할 수 있도록 존재 수학 연산자 1456 00:59:40,980 --> 00:59:43,950 프로그래밍의 기본 요소 중 일부 나에 이상 1457 00:59:43,950 --> 00:59:48,930 CS50 라이브러리는 제안으로이 경우 C. 그래서,있다 1458 00:59:48,930 --> 00:59:51,520 오늘날 우리는 GetString을 사용하는 -과 순간에 1459 00:59:51,520 --> 00:59:52,940 아마 다른 기능 - 1460 00:59:52,940 --> 00:59:55,380 하지만 컴퓨터에 다른 데이터 유형이 있습니다. 1461 00:59:55,380 --> 00:59:58,550 하루의 끝에서, 컴퓨터는 0s와 1S 알아요. 1462 00:59:58,550 --> 01:00:01,880 그러나 지난 주에 우리는 이진 시스템에 대해 얘기하는 기억 1463 01:00:01,880 --> 01:00:05,000 숫자 0과 같은 숫자,, 1, 2를 대표에 1464 01:00:05,000 --> 01:00:07,480 네이트의 동영상에서와 같이 최대 8까지의 모든 방법. 1465 01:00:07,480 --> 01:00:08,840 그리고 우리로 훨씬 더 높은 셀 수 1466 01:00:08,840 --> 01:00:10,000 여기를 무대로 했어요. 1467 01:00:10,000 --> 01:00:15,660 하지만 당신은 숫자 만 문자뿐만 아니라를 대표하고 싶다면, 1468 01:00:15,660 --> 01:00:18,240 우리, 인간은 어떤 임의의 시간 때우기해야 1469 01:00:18,240 --> 01:00:21,180 컨벤션으로서, 하루의 끝에있는 경우 모든 컴퓨터 1470 01:00:21,180 --> 01:00:24,260 0s와 1S, 잘 우리가 당연를 표현 할 수있는 능력은있다 1471 01:00:24,260 --> 01:00:27,990 대표 0s와 1S의 패턴을 표준화 시작 1472 01:00:27,990 --> 01:00:28,800 다른 것들. 1473 01:00:28,800 --> 01:00:32,370 문자를 나타냅니다 0s와 1S의 패턴. 1474 01:00:32,370 --> 01:00:34,840 편지 Z를 대표 0s와 1S의 패턴. 1475 01:00:34,840 --> 01:00:37,600 색상 청색을 나타내는, 또는 0s와 1S의 패턴 1476 01:00:37,600 --> 01:00:38,600 빨강, 또는 같은. 1477 01:00:38,600 --> 01:00:42,360 우리는 자신을 표현하기 위해이 0s와 1S의 모든을 사용할 필요가 1478 01:00:42,360 --> 01:00:45,140 하지 않은 다른 방식으로 다른 상황, 1479 01:00:45,140 --> 01:00:46,470 반드시 숫자. 1480 01:00:46,470 --> 01:00:51,150 >> 따라서 표현의 관점에서, C는 다른 데이터 유형이 1481 01:00:51,150 --> 01:00:52,550 우리는 지금까지이 중 하나를 봤어요. 1482 01:00:52,550 --> 01:00:54,940 우리는 INT 보았는데, 화면에 고지 그게 아니 잖아 1483 01:00:54,940 --> 01:00:56,140 지금 문자열입니다. 1484 01:00:56,140 --> 01:00:58,550 문자열이 사실에 다시 C.에 존재하지 않습니다, 그것은 네요 1485 01:00:58,550 --> 01:01:00,610 단순화 우리는 첫 번째로 제시하는 1486 01:01:00,610 --> 01:01:01,570 주 몇. 1487 01:01:01,570 --> 01:01:03,770 문자는 개별 문자입니다. 1488 01:01:03,770 --> 01:01:07,050 float이 소수점과 숫자를, 진짜 숫자입니다 1489 01:01:07,050 --> 01:01:09,066 왼쪽과 오른쪽의. 1490 01:01:09,066 --> 01:01:16,040 이중 다시 이전의 배경 사람들을 위해 무엇인가? 1491 01:01:16,040 --> 01:01:19,720 따라서 이중 두 번 일입니다. 1492 01:01:19,720 --> 01:01:21,240 많은 정밀도로 두 번 추가합니다. 1493 01:01:21,240 --> 01:01:22,440 그래서이 무엇을 의미합니까? 1494 01:01:22,440 --> 01:01:26,090 따라서 이러한 각각의 경우에, 세계 표준화가 있죠 1495 01:01:26,090 --> 01:01:27,960 얼마나 많은 비트 표현하는 데 사용됩니다 1496 01:01:27,960 --> 01:01:29,160 이 일의 각. 1497 01:01:29,160 --> 01:01:31,590 당신은 일부를 이미 네이트의 ASCII 동영상을 감상 한면 1498 01:01:31,590 --> 01:01:36,170 pset 0, 나중에 이번 주에 당신은, 당신은 아마 알 수있을 것입니다 1499 01:01:36,170 --> 01:01:37,450 그 ASCII - 1500 01:01:37,450 --> 01:01:38,610 문자 표현 - 1501 01:01:38,610 --> 01:01:40,670 얼마나 많은 비트를 사용합니까? 1502 01:01:40,670 --> 01:01:43,410 그리고 당신은 심지어 데모에서 어떻게 지난 주를 기억 할 수 1503 01:01:43,410 --> 01:01:45,500 많은 사람들이 무대에 있었다. 1504 01:01:45,500 --> 01:01:46,840 일반적으로, 7 자, 8. 1505 01:01:46,840 --> 01:01:49,230 일반적으로 8 자, 그리고 연장이라고 뭔가가 있군요 1506 01:01:49,230 --> 01:01:51,240 모든 8 비트 대신 7을 사용하여 ASCII. 1507 01:01:51,240 --> 01:01:54,710 그러나 일반적으로, 우리는,이 경우에 2의 거듭 제곱에 8 이야기. 1508 01:01:54,710 --> 01:01:58,900 따라서 프로그래밍 언어에서 문자는 일반적으로 8 비트입니다. 1509 01:01:58,900 --> 01:02:02,550 따라서 정수는 일반적으로 32 비트입니다. 1510 01:02:02,550 --> 01:02:04,810 부동은 일반적으로 32 비트입니다. 1511 01:02:04,810 --> 01:02:08,060 더블은 일반적으로 64 비트입니다. 1512 01:02:08,060 --> 01:02:08,870 그리고 그게 무슨 뜻 이죠? 1513 01:02:08,870 --> 01:02:11,500 당신이 더 큰 숫자를 나타내는 수 있다는 것을 의미, 또는 경우에 1514 01:02:11,500 --> 01:02:15,490 실제 숫자, 당신은 이후 더 많은 숫자를 가질 수 1515 01:02:15,490 --> 01:02:16,240 소수점 자리. 1516 01:02:16,240 --> 01:02:18,980 이 경우에 더 많은 정밀도. 1517 01:02:18,980 --> 01:02:21,780 이제 긴 긴 안타깝게도 이름입니다. 1518 01:02:21,780 --> 01:02:24,340 따라서 32 비트입니다 정수가 있습니다. 1519 01:02:24,340 --> 01:02:29,800 , 32 비트 아뇨입니다 긴이 있습니다. 1520 01:02:29,800 --> 01:02:32,610 그리고 64 비트입니다 긴 긴. 1521 01:02:32,610 --> 01:02:34,830 하지만 그 중 일부는 상황에 문자를 구분합니다, 그것은 따라 달라집니다 1522 01:02:34,830 --> 01:02:36,190 당신은이 컴퓨터의 어떤 종류. 1523 01:02:36,190 --> 01:02:40,510 따라서 일반적으로, 우리는 숙제 나 퀴즈에 지정합니다 때 1524 01:02:40,510 --> 01:02:41,180 실제로 문제. 1525 01:02:41,180 --> 01:02:43,080 그러나 중요한 점은 서로 다른의가 있습니다 1526 01:02:43,080 --> 01:02:44,250 여기에 표현. 1527 01:02:44,250 --> 01:02:45,950 >> 그럼 실제로 프로그램에 뛰어 보자. 1528 01:02:45,950 --> 01:02:48,300 처음부터이 하나를 작성하기보다는, 제가 앞서 가자 1529 01:02:48,300 --> 01:02:50,940 오늘날의 소스 코드에서 엽니 다 -이 모두의 1530 01:02:50,940 --> 01:02:54,980 온라인 -에 당신이 온라인으로 주변에 땜장이 노릇을하다하려는 경우, 또는 반환 1531 01:02:54,980 --> 01:02:57,120 컴퓨터의 어플라이언스 수요일 안내 1532 01:02:57,120 --> 01:02:59,160 하는 것은 코스의 홈페이지에 연결됩니다. 1533 01:02:59,160 --> 01:03:00,830 여기에 슈퍼 간단한 프로그램입니다. 1534 01:03:00,830 --> 01:03:02,520 그러나 그 상단에 새로운 뭔가를 조금있어 그 1535 01:03:02,520 --> 01:03:03,650 우리는 이전에 없었어요. 1536 01:03:03,650 --> 01:03:05,800 텍스트의 푸른 라인의 많은. 1537 01:03:05,800 --> 01:03:08,410 따라서이 파란색 라인은 의견을 나타냅니다. 1538 01:03:08,410 --> 01:03:10,620 그래서이 쓸 수 있도록 프로그램에 매우 유용 1539 01:03:10,620 --> 01:03:13,160 자신에 대한, 또는 동료, 또는 친구에게, 또는 일부 의견 1540 01:03:13,160 --> 01:03:15,700 교육 친구들, 그 종류의에 어떤 일이 일어나고 있는지 설명 1541 01:03:15,700 --> 01:03:18,500 이 파일을하지만, C 코드 자체와는 아무 상관이 없습니다. 1542 01:03:18,500 --> 01:03:20,860 기능적으로 프로그램과는 아무 상관이 다만 1543 01:03:20,860 --> 01:03:21,760 미학. 1544 01:03:21,760 --> 01:03:24,580 그래서 C에서이 작업을 수행하는 방법은 일반적으로 시작되어있는 1545 01:03:24,580 --> 01:03:29,860 / *, 그리고 당신과 의견이와 함께 귀하의 의견을 종료 1546 01:03:29,860 --> 01:03:31,270 * /. 1547 01:03:31,270 --> 01:03:34,140 그리고 당신은 정말 항문과 사진의 종류를 그릴 같은 경우, 1548 01:03:34,140 --> 01:03:35,870 다음 별 전체 많이 넣어 드리고 싶은데요을 할 1549 01:03:35,870 --> 01:03:36,970 이와 같은 작은 상자. 1550 01:03:36,970 --> 01:03:37,990 그게 중요한 게하지만, 아무도하지 않습니다. 1551 01:03:37,990 --> 01:03:40,230 그일이 중요한 건 처음이다 1552 01:03:40,230 --> 01:03:41,620 그리고 가장 마지막. 1553 01:03:41,620 --> 01:03:43,820 이 멀티 라인 주석을라는거야. 1554 01:03:43,820 --> 01:03:46,610 그리고 자주 별과 상자를 어떻게 그냥 사람 컨벤션 1555 01:03:46,610 --> 01:03:48,420 같은에서 일하면 자유 시간이 많은 경우. 1556 01:03:48,420 --> 01:03:51,550 >> 당신이 의견에 기록 한 후 따라서, 일반적으로, 이리와 1557 01:03:51,550 --> 01:03:53,160 프로그램의 실제 배짱. 1558 01:03:53,160 --> 01:03:55,630 다음은 익숙는 # 포함입니다. 1559 01:03:55,630 --> 01:04:00,410 그리고 그냥 빨리이 필요 필요하거나하지? 1560 01:04:00,410 --> 01:04:02,860 대상 : 필요한. 1561 01:04:02,860 --> 01:04:04,390 데이빗 MALAN : 그럼 실제로 필요가 없습니다. 1562 01:04:04,390 --> 01:04:07,070 왜,하지만, 그럴 필요는 없네? 1563 01:04:07,070 --> 01:04:08,170 그래서 더 printf가 없습니다. 1564 01:04:08,170 --> 01:04:08,510 사실. 1565 01:04:08,510 --> 01:04:10,470 우리가이 프로그램에하고있는 모든 수학입니다. 1566 01:04:10,470 --> 01:04:11,640 그래서 실제로 그런 삭제할 수 있습니다. 1567 01:04:11,640 --> 01:04:14,330 그래서 당신은 항상에서 아무것도 포함 할 필요가 없습니다 1568 01:04:14,330 --> 01:04:15,420 프로그램의 상단. 1569 01:04:15,420 --> 01:04:17,020 >> 그럼이 비트를 단순화 보자. 1570 01:04:17,020 --> 01:04:18,650 그리고 지금이 프로그램이 무엇을 확인합니다. 1571 01:04:18,650 --> 01:04:19,920 하지 많은 관심. 1572 01:04:19,920 --> 01:04:21,410 INT X = 1. 1573 01:04:21,410 --> 01:04:22,550 음,이게 무슨 짓을하는 건가? 1574 01:04:22,550 --> 01:04:25,130 음, 전에서 다시 정신 모델을 생각합니다. 1575 01:04:25,130 --> 01:04:27,500 이 식의 왼쪽은 무엇입니까? 1576 01:04:31,440 --> 01:04:32,830 정수위한 공간을 만듭니다. 1577 01:04:32,830 --> 01:04:33,930 따라서 공간이 얼마나? 1578 01:04:33,930 --> 01:04:36,980 음, 우리는 32 비트 이제는 줄 수있어. 1579 01:04:36,980 --> 01:04:40,070 이전 문자열은 기술적으로 32 비트했지만, 더 많은 1580 01:04:40,070 --> 01:04:40,950 미래에 그 있습니다. 1581 01:04:40,950 --> 01:04:42,240 그러나 정수는 32 비트입니다. 1582 01:04:42,240 --> 01:04:45,590 여기 왼쪽에있는이 식 그래서 정수는 x 단 안녕 말한다 1583 01:04:45,590 --> 01:04:48,490 운영 체제 나에게 RAM의 32 비트를 제공 - 1584 01:04:48,490 --> 01:04:50,450 그렇지 않으면 RAM의 4 바이트로 알려진 - 1585 01:04:50,450 --> 01:04:53,930 그게 내가 그 공간에서 정수를 넣을 수 있습니다. 1586 01:04:53,930 --> 01:04:55,330 어떤 정수에 놔두고 싶지 거죠? 1587 01:04:55,330 --> 01:04:56,640 음, 그냥 숫자 1. 1588 01:04:56,640 --> 01:04:59,530 INT y는 2지면 동일한 일을하더라도 1589 01:04:59,530 --> 01:05:02,160 숫자는 크기면에서 더 큰 것입니다. 1590 01:05:02,160 --> 01:05:04,790 숫자 자체는 아직도 32 비트입니다. 1591 01:05:04,790 --> 01:05:06,520 그냥 비트의 패턴 것은에 다른 1592 01:05:06,520 --> 01:05:08,260 1 대 2를 나타냅니다. 1593 01:05:08,260 --> 01:05:11,980 INT z는 지금, 다른 32 비트를 제공 그 Z 전화, 그리고 넣어 말한다 1594 01:05:11,980 --> 01:05:14,210 거기에 1과 2의 합계. 1595 01:05:14,210 --> 01:05:18,050 이제 z는 아마도, 값 3을 저장 될 수 있도록 1596 01:05:18,050 --> 01:05:19,360 그리고 0을 반환합니다. 1597 01:05:19,360 --> 01:05:23,020 >> 이제이 프로그램은 그 관심 있는게하나요? 1598 01:05:23,020 --> 01:05:26,170 그래서 실제로 어떤에 흥미있는 아무 짓도하지 않습니다 1599 01:05:26,170 --> 01:05:28,450 감각 때문에 왜? 그것은 어떤 수학을하고 있어요. 1600 01:05:28,450 --> 01:05:30,590 하지만 .. 답을 반환 없어. 1601 01:05:30,590 --> 01:05:31,790 그것은 0을 반환있어. 1602 01:05:31,790 --> 01:05:33,440 이 답을 인쇄 없어. 1603 01:05:33,440 --> 01:05:35,760 그래서이 프로그램이 같이 근본적으로 쓸모가 1604 01:05:35,760 --> 01:05:36,350 지금 서 있습니다. 1605 01:05:36,350 --> 01:05:37,220 그것은 일을 좀하고 있어요. 1606 01:05:37,220 --> 01:05:39,530 그것은 몇 초 번호 또는 마이크로에 걸릴 거예요 1607 01:05:39,530 --> 01:05:41,510 실행하지만 실제로 아무 짓도 안하고있어 1608 01:05:41,510 --> 01:05:42,770 인간에 ​​대한 유용합니다. 1609 01:05:42,770 --> 01:05:46,810 >> 그럼 실제로 지금 실제로 있어요, 지금 math2을 열어 1610 01:05:46,810 --> 01:05:48,250 결과를 인쇄합니다. 1611 01:05:48,250 --> 01:05:51,260 그래서도 우리는 앞의 예에서 유추 할 수 있습니다. 1612 01:05:51,260 --> 01:05:54,320 나는 간단한 수학을 수행하려는 경우, INT X = 1, Y 1613 01:05:54,320 --> 01:05:56,820 = 2. Z은 1 플러스 2입니다. 1614 01:05:56,820 --> 01:05:59,240 이는 분명히 인쇄하려면 어떻게가는거야? 1615 01:05:59,240 --> 01:06:00,120 그냥 3. 1616 01:06:00,120 --> 01:06:01,590 너무 빨리 정신이 확인합니다. 1617 01:06:01,590 --> 01:06:03,830 내가이 디렉토리에 이동하세요. 1618 01:06:03,830 --> 01:06:06,480 CD source1m 했어요. 1619 01:06:06,480 --> 01:06:09,370 내가 가서 math2을 입력 보자. 1620 01:06:09,370 --> 01:06:11,510 어떤 오류 메시지가 나오지, 그럼 내가 실행 보자 - 1621 01:06:11,510 --> 01:06:14,800 저 math2을 실행 a.out-- 두지. 입력합니다. 1622 01:06:14,800 --> 01:06:16,750 그리고 실제로, 그것은 3 출력한다. 1623 01:06:16,750 --> 01:06:18,460 음의이의 변종을 살펴 봅시다. 1624 01:06:18,460 --> 01:06:23,870 math3.c에서, 우리는 지금이 예를 갖추고 있습니다. 1625 01:06:23,870 --> 01:06:26,540 >> 그래서 재미 중의 하나이기도 해. 1626 01:06:26,540 --> 01:06:32,000 그럼 여기서 하나에, 대답은 (10)에 의해 1 나누어 얻을 수있다 1627 01:06:32,000 --> 01:06:33,910 그리고 내가 float 타입으로 선언 한 것을. 1628 01:06:33,910 --> 01:06:35,200 왜 나는 부동되고 싶어합니까? 1629 01:06:35,200 --> 01:06:36,110 음, 분수입니다. 1630 01:06:36,110 --> 01:06:37,140 진짜 번호가 생길거야. 1631 01:06:37,140 --> 01:06:40,970 이 경우 10 % - 그럼 희망 0.1이 될거야. 1632 01:06:40,970 --> 01:06:42,610 그리고 아웃 한 다음 인쇄 할 무엇을 원하는 겁니까? 1633 01:06:42,610 --> 01:06:43,440 음,이 답변. 1634 01:06:43,440 --> 01:06:44,760 음,이 간격 먼저 애타게 까. 1635 01:06:44,760 --> 01:06:47,020 따라서 왼쪽에 선언 1636 01:06:47,020 --> 01:06:49,410 떠, 그 답 전화하십시오. 1637 01:06:49,410 --> 01:06:52,280 오른쪽에서 1 (10)에 의해 나누어 것을 삽입합니까 1638 01:06:52,280 --> 01:06:54,370 변수의 내부를 바랍니다. 1639 01:06:54,370 --> 01:06:56,410 자,이 줄은 좀 더 이상한 보입니다. 1640 01:06:56,410 --> 01:06:59,440 하지만 일부 친숙한 기능을 확인합니다. %가 나오고 의미 1641 01:06:59,440 --> 01:07:00,490 자리 표시 자. 1642 01:07:00,490 --> 01:07:03,230 F 뜻은 실제 부동 소수점 값입니다 1643 01:07:03,230 --> 01:07:05,490 번호, 소수점이있는 것을. 1644 01:07:05,490 --> 01:07:07,330 무슨 0.2 뜻은? 1645 01:07:07,330 --> 01:07:10,740 누구나 이전 경험 알지? 1646 01:07:10,740 --> 01:07:12,010 두 소수점 이하 자릿수. 1647 01:07:12,010 --> 01:07:14,050 그래서 우리가 전에 본 적이 없는데,하지만 중 방법 1648 01:07:14,050 --> 01:07:16,360 조금 더 printf 제어 및을 행사 1649 01:07:16,360 --> 01:07:20,840 말하며, 소수점 이후에 나에게 30 점을 제공하지 않습니다 1650 01:07:20,840 --> 01:07:22,490 대신 나에게 단 2을 제공합니다. 1651 01:07:22,490 --> 01:07:23,960 >> 그리고가 가서이를 실행할 수 있습니다. 1652 01:07:23,960 --> 01:07:30,160 따라서 수학 3 할, 그리고 지금 입력, 제가 수학 3 실행할 수 있습니다. 1653 01:07:30,160 --> 01:07:34,630 그리고 그건 옳지 않아. 1654 01:07:34,630 --> 01:07:37,390 우리는 우리의 첫번째 진짜 버그가 발생 것 같습니다. 1655 01:07:37,390 --> 01:07:39,400 글쎄, 난 그냥 충분히 원하는 것도 아니다. 1656 01:07:39,400 --> 01:07:41,960 그럼 내가 여기 가자고, 그리고이 날은 20 진수를 넣어 1657 01:07:41,960 --> 01:07:43,300 이 포인트 장소. 1658 01:07:43,300 --> 01:07:47,950 그리고 저를 컴파일 해 실행, math3을합니다. 1659 01:07:47,950 --> 01:07:50,960 확실 (10)에 의해 나누어 하나는 0이 아닙니다. 1660 01:07:50,960 --> 01:07:54,270 그래서 무슨 일이에요? 1661 01:07:54,270 --> 01:07:56,740 괜찮아, 음, 사실이 일 필요는 없습니다. 1662 01:07:56,740 --> 01:07:57,600 그건 좋은 생각입니다. 1663 01:07:57,600 --> 01:07:59,140 이 단지 우연의 일치 1664 01:07:59,140 --> 01:08:00,220 우리가이 일을하고 있는지. 1665 01:08:00,220 --> 01:08:02,010 그러나 이번이 아니라는 것을 증명하기 위해, 나는드립니다 1666 01:08:02,010 --> 01:08:03,160 무작위로 뭔가를 반환합니다. 1667 01:08:03,160 --> 01:08:05,160 그냥 잘못을, 집에서이 작업을 수행하지 마십시오. 1668 01:08:05,160 --> 01:08:08,000 그러나 math3을 저에게 그걸 실행할 수 있습니다. 1669 01:08:08,000 --> 01:08:10,690 그래서 재하는지와는 아무 상관이없는, 오직해야하는 1670 01:08:10,690 --> 01:08:11,940 제가 인쇄 좋겠어요. 1671 01:08:11,940 --> 01:08:14,150 하지만 여기가 들었습니다. 1672 01:08:14,150 --> 01:08:15,270 왜? 1673 01:08:15,270 --> 01:08:17,524 청중 : 그럼 우리가 숫자를 작성해야 1674 01:08:17,524 --> 01:08:19,680 같은 부서 - 1675 01:08:19,680 --> 01:08:20,319 >> 데이빗 MALAN : 그래, 좋아. 1676 01:08:20,319 --> 01:08:22,810 그래서 우리는에 참가 번호를 작성해야 1677 01:08:22,810 --> 01:08:25,979 부동 소수점 여기를 부서는 스스로 값. 1678 01:08:25,979 --> 01:08:29,359 그럼 문제가 여기로 이전됩니다 : C, 많은과 마찬가지로 1679 01:08:29,359 --> 01:08:31,819 언어는 서로 다른 데이터 유형이 있습니다. 1680 01:08:31,819 --> 01:08:34,600 그리고 그 데이터 유형은 예를 들어,이 여기에 있습니다. 1681 01:08:34,600 --> 01:08:37,430 그리고 여기, 1을 입력 할 때 그리고 나서 문제의 데이터 유형 1682 01:08:37,430 --> 01:08:40,870 유형 10, 어떤 데이터 유형은 아마입니까? 1683 01:08:40,870 --> 01:08:42,170 그래서 그래, 아마 int는거야? 1684 01:08:42,170 --> 01:08:44,149 더 소수가 없기 때문에 확실히 부동 아닙니다 1685 01:08:44,149 --> 01:08:45,460 점 또는 그런 건. 1686 01:08:45,460 --> 01:08:48,270 그래서 정말, 내가 정수로 나눈 정수를 갖추고 있습니다. 1687 01:08:48,270 --> 01:08:52,160 >> 따라서 수학 및 컴퓨터에 대한 흥미로운 것은이 1688 01:08:52,160 --> 01:08:54,840 - 당신은 정수를 사용하여 분할하는 경우 1689 01:08:54,840 --> 01:08:57,310 1 10으로 나눈 값, 예 0.1입니다. 1690 01:08:57,310 --> 01:09:01,420 그러나 정수하여 정수를 구분 할 때, 1691 01:09:01,420 --> 01:09:06,859 답변은 지금에 때문에 정수 여야합니다. 1692 01:09:06,859 --> 01:09:08,630 그리고 함축 한 다음 뭐죠? 1693 01:09:08,630 --> 01:09:13,640 그럼, 답변이 1 10로 나눈 경우는 0.1 동일 무엇 1694 01:09:13,640 --> 01:09:15,680 컴퓨터가 어떻게 할 것은 어떻게에 아무 생각이 없습니다 1695 01:09:15,680 --> 01:09:19,270 그 부동 소수점 값이 아니라니까, 0.1을 나타냅니다 1696 01:09:19,270 --> 01:09:21,910 정수, 그것은 이후 모든을 잘라 버려야하는거야 1697 01:09:21,910 --> 01:09:27,470 소수점하고 당신에게 처음에 0을 표시합니다. 1698 01:09:27,470 --> 01:09:29,540 그리고 부동 소수점으로 출력 있다는 사실 1699 01:09:29,540 --> 01:09:31,200 값은 단지 미적 일이야. 1700 01:09:31,200 --> 01:09:34,279 나는 컴퓨터가로 인쇄 강요 해요 때문이다 1701 01:09:34,279 --> 01:09:35,229 포인트 값을 떠. 1702 01:09:35,229 --> 01:09:37,720 그리고 실제로 나는 부동으로 선언했지만 수학은 1703 01:09:37,720 --> 01:09:39,010 여기에 무슨 일이. 1704 01:09:39,010 --> 01:09:41,859 >> 그럼 내가 실제로 한 아주 쉬운 방법에서이 문제를 해결하자. 1705 01:09:41,859 --> 01:09:45,250 왜 그냥하지만​​, 10.0 및 1.0 안 1706 01:09:45,250 --> 01:09:47,609 기술적으로 난 그냥 그 중 하나를 수행 빠져 나가지 수 있습니다. 1707 01:09:47,609 --> 01:09:50,630 지금 내가 가서 math3을 보자. 1708 01:09:50,630 --> 01:09:56,350 내가 가서 지금 math3을 실행 입력 보자. 1709 01:09:56,350 --> 01:09:57,500 그리고 지금, 친구 오. 1710 01:09:57,500 --> 01:10:00,050 이제 우리는 모두 새로운 문제가 있습니다. 1711 01:10:00,050 --> 01:10:05,600 그래서 지금 더 나은, 우리는 0.1 접근은했지만, 분명히 무슨 1712 01:10:05,600 --> 01:10:06,240 여기에 잘못? 1713 01:10:06,240 --> 01:10:08,260 하지 않는 한 우리는 오른쪽 년 동안 당신에게 거짓말을 했어요? 1714 01:10:08,260 --> 01:10:13,660 한, 그래서 뭐가 사실별로 0.1이 10으로 나눈 값 1715 01:10:13,660 --> 01:10:14,700 정말 여기가 어디지? 1716 01:10:14,700 --> 01:10:16,420 그럼이를 통해 이유의 종류 논리적으로 할 수 있습니다. 1717 01:10:16,420 --> 01:10:19,200 컴퓨터는 시작 RAM의 유한 금액이있는 경우 1718 01:10:19,200 --> 01:10:23,530 로하고, 실제로 컴퓨터는 32 비트를 사용하고 있습니다 1719 01:10:23,530 --> 01:10:26,200 포인트 값을 떠, 그 이유를 위해 서 1720 01:10:26,200 --> 01:10:29,870 이 경우 비트, 32 유한 수는, 그래, 당신은 할 수 1721 01:10:29,870 --> 01:10:31,050 짐을 많이 나타냅니다. 1722 01:10:31,050 --> 01:10:33,220 사실은 사십억 다른 값이 될 수 있습니다 1723 01:10:33,220 --> 01:10:38,040 32 비트, 2 32,하지만 여전히 유한 야와 함께 차지했다. 1724 01:10:38,040 --> 01:10:40,730 그럼 문제가 실​​제의 무한한 숫자가 있습니다 1725 01:10:40,730 --> 01:10:41,370 숫자, 좋아. 1726 01:10:41,370 --> 01:10:43,560 당신이 저에게 실제 번호를 알려면, 항상 하나를 찾을 수 있습니다 1727 01:10:43,560 --> 01:10:46,080 단지 조정에 의해, 약간은 덜 약간 더 큰 1728 01:10:46,080 --> 01:10:47,970 소수점 뒤에 숫자를. 1729 01:10:47,970 --> 01:10:50,870 당신은 비트의 무한 번호가되지 않을 경우, 1730 01:10:50,870 --> 01:10:52,940 가능성이 무한을 대표 할 수 없습니다 1731 01:10:52,940 --> 01:10:54,800 실제 숫자의 번호입니다. 1732 01:10:54,800 --> 01:10:58,090 >> 그래서 컴퓨터에서이 고유 한 부정확가 있는데, 1733 01:10:58,090 --> 01:11:00,930 이것은 심지어 가장 간단한에있는 모든 시간이 걸려 넘어지기 1734 01:11:00,930 --> 01:11:02,260 이 같은 프로그램. 1735 01:11:02,260 --> 01:11:05,640 뿐만 아니라뿐만 아니라 아주 실제 문제 인치 1736 01:11:05,640 --> 01:11:07,790 사실, 그냥 좀 봐 잠시 시간을 가져 가게 1737 01:11:07,790 --> 01:11:09,530 실제로 현실에서 일어난 일. 1738 01:11:09,530 --> 01:11:11,620 우리는 분 중 첫 부분을보고, 그리고 것 1739 01:11:11,620 --> 01:11:13,270 우리는 링크를 온라인으로 게시됩니다. 1740 01:11:13,270 --> 01:11:16,700 그러나 이것은 매우 잘못 갈 수 단지 일에 선언과도 같은 것입니다 1741 01:11:16,700 --> 01:11:19,680 솔직히, 매우 비극적 인 방법으로 이런 일이 없을 때 1742 01:11:19,680 --> 01:11:23,870 평가하거나 할 때 우리 인간은 실수를 1743 01:11:23,870 --> 01:11:26,792 현대적인 컴퓨터의 구현 세부 정보 이러한 종류의. 1744 01:11:26,792 --> 01:11:27,284 >> [VIDEO 연주] 1745 01:11:27,284 --> 01:11:30,730 - 우리는 지금 현대 경이로운에 엔지니어링 재해로 돌아갑니다. 1746 01:11:30,730 --> 01:11:32,200 컴퓨터. 1747 01:11:32,200 --> 01:11:34,920 우리는 종종 좌절 문제를 받아들이 왔어요 1748 01:11:34,920 --> 01:11:36,750 그들과 함께 그를 이동합니다. 1749 01:11:36,750 --> 01:11:40,690 버그, 바이러스, 소프트웨어 결함은에 작은 가격 아르 1750 01:11:40,690 --> 01:11:42,550 편의를 위해 비용을 지불합니다. 1751 01:11:42,550 --> 01:11:45,170 그러나 첨단 기술과 고속 군사 및 공간에 1752 01:11:45,170 --> 01:11:48,450 프로그램 응용 프로그램은 가장 작은 문제가 될 수 있습니다 1753 01:11:48,450 --> 01:11:52,220 재해로 확대. 1754 01:11:52,220 --> 01:11:56,780 1996년 6월 4일에서 과학자 무인를 시작 할 수 있도록 준비 1755 01:11:56,780 --> 01:11:58,430 아리안 5 로켓. 1756 01:11:58,430 --> 01:12:00,750 그것은 수 있도록 설계 과학 위성을 운반되었다 1757 01:12:00,750 --> 01:12:03,580 설립 정확하게 어떻게 지구 자기장 1758 01:12:03,580 --> 01:12:06,900 태양 바람과 상호 작용합니다. 1759 01:12:06,900 --> 01:12:10,330 로켓은 유럽 우주기구 및 위해 만든 거죠 1760 01:12:10,330 --> 01:12:13,450 프랑스 령 가이아나 해안에서의 시설에서 떠낸. 1761 01:12:13,450 --> 01:12:16,970 >> -에서 비행기로 37에 대한 초, 그들은 먼저 1762 01:12:16,970 --> 01:12:19,700 발견 무언가 노즐이 있다는, 잘못된 줄 1763 01:12:19,700 --> 01:12:21,590 그들은 정말 안돼 방식으로 선회. 1764 01:12:21,590 --> 01:12:25,020 분명 비행기로 약 40 초, 차량 1765 01:12:25,020 --> 01:12:27,340 문제가 있었고, 그들은을하기로 결정하였습니다 때입니다 1766 01:12:27,340 --> 01:12:28,136 그것을 파괴한다. 1767 01:12:28,136 --> 01:12:31,450 엄청난 배짱과 다양한 안전 책임자 누르면 1768 01:12:31,450 --> 01:12:34,160 이 될 수도 전에 버튼은 로켓을 날려 1769 01:12:34,160 --> 01:12:37,470 공공 안전에 위험이 있음. 1770 01:12:37,470 --> 01:12:40,750 >> - 이건 아리안 5 처녀 항해이었고, 그 1771 01:12:40,750 --> 01:12:43,990 파괴 때문에에 포함 된 결함 위를 차지 1772 01:12:43,990 --> 01:12:45,480 로켓의 소프트웨어. 1773 01:12:45,480 --> 01:12:47,660 >> - 아리안의 문제는 숫자가있을 있다고했습니다 1774 01:12:47,660 --> 01:12:51,245 표현하는 64 비트가 필요하고 그것을 변환하고 싶어 1775 01:12:51,245 --> 01:12:53,010 16 비트 숫자. 1776 01:12:53,010 --> 01:12:54,900 그들은 숫자가 적이 없다고 가정 1777 01:12:54,900 --> 01:12:56,280 매우 큰 될거야 1778 01:12:56,280 --> 01:12:59,920 그 64 비트 번호를 그 자리의 대부분은 0s했다. 1779 01:12:59,920 --> 01:13:01,860 그들은 잘못했다. 1780 01:13:01,860 --> 01:13:04,550 >> - 하나의 소프트웨어 프로그램의 무능력이 동의하는 1781 01:13:04,550 --> 01:13:07,730 다른에 의해 생성 된 번호의 종류의 루트에 있었는데 1782 01:13:07,730 --> 01:13:08,930 오류가 발생했습니다. 1783 01:13:08,930 --> 01:13:11,490 소프트웨어 개발은​​ 매우 비용이 많이 드는 부분이되었다 1784 01:13:11,490 --> 01:13:13,280 새로운 기술. 1785 01:13:13,280 --> 01:13:16,530 아리안 4 로켓은 매우 성공적이었다. 1786 01:13:16,530 --> 01:13:19,100 만들어진 소프트웨어의 많은도 사용되었다 1787 01:13:19,100 --> 01:13:21,050 아리안 5인치 1788 01:13:21,050 --> 01:13:25,530 >> - 기본 문제는, 아리안 5 빠르게이라는 점이었습니다 1789 01:13:25,530 --> 01:13:27,280 빠른 가속. 1790 01:13:27,280 --> 01:13:30,590 그리고 소프트웨어는 차지 않았다. 1791 01:13:30,590 --> 01:13:33,060 >> - 로켓을 파괴하는 거대한 금융했습니다 1792 01:13:33,060 --> 01:13:37,670 재해, 분 소프트웨어 오류로 인해 모든. 1793 01:13:37,670 --> 01:13:40,750 하지만이 데이터 변환 문제가 가지고 처음이 아니 었어요 1794 01:13:40,750 --> 01:13:43,680 현대적인 로켓 기술을 괴롭혀. 1795 01:13:43,680 --> 01:13:44,390 >> 데이빗 MALAN : 우리는 상태를 유지합니다. 1796 01:13:44,390 --> 01:13:46,870 하지만이 증명해입니다 얼마나 적용도 일부 1797 01:13:46,870 --> 01:13:48,750 우리가 시작 한 다음 낮은 수준의 세부 정보 1798 01:13:48,750 --> 01:13:50,040 아르 오늘날 탐험 해보세요. 1799 01:13:50,040 --> 01:13:52,510 당신은의 일부가 아마도 정신을 좀 얻을 그래서,로 1800 01:13:52,510 --> 01:13:55,240 구문 여기 arcaneness는 걸 그 이상 1801 01:13:55,240 --> 01:13:57,690 용어는 우리는 그냥이가 얼마나 적용에 초점을 맞춘됩니다 1802 01:13:57,690 --> 01:13:59,530 지금까지 CS없는 세계. 1803 01:13:59,530 --> 01:14:00,780 우리는 수요일에 표시됩니다.