제이슨 HIRSCHHORN :에 오신 것을 환영합니다 CS50 섹션 사람. 내 이름은 제이슨 Hirschhorn입니다. 나는 당신 TFS를 많이 합니다만, 많은 사람들은 희망을 우리에 합류합니다 온라인, 연장 학생이나 학생 섹션을보고하려고 시도하는 경우들이 그 주 또는 부분을 놓친 그들이 원한다면 바로 잡기 몇 가지 자료를 검토한다. 따라서 같은 강의 당하는 모든 당신이 읽고으로, 올바른? 나는 머리를 끄덕 많이 참조하십시오. 섹션 기회를 제공 과정의를 탐험 더 친밀한 환경 소재, 뿐만 아니라 다이빙에 체험. 그래서 우리가있어 기본적으로 무엇을의 매주 일을 할 것. 우리는 우리가 무엇을 통해 갈거야 가장 중요한 것으로 판단 강의에서 다루는 주제, 그리고 사람 아마도 가장 유용하고 문제 세트에 올 가능성이 가장 높은 와 퀴즈, 그리고 코딩에 CS50 이외의 생활. 그래서 우리는 이러한 주제로 갈거야 을 논의, 그들을 이동 너희들이 가지고있는 질문에 대답하고, 그리고 우리는 많이 할 겁니다 코딩 연습 문제. 당신은 모든 노트북을 가져, 이는 환상적입니다. 이 컴퓨터 과학 클래스입니다. 그러나 우리가 연습을 많이 당신을 위해 노트북이 필요하지 않습니다. 당신은 종이에 그들을 할 수 있습니다. 그게 당신이에 갈거야 방법 퀴즈에 그들을한다. 그리고 실제로, 그에게 좋은 방법 정말 당신이 어떻게하는지 알고 뭔가 당신이없는 경우 50 체크 말에 의존하거나 의존 할 수 있도록 당신은 어떤 오류를했다. 그래서 당신은 페이지의 코드에 오신 것을 환영합니다 입니다 제품 또는 run.cs50.net, 당신이 코딩 할 수 있도록 다른 도구 온라인,하지만 난 또한 경우 추천 할 것 당신은 시트를 사용하여, 그것을 시도하지 않은 종이와 이러한 행위를 시도 종이 한 장에 문제가 없습니다. 또, 그 궁극적 때문에 당신이 할 거냐 퀴즈에서 수행하도록 요청. 그래서 우리와 함께 시작하자 오늘 일정. 우리는 당신을위한 몇 가지 기준을 통해 갈거야 우리 절에서는, 우리는 다이빙거야 에 배열, 함수 및 명령 줄 인수, 이는 무엇 너희들 강연이 지난 주 커버했다 그리고 월요일, 당신은 다룰 것을 내일 더. 그리고 마지막으로, 우리는거야 pset2에 대해 이야기합니다. 나는 손의 쇼를 얻을 수있는 경우에 경우에 당신 문제 2 세트에서 못 봤어 사양. 우리는 모두 말할 것이다. 환상적인. 우리는 약간의 문제 세트에 대해 얘기하자 하지만 당신은 문제 세트를 읽으면 사양은, 그게 당신이해야 할 모든. 당신은 당신이 오기 전에 읽었 경우 화요일에 클래스와 섹션, 당신은 것입니다 훌륭한 위치합니다. 우리는 문제 집합을 통해 이동할 수 있습니다 이는 우리가 가고있는 무슨이다 끝에서 확인해보세요. 우리는를 통해 갈거야 논리가 있는지 확인 모두가 동일한 페이지에 있습니다. 내가 화요일을 남길 수 있도록하려면 무엇을 당신과 함께 매우 편안한 느낌 이 주 문제 세트 할 필요가 당신이하지 않으면, 나는 행복하게 후 유지하고 당신과 함께 작동합니다. 하지만 당신이해야 할 한 가지입니다 그러나 나는 생각이 정말 똑똑한 것 다만 문제 세트를 읽기 화요일에 클래스 별 사양, 그것은 같은 소리하는 너희들 많이했다. 나는 각 클래스 의제로 시작합니다 그래서 당신은 우리가 어디로 가는지 알고있다. 또한이 보는 사람들을 위해 도움이됩니다 온라인 때문에 각 섹션 당신이 와서 싶은 경우에 색깔, 코딩 다시 그냥 오히려 10 분 시청 전체 90 분 섹션 대신, 그냥 색상 코드 섹션으로 이동 할 수 있습니다 그 부분을 봐. 그래서 좋은에 그들을 침입하려고했다 당신이 할 수 있도록 모듈 - 당신이 돌아와서 검토 할 경우 다른 학생들은 누구 검토하는 섹션을보고 - 특정 물건을 찾는 사람들 에 관심을 지불 할 과에 대한 자세한 내용은. 달콤한. 규범. 나는 캠퍼스에서 FO​​P 리더 해요. 사람이 FOP를 한 경우 나도 몰라. 아무도 FOP 짓을 한거야? 한 사람이 FOP를했다. 두 사람이 FOP를했다. 최고. 그래서 FOP는 야외 원년 오리엔테이션 프로그램. 우리는 숲으로 신입생을 가지고 만들 의 가장 환상적인 경험 자신의 삶, 올바른? 그래. 권리에 대한 소리. 그래서 난 그냥 우리가 처음 시작하고 싶어 어떤 규범을 논의 섹션 클래스와의 관계에 대한 나는 생각하기 때문에 그들은 매우 중요입니다. 무엇보다도, 당신의 그 같은 사람 제 절에서는 수신이됩니다 점에서 논의되었습니다 전자 메일,이를 사랑합니다. 이 년의 나의 마음에 드는 부분입니다. 나는 매우 흥분했다. 오늘 시간 동안 여기 있었어요. 나는를 제외하고는이 건물을 떠난하지 않았습니다 나는 CS50 섹션을 사랑하기 때문에 먹어요, I 교육을 사랑하는, 내가 일하는 사랑 너희들과 함께. 내 가장 높은 우선 순위 중 하나, 그렇지 않은 경우 내 번호를 하나의 우선 순위에 대한뿐만 아니라, 하지만 내 다른 클래스를 포함한이 클래스 클래스와 과외 활동은,하는 것입니다 너희들을 지원하고, 너희들을 돕고, 확실히 당신을 만들기 위하여 최선을 다할 사람은 생산, 재미, 멋진,이 매력적인, 흥미 진진한 이 클래스에서 발생합니다. 즉, 나는 최선을 다하고 있어요거야. 내가 이렇게 좋아하는 이유이다. 즉, 내 번호를 하나의 것입니다 너희들을 지원. 당신이 강의에 대한 질문이 있으면, 문제 세트, 섹션, 삶, 당신은 얘기하고 싶지도 인생은 밖으로 도달 주시기 바랍니다. 당신이 내 휴대 전화 번호가 당신이 내 이메일을 주소, 당신은 나의 GChat 있습니다. 당신이 중 하나 또는 모두에서 저에게 연락 할 수 아마받지 않습니다 때, 그러나 그 반응 할 때마다. 나는 시도하고 24 시간 이내에 다시 얻을. 때때로 그것은 내 될 것입니다 20 분 이십사분. 나는 그 말 했어야 이 병렬로 만들 수 있습니다. 하지만 당신은 응답을 얻을 것이다 꽤 빨리. 당신은 전에 나에게 시간을 텍스트 경우 문제 설정으로 인해이야, 난 당신을 진정 것 아래로 깊은 호흡 운동을 할 당신과 함께,하지만 당신은 시작되지 않은 경우는, 당신은 아마 끝까지가는, 그리고있어 정말 거기에 당신을 도울 수 난 내 최선을 다할 것이다에도 불구하고. 그래서 최선을 다할 것입니다 난 당신을 지원하기 위해 수 있습니다. 여부를 도달 주시기 바랍니다 그것은 사무실 시간에 다시 부분에서의 당신은 저를 참조하거나 밖에서도합니다. 내가 만날 수있는 시간을 설정할 행복 해요 문제를 통해 직장 또는 자료를 통해 이동합니다. 그래서 번호를 하나의 지원입니다. 나는 모든 것을 할 것입니다 I 당신을 지원하기 위해 수 있습니다. 둘째, 중간에 회의. 나는이 좋아할만큼, 난 전능 또는 모든 강력한 여부 모두 아는, 그래서 나는 모든 몰라 시간은 점점 내가 무슨 일을 해요하는 경우 만약에 걸쳐 난을 가르치고 있어요 방법 주제는 당신이 그것을 배우는 데 도움이, 또는 경우 주제에 혼동하지 않지만됩니다 손을 올리거나 물어 또는 저에게 전자 우편을 보내십시오. 또는 당신은 또 다시 혼동하는 경우에도 문제 집합에 대해 뭔가. 당신이 나에게 도달하지 않는 경우는, 나는 확실히 그렇게 알 수 없습니다. 나는에 체크인하기 위해 최선을 할거야 너희들은 모두가 있는지 확인 잘가는 방법으로 물건을 가르치려고 그 대부분에 도움이 될 것입니다 여러분의 학습 스타일,하지만 만약 거기에 내가 할 수있는 아무것도 알려주세요. 그 라인을 따라, 당신은 도움을 원하는 경우 문제 세트, 좀 더있어 당신을 도울 것보다 행복 문제 세트. 우리는 많이 할 겁니다 그 두 번째 방향 이 섹션의 절반입니다. 하지만 당신은 문제를 읽을하지 않은 경우 설정 백업 및 산책을 본 적이없는 반바지를 통해 및 본 적이없는 나 당신을 가르 칠 것으로 예상 녹화 된 모든 온라인 또는 당신은 CS50에서 찾을 수 연구 결과, 그에게 정말 공평하지 않아요 나 또는 다른 피어 있습니다. 그러니 제발, 내가 도울 수보다 더 행복 해요 당신은,하지만 너희들은 나를 만나게 중간. 우리는 당신을위한 자원의 톤이 CS50에서 사용할 수 당신. 내가 그들 중 일부를 언급했다. 이를 활용하시기 바랍니다. 당신이 혼란스러워 경우에, 나는보다 더 행복 해요 당신이 그들을 설명하는 데 도움이 또 다른 방법은, 그러나 그것은 공정하지의 경우 학생들은 근무 시간에 표시 아무것도 시작하고, 그건하지 않은 목요일 밤 그들은 기다리고있어 하나 하나를 통해 그들을 걸어 TF 문제에 대한 일 때문에 설정 정오 다음날. 감각을 만들? 다시, 중간에 우리를 만나 주시기 바랍니다. 그리고 마지막으로, 높은 기대. 나는의 등급을 매기는 사람이 될거야 내 섹션에서, 또는 점수의 문제 설정합니다. 당신은 문제가 다시 사라하지 않은 아직 없거나 하나를 설정합니다. 우리는 그것에 대해 죄송합니다. 드디어에 잠시 우리를 데려 섹션을 해결하고, 지금 우리는 등급을 시작할 수 있습니다. 내가 당신에게 그들을 다시 얻을 것이다 가능한 한 빨리. 그 제의 일부입니다 거기 advisees. 내가 당신에게 그들을 다시 얻을 것이다 가능한 한 빨리. 그리고 문제 2 세트를 위해, 우리는에있을거야 예약하고 우리는 그들을 얻기 시작합니다 당신에게 꽤 빨리 후 당신은 그들을 안으로 돌려 당신이 문제가 다시 설정 얻을, 당신 당신이에서 알다시피, 점수를 얻을 것이다 정확성 - 강의를 읽고 디자인, 범위 및 스타일을 기록했다. 당신은 또한 코멘트를 얻을 수 있습니다. 의견 더 중요하다 점수보다. 나는 그 말을하는 것이 안전하다고 생각. 점수는 그냥 숫자입니다 하나에서 다섯까지. 그것은 그에 읽기 어렵다. 그것은 그에서 개선하기 어렵다. 그러나 주석 특정을 가리 킵니다 물건은 잘 나 지역 않았다 당신은 개선하고 당신에게 약간을 줄 수 미래 또는 대체에 대한 아이디어 일을하는 방법. 그러니 제발, 제발 읽어주세요 댓글을 통해. 나는에 시간을 많이 넣어 이러한 의견. 그들을 통해 읽고 그냥 해주세요 의 아래로 스크롤 PDF, 당신의 점수를 찾거나 온라인으로 그리고 무시 후 점수를 찾아 내고, 의견. 그게 당신이있어 방법이 아니다 더 나은 얻을 수. 당신은 어떻게 증가 할거야 안 그 점수 궁극적으로, 단지 점수를보고 있습니다. 그 의견을보십시오. 높은 기대의 라인을 따라, 또, 내가 말했듯이, 다섯 통해 하나에서 득점 할 수 있습니다. 조로, 열로, 그리고 발로가 있습니다 점수의 대부분 당신은 점점 될 것입니다. 사람과 끗 모두 정말 드물다. 물건은 항상있다 우리는 잘 할 수 있습니다. 내가 프로그램을 코딩 할 때마다, 거기에 항상 뭔가 I 잘 할 수 있었다. 그래서보다는 당신이 다섯을 말하는 모든 모든 것에 시간과 한 완벽하게 모든 것을, 내가 어떤 생각하지 않습니다 의 우리가 정말 믿는 우리가 - 나 바라건대, 우리는 모든 것을하지 않는다 모든 시간을 완벽하게. 그래서 걱정하지 않는 경우 다섯하지 않았다. 다섯,에 네 매핑되지 않는 세 가지 않는, B에 매핑되지 않는 아니다 C. 위에 매핑하지 어떻게 점수 작동합니다. 다윗은 여러 번에를 밝혔다처럼 학기의 최종 점수의과 당신의 TF가, 나로부터의 입력 모여 그리고 당신에 대한 최종 등급을 결정합니다. 그러나 다시, 그것은 다섯 아니다 A, 네, B, 등등. 그래서 높은 기대를 가지고거야 너희들합니다. 나는 좋은 문제를 기대하는거야 세트와 나는 줄거야 같은 당신은 의견. 그리고 그것은 당신이있어 의미 없을거야 나쁜 점수를 얻을 수. 당신은 측면에서 등급을 매긴다 주에서 진행 과정의 끝에 제로. 그리고 마지막으로, 높은 관점에서 때 클래스의 기대, 내가 사랑하는 사람들이 참여하고 있습니다. 좀 더 많은 사람들이 느끼거나 이해 참여 덜 편안. 다른 사람들은 참여 손을 올리고하지 않음으로써 모든 시간을 얘기입니다. 그러나이 클래스의 우리가 될 수 있습니다 작은 문제의 많은, 많은 일을 미니 질문하고 일부 문제를 코딩보다 큰. 그래서 확실히 아웃이 운동을 일 우리는 당신의 컴퓨터 또는 그들을 수행 할 때 종이의 시트. 그러나 나는 또한 전에 당신에게 시간을 줄 것이다 사람은 이제까지 어떤 대답을 가지고 질문으로 부탁드립니다. 내가 당신에게 시간을 줄 것이다 그래서 있기 때문에 우리는거야 때문에, 그것에 대해 생각 때로는 파트너의 작업을 수행하려면, 나는 모두를 기대합니다 다소 종사한다. 더 나은 용어의 부족,가 아마 어느 추운 호출이 될 것입니다 모두가 기회를 가질 것입니다 어디에 답변에 대해 생각하고하는 내가 당신을 호출하고 있습니다 당신이 답을 말할 수 있습니다. 걱정하지 마십시오 그것에 대해 무서워. 내가 과거에했던 우리는 발견했습니다 그게 훨씬 더 성공적이다 또한에 대한 교육 연구를 읽고 그것은되었는지 여부를 결정 좋은 전술. 그것은 매우 유용합니다 특히 당신 학생들에게 생각할 시간을주고 대답하고 그냥 갈까 밖으로 오른쪽 박쥐를 말합니다. 하지만 당신은 편안하지 않은 경우 응답, 나는 또한 꽤 잘 해요 그를 감지, 우리는 안돼 특히에 자리에 넣어 카메라, 비록 아무도 없습니다 당신은 지금 카메라에 있습니다. 그래서 사람들은 내가 가지고있는 규범이다. 라인을 따라 한 가지 더 중간에 만나는. 나는 너희들을 줄거야 많은 피드백. 저에게 의견을뿐만 아니라주세요. 웹 사이트 sayat.me/cs50,있다. 그래서 정직한 피드백이다. 당신 섹션 중에주고 싶은 경우에, 이 발생할 때마다 나는 이메일을 얻는다. 우리는 약간의 휴식을 취할 것입니다, 그래서 나는거야 다음 피드백을 통해 볼. 당신은 어떤 의견이 있으면, 거기에 그것을 나에게주십시오. 당신은 저에게의 Q에 대한 피드백을주는 경우에, 멋진,하지만 그건 가이드의 당신이 마지막에 수행합니다. 그러나 그래서 학기 말에있을 것입니다 그 중 하나를 수행 할 수 없습니다 피드백과 교육에 돌려 더 나은 얘들 아. 당신은 어떤이있는 경우 그러니, 제발 피드백, 나에게 그것을 제공합니다. 나는 피드백을 사랑 해요. FOP에 다시, 우리는 피드백을 얻을 모든 시간. 당신은 내게 플러스, 좋은 물건을 줄 수 델타, 난을 개선 할 수 있어요. 당신은 나의 복장에 댓글을 달 수 있습니다. 로 도움이 될,하지만 당신은 아니에요 것 환영 하나에 의견과 할 모든. 주십시오 저에게 의견을주십시오. 나는 그것을 많이하고 가치 나에게 많은 것을 의미합니다. 하나 더 규범, 재미. 우리는 재미를 많이해야 할 것입니다. 희망이 과정에서는, 당신은거야 재미를 많이 있습니다. 우리는 절에서 사탕을해야합니다. 우리는 음악을해야합니다. 우리는 희망을 알게 될 것입니다 또 다소 잘, 그래서 원하는 이 재미, 매력적인 경험이 될 수 있습니다. 내가 아는 당신 중 일부는 잠 들어 떨어졌다 당신이 오늘 아침 있었다 강의, 그렇게 잘하면 그하지 않습니다 지금의 경우합니다. 그리고 지금 경우에는 단지 코 고는하지 않습니다 그 수 있기 때문에 카메라에 잡힐. 달콤한. 질문, 의견, 또는 관심사 난 아무것도에 이동하기 전에 우리가했습니다 이야기? 좋아요. 그래서 우리는 갈거야 첫 번째 배열에. 이 배열을 만드는 방법이다. 우리는 전에 본 적이 있어요. 당신은 데이터 형식을 가지고, 당신은이 이름은, 그리고 당신은 크기가있다. 여기, 내가 두 개의 배열을 만들 수 있습니다. 첫 번째는, 문자의 배열 그것은 26 공간을 가지고 있습니다. 두 번째의 배열 점수, 그리고 세가 세 개의 정수 공간. 예? 학생 :이 모든 슬라이드 있습니까 우리를 위해 어떤 곳? 제이슨 HIRSCHHORN : 특별 질문입니다. 질문은, 모두는 이들은 가능​​한 슬라이드? 예. 이 슬라이드는 모두 사용할 수 있습니다 그리고 미래에, 나는 그들을하는 이메일로 알려드립니다 당신 섹션하기 전에. 하지만 오늘이 처음이기 때문에 주, 우리는 늦게 시작했다. 그래서 일반적으로, 당신은이 슬라이드를 얻을 겠지만 그들은 온라인과 될 것입니다 나는 당신에게 그 (것)들을 이메일로 알려드립니다 수업 직후. 다른 질문은? 그래서 다시, 배열의 부족, 박스입니다 여러 잡아 더 나은 단어, 하나의 데이터 형식의 요소, 그리고 그들이있어 메모리에서 서로 옆에. 당신은 어떻게 할 수 그래서 다시이 있습니다 두 가지 유형의 배열을 만듭니다. 당신이 가진 배열을 만들었어요 난 후에 그 첫 번째 줄 - INT 점수 브라켓 세 대괄호 - 만약 당신이 를 초기화합니다. 당신은 거기에 어떤 값을 넣어 싶습니다. 그리고 당신은 약간의 값을 넣어하는 방법입니다 , 그냥 거기에 indice을 선택하고 수를 작성합니다. 하자 보드에이립니다. 모두가 볼 수 있습니까? 모두 볼 수 있습니다. 달콤한. 그래서 내 될 것 배열은 점수를했다. 당신이 볼 수 있듯이, 그 크기는 세 가지이다. 거기에 세 개의 상자가 있습니다. 각각의 하나는 적합 할 수있는 데이터 형의? 학생 : 정수. 제이슨 HIRSCHHORN : 정수 이 일인치 우리는 INT 점수, 그리고 첫 번째 단어를 썼다 에 무슨 데이터 형식 그 배열에있는 상자에 이동합니다. 그래서 세 가지를 적합 하 할 수있다. 이유는 제로를해야합니까 이 보드에? 왜 점수 제로 1에 해당 말하는가? 당신의 이름을 생각 나게. 학생 : 커트. 제이슨 HIRSCHHORN : 커트. 학생 : 네. 제이슨 HIRSCHHORN : 왜? 학생 : 첫 번째 인덱스이기 때문에 제로, 우리는 제로 카운트 시작합니다. 제이슨 HIRSCHHORN : 그래서 우리는 시작 제로 계산. 그것은 정확히 맞아. 이 혼란 부분과 의지 여행이다 당신은 위로 당신이있어 특히 배열을 반복하려고, 이는 우리가 약간의에서 할 수 있습니다. 우리는 제로 카운트 시작합니다. 내가 먼저 참조 싶은 경우 상자는 상자 하나 아니에요. 불행히도, 상자 제로입니다. 두 번째는 상자 하나이며, 이것 경우, 세번째는 상자 2 개. 어떤 상자에 약 3? 상자 세 어디입니까? 아니면 점수 브래킷을 수행하려는 경우 세, 대괄호, 그게 뭔데? 따라서 널 문자는 말했다. 다른 어떤 생각? 점수 부류는 세 부류는 무엇입니까? 학생 : 그것은 실제로 존재하지 않기 때문에 당신은 단지, 점수로 정의 브라켓 세. 제이슨 HIRSCHHORN : 그래서 당신이 말하는 정말 존재하지 않습니다. 어떤 경우에는, 언제 우리가 다루고 문자열은 일반적으로 우리가 널 놓을 게요 끝에 문자입니다. 우리는 두 번째 그에게 얻을 것이다. 그러나이 경우,가 더 번째 상자는 여기입니다. 그래서 어떤 배열의 마지막 상자 크기 - 1입니다. 우리는 크기가 n 인 배열이있는 경우에는, 첫 번째 상자가 제로이며, 마지막 하나는 N - 1에서. 이 경우, 그것은 존재하지 않습니다. 여기에 뭔가가있다 기억하지만 우리 아닙니다. 우리는 그것을 보유하고 있지 않습니다. 우리는 요구하지 않았다. 우리가 그것을 액세스하려고 시도하면, 어떤 우리가 거 약간의 수행, 우리는 아마에 갈거야 곤경에 얻을. 이 경우, 내를 초기화 해요 세 가지 변수 배열입니다. 우리는 두 개의 상자 제로 하나를 가하고 에서 상자 하나와 상자 두 개에서 세. 아무도 질문이 있습니까 배열을 초기화 어떻습니까? 그래서 우리는 지금이 이상했다. 점수 브라켓 세, 대괄호, 그 존재하지 않습니다. 우리는 제로, 컴퓨터 과학 인덱스입니다 그래서 우리는 제로 카운트 시작합니다. 우리가 사용할 수있는 마지막 상자, 그것은이다 세 번째 상자가 있지만 상자라고 두 번째. 아래의 아래,이 대안입니다 배열을 초기화하는 방법입니다. 그래서 대신 하나의 어레이를 생성 선, 첫 번째 상자를 작성 후, 두 번째 상자에서 다음 세 번째 상자 당신은 한 줄에 모든 작업을 수행 할 수 있습니다. 그래서 라인, 두 배열. 이 같은 정확한 배열을 생성 우리는 바로 여기 만들었지 만 무엇 한 줄에 그것을 않습니다. 지금 우리는 우리의 배열을 만들었습니다. 일반적으로 일단 당신이 당신이 배열을 만들 여부, 그것으로 뭔가를 할 그것을 채우기 또는 그 물건을 얻을 수있어 그 그들을 화면에 인쇄합니다. 이 경우, 우리는 겪고있어 우리 우리가 초기화 점수 배열, 여기까지 회색의 첫 번째 행입니다. 그리고 두 번째 줄에, 우리는 시작 배열을 통해 반복. 누구든지에 대한 질문이 있습니까 루프의 구조? 그래서 이것은 루프입니다. 우리는 우리의 초기 조건을 가지고 있고, 그 다음 우리의 최종 상태, 우리 , I, 각 루프 반복. 그리고이있는 중괄호 루프, 내가 실행한다면 어떤 일이 발생 이 프로그램? 아무도 우리가 얻는 것이 무엇을 말해 줄래? [? Matu? ?] MATU은 : 모든 점수를 인쇄 각 라인. 그것은 각각의 점수를 출력한다 별도의 줄에. 제이슨 HIRSCHHORN : 정확히 무엇 그것은 인쇄까요? 학생 : 그것은 하나를 출력한다 다음 두 가지, 다음 세 가지. 제이슨 HIRSCHHORN : 그렇습니다. 그런 다음 하나, 둘을 인쇄 할 세 별도의 줄에 각 때문에 우리는 배열을거야 그리고 당신은거야 , printf의를 그 두 번째를 참조하십시오 문 점수 나. 그래서 우리의 통해 첫 라운드에서 루프, 나는 0 인, 어떤 우리가 있다는 뜻 점수 제로 값을 가져 - 이는 우리에게 다시 가면 우리의 그림은 하나입니다 - 과에서 작성 - 오, C는 말한다. 그는 % d이어야한다. 나는 조금에 그 문제를 해결 할 때 나는 손을 밖으로 너희들을합니다. 그러나 우리는 정수를 제시하고 그것 때문에 여기 % d에 있어야한다, % C를하지. 에 대한 % C는 무엇입니까? 학생 : 문자. 제이슨 HIRSCHHORN : 문자, 정확히. 다른 하나는 무엇입니까? 당신을 위해 % d을 (를)하지 않으려면 정수, 당신은 다른 무엇을 할 수 있습니까? 학생 : 전. 제이슨 HIRSCHHORN : 정확히 % I을 보유하고 있습니다. 그래서 반복에 대한 질문 배열을? 우리는이 작업을 수행 할 경우 그래서 어떻게됩니까? 대신 일을 내가 미만 세, 우리는 내가 작 않습니다 보다 작거나 3 ~ 같음. 우리는이 코드를 실행하면 어떻게됩니까? 예, 애니? 학생 : 그들은 인쇄거야 네 번째 줄에 이상한 물건. 제이슨 HIRSCHHORN : 그래서 당신은 말했다 그것입니다 에 이상한 물건을 인쇄하는 것 네 번째 줄? 아무도 대답을해야합니까 그녀의 질문에? 그래서 확률은 그 때 우리에 도착 - 그래서 네 번째 라운드에서 우리를위한을 통해 루프, 다만 애니, 당신은 생각처럼, 그것은 어떤 점수 브라켓 세,있을거야 우리는 이미하지 않습니다 알아 냈어요 존재하고, 우리가 시도하는거야 그리고 액세스를 인쇄 중, 그것을 어떤 방법을 사용합니다. 컴퓨터가 아마 있도록 우리의 화가. 당신은 정확히 맞아. 그것은 모두 프로그램을 종료 할 수 있습니다. 무언가를 인쇄 할 수 정말 이상한. 당신은 확실히 말할 수 없습니다. 가능성은있다에서 아마 미친거야 당신과 단지 바로 종료합니다. 하지만 당신이해야합니다 일반적인 실수 당신은 하나가 방금있어 위치 끝은,이 윌 버그 귀하의 코딩 전반에 걸쳐 전염병. 내가 좋아하는 한 가지 방법은 단지에 화이트 보드, 각각의 반복을 통해 이동 볼 수있는 손 또는 종이에 루프의 당신은 무엇을 다음 발생하고있어 일반적으로 실현, 오, 잠깐,하지해야 이상 또는 이하로 갔다 세에 해당. 나는 어떤 두에서 중지해야 당신의 상태가 작다면 어떻게 될까 3 개. 그래서 질문까지? 달콤한. 그래서 당신은 모든 컴퓨터가 열려있다. 우리는 당신에게 줄거야 2-3 분은 프로그램을 작성하는 정수 하나를 사용하여 배열을 생성 다섯 다음 각을 출력을 새 줄에 정수입니다. 그리고 당신은 질문이있는 경우에는, 손을 올립니다. 나는 곁에 와서 행복 해요. 내가 말했듯이,의 세합시다 분이 쓸 수 있습니다. 나는에 가면 모두 OK입니다 새 창이 닫습니다? 당신은 기회가하지 않은 경우 미안 해요 완성하는, 그러나 우리는 그것을 할 겁니다 함께 지금. 그래서 최대 화면, I 중 포함했다 cs50.h는 # stdio.h에 있습니다. 누군가가 나에게 무엇을 말할 수 이 두 라인은 어떻게? 마이클? 학생 : 그들은 라이브러리를 포함 CS50가 만든 스티브가 있다는 것을 당신이 사용할 수 있도록 저장 당신의 인생을 쉽게합니다. 제이슨 HIRSCHHORN : 그래서 당신이 말들은 라이브러리 하나를 포함 CS50 만든 cs50.h, 그리고 하나 그냥 표준으로 제공 C 패키지 stdio.h와. 당신은 포함 무엇을 의미합니까 라이브러리,하지만? 당신은 좀 더 특정 할 수 있습니까? 학생 : 그것은 그래서 당신은 할 수 있습니다 을 가지고 특정 코드 단어를 사용 이동하지 않고 발생을 작동 그리고 함수 C를 직접 확인하십시오. 제이슨 HIRSCHHORN : 당신은 할 수 나에게 예를 들자면? 학생 : printf의 마음 당신이 사용할 수 있습니다. 제이슨 HIRSCHHORN : Printf가. 따라서 printf는 그 중 하나가 말했다 필요보다는 기능 자신에 printf를 쓰기 printf를합니다 stdio.h에 실제로 포함되어 있으므로 다만 그것을 사용하여 추정 할 수 그것은 작동합니다. stdio.h에있는, 해당 파일을 열 경우, 그것은 포함하는 방법 printf를 작품 printf를위한 모든 코드? 왜 당신은 당신의 머리를 흔들? 학생 : 때문에 헤더 파일 단지 함수 선언을 포함합니다. 제이슨 HIRSCHHORN : 정확. 헤더 파일은 포함 함수 선언. 그러니까 기본적으로, 당신은이를 컴파일 할 때 우리의 할 것 개수를 확인 명중 둘째, 컴파일러는 알고있는 경우 당신이 printf를 사용하여 printf를 존재합니다. 그것은 어딘가에 정의 할거야. 그것은 당신이 그것을 사용하는 문제가 아니에요. 그리고 나중에, 그것은을 포함합니다 실제로 포함과 0 printf의 구현 및 귀하의 코드로 병합합니다. 당신이 확실 어떻게해야합니까 그것은을 포함 말을위한 1과 0 문자열을? 학생 : 문자열 오기 cs50.h.에 제이슨 HIRSCHHORN : 오른쪽. 문자열 존재를 얻을 수있다 그래서 함수 선언. 그러나 다음과 0, 바이너리 실제로이 포함 파일 GET 문자열의 구현? 당신은 확실히 그 방법을 어떻게해야합니까 프로그램과 함께 간다? 학생 :에 링커에 전달 명령 줄 인수입니다. 제이슨 HIRSCHHORN은 : 링커에 전달 명령 줄 인수합니다. 당신이 어떻게해야합니까? 학생 : 그것은 연타에-L 라인의 제이슨 HIRSCHHORN : 정확. 당신이 바로 CS50-L라고? 즉 1과 0을 포함합니다. 학생 : 그러나 확인한다 당신을 위해, 맞죠? 제이슨 HIRSCHHORN : 그렇습니다. 확인이 당신을 위해 작업을 수행하지만, 결국, 당신이 만들거나하지 않습니다 당신이 확인하도록해야합니다 자신에, 그래서 그것 좋은 일이 기억. 당신은이 중 하나를 사용하려고한다면 다른 라이브러리는, 당신이 할 만 # 작성하는 것이 포함 다음 라이브러리입니다. 당신은 또한 안으로 연결해야합니다 그리고 그 두 가지가 다릅니다. -L CS50은 다릅니다 # cs50.h. 등보다 그 후에 우리는 주요 int 무효 중괄호가 이제 우리는 코드에 갈거야 주요 내부. 내가 여기서 첫 번째 줄은 주석입니다 말했다 즉, 배열을 만들 정수 한 다섯 통해. 내가 설명하는 좋은 단어는 무엇인가 그냥 화면에 지금있다 주요 내부 의견? 우리는 무엇을 하죠? 학생 : 의사 코드. 제이슨 HIRSCHHORN : 의사 코드. 제프리 감사합니다. 그것은 정확합니다. 의사. 너희들 전에 의사를 본 적이 있습니까? 당신이 사용한 경우 손을 들어 문제 전에 의사 하나를 설정합니다. 당신의 약 절반. 나는 매우 사용하는 것이 좋습니다 문제로 분해하는 의사 조각을 뜯어 작고, 더 편리합니다. 또한, 의사 할 경우, 이미 대부분의 의견이 내장, 당신은 필요가 없습니다 다시 가서 알아 내기 위해 노력 당신은 뭘하고 있었는지. 그래서 누군가가 나에게 첫 번째 라인을 제공 할 수 있습니다 정수 하나를 사용하여 배열을 만들려면 다섯까지? 당신은? 학생 : 중간 그리고 당신은 호출 할 수 있습니다 그 어떤 번호 및 광장 브라켓 다섯. 제이슨 HIRSCHHORN : 그래서 INT 숫자, 대괄호 다섯. 학생 : 같음, 그리고 다음 중괄호. 제이슨 HIRSCHHORN : 같음, 중괄호. 학생 : 하나, 둘, 셋, 넷. 제이슨 HIRSCHHORN : 하나, 둘, 셋, 넷, 다섯. 다음과 중괄호 학생 그리고 세미콜론. 제이슨 HIRSCHHORN : 그리고 곱슬 중괄호와 세미콜론. 우수. 새 줄에 각 INT를 인쇄합니다. 누군가가 줄 수 내가 그 코드, 제발? [? Matu? ?] 어서. 학생 : 위해 ( 제이슨 HIRSCHHORN 관계 : ( 학생 : int 전 = 0 제이슨 HIRSCHHORN : int 전 = 0 학생 : 세미콜론 나보다 다섯. 제이슨 HIRSCHHORN : 세미콜론, 5보다 내가 더 적은. 학생 : 세미콜론, 난 + +. 제이슨 HIRSCHHORN : 세미콜론, 난 + +. 학생 : 닫힌 괄호, 다음 여는 중괄호. 제이슨 HIRSCHHORN : 닫힌 괄호 두 개의 중괄호. 중괄호 안에? 학생 : 그리고 printf의 "% D / N" 제이슨 HIRSCHHORN : 죄송합니다, 잠깐. printf의 "% D / N, 폐쇄 인용. 학생 : 그리고 폐쇄 인용, 쉼표, 수, 브라켓 전. 제이슨 HIRSCHHORN : 쉼표, 수, 브라켓 전. 학생 : 죄송합니다, 숫자 브래킷 전. 제이슨 HIRSCHHORN : 숫자, 괄호 나. 학생 : 죄송합니다. 그리고, 괄호를 폐쇄 세미콜론. 제이슨 HIRSCHHORN : 휴무 괄호, 세미콜론. 나는 그것을 저장하려고 해요. 우리는 수를 만들려고하고 있습니다. 그리고 어떻게 수를 실행합니까? 학생 : 백 슬래시. 학생 : 도트 슬래시 - 제이슨 HIRSCHHORN는. / 정확히 계산합니다. 감사합니다. . /이 계산됩니다. 하나, 둘, 셋, 넷, 새 줄에 다섯. 그것은 일처럼 보인다. 예, 노아? 학생 : 당신은 또한보다 작거나 할 수 네 동등한, 같은 난 미만 또는 네 같음? 덜하고 어떤 장점이 있습니다 5 개 이상, 또는 그냥 다른 방법 쓰지? 제이슨 HIRSCHHORN : 그래서 질문은 당신입니다 할 수 있었다 나는보다 작거나입니다 네 대신에 해당 나는 개 미만이다. 그 같은 일이겠습니까? 학생 : 그것은해야합니다. 제이슨 HIRSCHHORN : 예. 그것은 완전히 똑같이했을 것입니다. 문체, 그것은보다 일반적으로 덜 당신이 때 두 번째로 볼 수 있습니다 우리는 당신이 뭔가를 문자열 사용할 수 있습니다 않습니다 당신이 본 적이있는 strlen 함수 호출 전에 길이를 얻을 수 문자열의. 그리고 당신은보다 적게 할 수 없습니다 또는 strlen 함수와 동일. 당신보다 작거나 할 수 strlen 함수 뺀 값과 동일. 그래서 바로 좋네요 strlen 함수 미만 않습니다. 예? 학생 : 그리고 실제의 퀴즈 수행 우리는 우리에 대한 의견을 제공해야 코드뿐만 아니라? 제이슨 HIRSCHHORN : 질문 퀴즈, 당신에게 할 한 코멘트를 제공 할 수 있습니까? 그래서 우리는 때 퀴즈에 대해 더 이야기 할 것 그들은이 등장하지만, 일반적으로 좋은 당신이있어 때마다 엄지 손가락의 규칙은 코드를 작성하는 것은, 주석을 제공합니다. 당신은 잘못된 코드 만 얻을 경우 오른쪽 의견, 당신은 몇 가지를 얻을 수 있습니다 신용 난 그레이딩 된 날로부터 두 경우 문제 세트 또는 퀴즈 당신. 그래서 코멘트는 항상 제공하는 것이 좋다. 달콤한. 백작. 훌륭한 일. 의가 이동하자. 문자열. 문자열. 우리는 강의에서 전에 본 적이 있어요. 이 내 마음을 불었다 때 먼저이 밖으로 발견했다. 아마 누구의 타격하지 않았다 여기 마음,하지만 괜찮아요. 문자열은 문자의 배열이며, 앞에서 말한대로 그들은 함께 종료 null 종결, 그 이 / 0 문자입니다. 우리에 문자열을 그릴려고하는 경우 보드는, 우리는 여기에 그릴 수 있습니다. 그래서이 문자열은 얼마나? 미안 해요. 이 문자열은 얼마나? 학생 : [들림]. 제이슨 HIRSCHHORN : 4? 왜 4 개입니다? 학생 : 때문에 제 자리 null 문자입니다. 제이슨 HIRSCHHORN : 그래서 다섯 번째 자리 null 문자입니다. 나는에 strlen 함수를 실행했다 그래서 만약 이, 그것은 나에게 네 줄 것입니다. 수정. 그리고 배열은,하지만, 난한다면 이 배열을 초기화, 얼마나 많은 공간 나는을 요청하는 것? 학생 : 5. 제이슨 HIRSCHHORN : 5. 나는 다섯 가지를 요구해야 할 것입니다,하지만 난 할 수 여기 만 개의 문자를 넣어 그 NULL을 넣어해야하기 때문에 끝에 터미네이터. 그래서 우리는 "ohai"쓸 예정입니다 끝에서 null 종결을 넣어. 우리는이 문자열이라고합니다 의이 같습니다. 의 브래킷 제로는 무엇입니까? 의 브라켓 제로 애니? 학생 : O. 제이슨 HIRSCHHORN : O, 정확히. 의 브라켓 하나? 의 브라켓 다섯? 의 브라켓 다섯? 학생 : 존재하지 않습니다. 제이슨 HIRSCHHORN : 존재하지 않습니다. 정확. 좋아. 이해에 대한 질문 문자의 배열로 문자열을? 좋아, 그럼. 너희들을위한 또 하나의 프로그램입니다. 사용자가 요청하는 프로그램을 작성 문자열을 다음 각을 출력 새 줄에 문자가 있습니다. 그럼 쓸 3 분 봅시다 이 프로그램은, 그리고 우리는 그것을 만들 것이다 그룹으로. 미안 해요. 이를 확인하기 위해 당신이 필요한가요? 학생 : 아니요 제이슨 HIRSCHHORN : OK. 하자,이 코드를 하나 더 시간이 걸릴 또는 적어도 그것에서 시작됩니다. 그래서 당신은 계속 작업 할 수 있습니다,하지만 난 갈거야 그것을 통해가는 시작합니다. 그래서 전 좋아, 내가 화면에이 # cs50.h # stdio.h에 포함이 있습니다. 주요 무효 int로. 주의 중괄호 안에, 내가 가지고 두 개의 주석, 의사. 하나는 사용자로부터 문자열을 부탁드립니다. 두 번째는 각각 출력합니다 새 줄에 문자가 있습니다. 안나 그래서, 당신은 내게 물어 줄 수 사용자로부터 문자열을? 학생 : Printf가. 제이슨 HIRSCHHORN : printf ()는? 학생 : 네. ( 제이슨 HIRSCHHORN : ( 학생 : "저에게 문자열을 제공합니다. 제이슨 HIRSCHHORN "제공 나 STR - 죄송합니다 - 문자열입니다. 학생 : N / ") 세미콜론. 제이슨 HIRSCHHORN : 문자열을 종료, 닫힌 괄호, 세미콜론. 학생 : 네. 그리고 다음 줄 문자열 S = 문자열을 얻을. 제이슨 HIRSCHHORN : 문자열 S = 문자열을 얻을. 학생 : 네. 그리고 () 제이슨 HIRSCHHORN : () 학생 : 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. 환상적인. 그래서 문자열을 얻기 위해가는거야 나는 무엇에 저장하는거야? 변수는 무엇이라고의 당신이 만든? 학생 : 문자열의. 제이슨 HIRSCHHORN : 변수 의라고합니다. 그것은 문자열 형식입니다. 정확히. 우리가 원하는 다음 것은 출력입니다 새 줄에 각 문자. 누가 나에게 해당 코드를 줄 수 있습니까? [들림]? 당신이 내게 줄 수 있습니까? 학생 : 물론. 제이슨 HIRSCHHORN : 그것을하자. 그리고 미안 해요. 난 당신이 무슨 말을 반복하고 싶지 않다 당신은 바로 그것을 받고 있지만니까 그래서 반복해야 할 때 이 속기, 그들 모두를 얻을 수 있습니다 사본의 텍스트 출력. 그래서 그냥 계속 얘기 할 수 있습니다. 불행히도, 난이 당신을 통해 그것을 말할 수 있습니다. 미안하지만 - 학생 : 괜찮아요. int 전 = 0 제이슨 HIRSCHHORN : int 전 = 0 학생 : 나는 미만 - 제이슨 HIRSCHHORN : 세미콜론. 학생이하기 전에, 우리는을 넣을 수 있습니다 변수가 INT 이름의 길이를 얻을 수 있도록? 제이슨 HIRSCHHORN : 오, 당신은하지 않습니다 세미콜론을 넣어 줄까? 확인을 클릭합니다. 그래서 당신은 제로 후 어떻게할까요? 학생 : 나는를 얻으려면 문자열의 길이와 변수에있는 설정? 제이슨 HIRSCHHORN : OK, 그래서 내가 그걸 어떻게해야합니까? 학생 : 그래서 당신은 INT 길이를 할 수 = 제이슨 HIRSCHHORN : 중간 길이 = 학생 : S-T-R-L-E-N. 제이슨 HIRSCHHORN : S-T-R-L-E-N - 학생 :의의. 브래킷. 제이슨 HIRSCHHORN (들). 학생 : 그리고 나는 당신이이 생각 두 정수 사이에 세미콜론을 넣어. 제이슨 HIRSCHHORN : 세미콜론 제로 후? 학생 : 네. 그 다음 뒤에 세미콜론을 넣어 당신이 길이보다 내가 덜 말한다. 나는 길이보다, 그 변수입니다. 학생 : 그리고 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. 학생 : 저는 + +. 제이슨 HIRSCHHORN : 난 + +. 우리를 위해 루프가있다. OK for 루프 내부. 학생 : 그리고 printf를 수행합니다. 제이슨 HIRSCHHORN : Printf가. 학생 : 브래킷. 제이슨 HIRSCHHORN : 괄호, 따옴표를. 학생 : 괄호, 따옴표, % C / N. 제이슨 HIRSCHHORN : % C를, 확인을 클릭합니다. 학생 : N /. 제이슨 HIRSCHHORN : N /. 학생 : 닫힌 따옴표. 제이슨 HIRSCHHORN : 닫히는 따옴표. 학생 : 쉼표. 제이슨 HIRSCHHORN : 쉼표. 학생 : S. 제이슨 HIRSCHHORN : S. 학생 : 브라켓 전. 제이슨 HIRSCHHORN : 브라켓 전. 학생 : 그리고 닫힌 괄호. 제이슨 HIRSCHHORN : 닫힌 괄호. 학생 : 그리고 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. 환상적인. 그럼이를 저장할 수 있습니다. 철자를 확인합니다. 소년 오. I 오류의 몇 가지 있어요. 11 라인에서 첫 번째 오류, 그것은 말합니다, 식을 예상하고주고 나 오류가 두 번째이 INT, 오류가있다. 거기에 주변에 약간의 오류가 발생했습니다. 아무도 그게 뭔지 오류 알고 있나요? 커트? 학생 : 나는 그것이하는데 생각 쉼표가 아닌 세미콜론합니다. 제이슨 HIRSCHHORN : OK, 쉼표 대신 세미콜론. 그래서 우리 모두가 해결해야한다는 것입니다? 학생 : 아니요 제이슨 HIRSCHHORN : 어떤 다른 우리가 해결해야합니까? 학생 : 우리는 string.h에 포함해야합니다. 제이슨 HIRSCHHORN : 포함하십시오 string.h에. 난 곳 포함해야합니까? 학생 : 당신을 포함하고 같은 장소 다른 것들, 오른쪽 후에는 stdio.h에 있습니다. 제이슨 HIRSCHHORN : 이것이 실행되면 보자 먼저 일반적으로, 내가 좋아하기 때문에 실행 먼저 한 가지를 수정하고하는 그 후 우리가 얻는 오류를 참조하십시오. 그래서 우리는 터미널을 취소거야 컨트롤 N으로,의는 주문을하자. 그래서 11 라인에있는 다른 오류가 발생합니다. 세미콜론을 예상했다. 그리고 나는 아직도 받고 있어요 이 줄에 오류가 발생합니다. 그래서 나에게 그것을 말하는 오류를 부여하지 않은 strlen 함수가 무엇인지 이해하지 못하는 것은, 그러나 이것에 저에게 오류를주고있다 라인, 그래서 뭐가 문제인가? 마크? 마커스. 학생 : 당신은 제거해야합니까 두 번째 INT 선언? 제이슨 HIRSCHHORN : 제거 두 번째 INT. 의이 시도 할 수 있습니다. 이제 터미널을 취소합니다. 철자를 확인합니다. 오류가 발생했습니다. 암시 적으로 라이브러리를 선언 함수 strlen 함수. 그래서 지금 우리는 그 오류를 참조하십시오 않습니​​다. 우리는 무엇을 포함해야합니까? 학생 : 쓰여진 문자열. 제이슨 HIRSCHHORN : 포함하십시오 string.h에, 우리는 # 상단에 string.h에 포함 할거야 화면. 의를 저장할 수, 철자 확인합니다. 이제 컴파일. 그래서 다시 일 우리가 필요 우리의 루프를했을 때 라인 (12)를 기억 우리는, int 전 = 0 그것을 설정하고 길이 = 나 strlen (들). 이 환상적인 전략이다. 이런 스타일은 중대하다, 이 디자인은 좋은 것입니다. 우리는 나중에 그 이유에 갈 수 있습니다 하지만 당신은 전화를하기 위해 필요한이 방법은 대신 매일 1 회 strlen 함수 시간 당신은 루프를 실행합니다. 그러나, 당신은 거기에 쉼표를 사용합니다 그리고 당신은 다시 INT가 필요하지 않습니다. 당신은 그 모두를 선언하는 경우 함께 변수, 당신 다시 INT가 필요하지 않습니다. 그리고 당신은 strlen 함수를 사용하려고하는 경우 이는 다른 라이브러리 에 포함 된 기능이 작동하지 stdio.h를 또는 cs50.h가 확인 확실히 당신은 string.h에 있습니다. 커트? 학생 : 그럼 당신이 할 필요가없는 경우 유형 길이가 무슨 말을, 그 수행 그것은 INT 할 뜻은? 당신은 두 가지를 할 수 없습니다 이 유형? 제이슨 HIRSCHHORN : 그래서 당신은 수 두 가지 유형이 있습니다. 길이는하지만, 여기에 int입니다. 그것은 쉼표이기 때문에 길이는 int이며 그리고 같은 것. 학생 : 그래서 그것은 일어나고 있다고 가정 첫 번째와 동일하게? 제이슨 HIRSCHHORN : 그렇습니다. 우리는 지금이 작업을 수행하려고하지만,하지 않는 두 변수를 포함 할 수 있습니다 하나의 데이터 유형을 사용하여 동일한 행. 그래서 INT X는 Y 만들 것이다 두 변수. 우리가 만들 경우, 그것은 제공하므로 INT X, Y, 저를 사용하지 않는 변수 x와 y 있기 때문에 우리는 그들을 사용하지 마십시오. 그냥 전에 너무 무효를 넣어 멋진 트릭을 사용하지 않는 경우 그것을 사용하는 뭔가. 당신이 볼 수 있듯이하지만,이 X와 Y를 만들 수 쉼표로 같은 줄에. 그것은 두 개의 정수를 만드는 경우 거기. 만들 수 예, 완전히 할 수 있도록 같은 줄에 두 가지 쉼표로 구분. 하지만,의 그 없애 보자. 그래서 마법이있다. 우리를 위해 코딩을위한 너희들을 감사합니다. 하자 그것을 한 번 더 확인을 실행합니다. 나에게 문자열을 제공합니다. [들림], 당신은 그것의 대부분을했다. 문자열은 무엇입니까? 학생 : 안녕하세요. 제이슨 HIRSCHHORN : 안녕하세요. H-E-L-L-O, 한 줄에 각각의 문자. 맛있겠 네요. 의 다시 실행하자. 항상 확인하는 것 코너 경우에. 좋은 코너 케이스는 무엇을 체크입니까? 학생 : 숫자? 제이슨 HIRSCHHORN : 숫자입니다. 그래서 1에 넣어 것입니다, 그것은 1 출력합니다. 그것은 편지를 요구하므로 아니에요 그것은 숫자 일처럼 보인다. 좋은 코너 경우 확인합니다. 또 다른 좋은 코너는 무엇입니까 확인하는 경우? 학생 : 빈 문자열입니다. 제이슨 HIRSCHHORN : 응? 학생 : 빈 문자열처럼. 제이슨 HIRSCHHORN : 빈 문자열입니다. 그럼 아무것도 넣지 할 수 있습니다. 무엇을 밖으로 인쇄됩니다? 학생 : 아무것도. 제이슨 HIRSCHHORN : 아무것도. 그것이 작동하는 것 같다. 당신은 더 많은 코너 케이스를 시도 할 수도 있지만 일반적으로 숫자, 다른 데이터는 시도하는 훌륭한뿐만 아니라, 아무것도 아니다. 아무것도, 0, 네거티브 필름은 항상 없습니다 을 시도, 놀거리와 볼거리에 큰 것들 테스트 상황은 확실히 우리가 테스트됩니다한다 50에 대한 테스트합니다 확인하십시오. spell.c에 대한 질문? OK, 머리를 뒤로하자. 나는 한 번 더 프로그램이 너희들이 쓰는하십시오. 그것은 students.c라고. 이에 대한 사용자 요청하는 프로그램입니다 다섯 명, 무작위로 선택 그리고 이름 중 하나를 출력합니다. 이 프로그램은 조금 더 우리가 쓴 마지막 두 이상 참여 왜 우리는로 5 분 소요하지 않는다 우리는거야 후 개별적으로 코딩하고, 그룹으로 코드입니다. 이 프로그램은 또한 몇 가지를 포함 당신이 그렇다면, 전에 보지 않았을 수 있습니다 당신이 어떻게에 대한 질문이 나는 당신의 손을 들어, 그렇게. 내가 와서 당신을 가리킬 수 있습니다 오른쪽 방향으로. 그러나 우리는 또한 그것을하고있어이 때문에 몇 가지를 소개하는 좋은 방법이 될 것입니다 까다로운 주제에. 그래서, 오른쪽 작동? 학생 : 네. 제이슨 HIRSCHHORN : 당신에 켤 때마다 할 문제 세트, 거기에 여러 가지 방법으로 그것은,하지만 몇 가지 더 있습니다 다른 사람보다 우아한. 우리 안으로 뛰어 보자 # cs50.h.을 포함 # stdio.h에 있습니다. 주요 int 무효, 중괄호. 중괄호 안에, 저는 두 의견이 있습니다. 첫 번째는,을 부탁드립니다 다섯 개의 이름 사용자입니다. 두 번째는, 무작위로 선택된다 그리고 이름 중 하나를 인쇄합니다. 그래서 첫 번째 하나를 수행하자 물어 다섯 개의 이름 사용자입니다. 누가 다섯 개의 이름에 대한 사용자 요청했다 어떻게 그렇게 말해 줄래? 두 사람이 첫 번째 부분을했다. 세 사람은 첫 번째 부분을했다. 넷, 다섯. 톰, 당신은 그것을 어떻게해야합니까? 학생 : 당신은 문자열을 선언 할 것이다 그리고 이름 브래킷 다섯. 제이슨 HIRSCHHORN : 문자열 브래킷 다섯의 이름을 지정합니다. 이렇게이 라인은 무엇인가 문자열 이름 브래킷 다섯? 학생 : 당신은 선언 할 것 문자열의 배열입니다. 제이슨 HIRSCHHORN :이 문자열의 배열입니다. 얼마나 많은 문자열 가고있다 여기에 맞게? 학생 : 5. 제이슨 HIRSCHHORN : 5. 우수. 우리는 이름 때문에 전화를 겁니다 우리는 여러 사람들을받을거야. 자, 다음은? 다음 그리고 학생 루프를 가지고 - 제이슨 HIRSCHHORN : 루프. 학생 : - 난 = 0. 제이슨 HIRSCHHORN : (int 전 = 0하십시오. 학생 : 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. 학생 : 저는 다섯 미만. 제이슨 HIRSCHHORN : 나는 다섯 미만. 학생 : 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. 학생 : 저는 + +. 제이슨 HIRSCHHORN : 난 + +. 학생 : 그리고 닫힌 괄호. 제이슨 HIRSCHHORN : 닫힌 괄호, 그리고 약간의 중괄호. 중괄호 안에? 학생 : 그리고 printf의. 제이슨 HIRSCHHORN : Printf가. 학생 : 오픈 괄호, 이름, % d 개. 제이슨 HIRSCHHORN : 네? 학생 : 이름입니다. 제이슨 HIRSCHHORN : 이름입니다. 학생 : 그리고 공간 및 다음 % d에. 제이슨 HIRSCHHORN : 이름, 공간, % d에. 학생 : 그리고 / N, 그리고 폐쇄. 제이슨 HIRSCHHORN : 그래서 이름, 공간, % D / N, 닫힌 괄호. 학생 : 쉼표 I + 1. 미안 해요. 폐쇄 인용하고 쉼표 나 +1. 제이슨 HIRSCHHORN : 휴무 따옴표, 쉼표, 난 +1. 학생 : 네. 그리고 그 다음 줄 - 제이슨 HIRSCHHORN : 나는 + 1. 학생 : 네. 그리고 다음 슬라이드 이름 브라켓 전입니다. 제이슨 HIRSCHHORN : 다음 라인 이름 브라켓 전입니다. 학생 : = 문자열을 얻는다. 제이슨 HIRSCHHORN : = 정보 - 자본 G-E-T - 문자열입니다. 죄송합니다, 죄송합니다. 학생 : 오픈, 닫힌 괄호 후 - 제이슨 HIRSCHHORN : 열기, 괄호를 마감했다. 학생 : 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. OK, 당신은 배열을 초기화 다음 문자열, 이름, 그리고 통과 루프, 5 번을 출력 저장 한 후 사용자에게 메시지를 표시하고 문자열 5. 누군가는이 있습니까 이것에 조정? 톰, 내가 생각하는 사람 당신과 동의합니다. 꽤 좋아 보인다. 확인을 클릭합니다. 왜, 비록 내가 +1 짓을 한거야? 학생 : 내 말은하지 않습니다 수 있지만, 그건 그래서 +1 이름 한 다섯 이름을 지정합니다. 그렇지 않으면 이름이됩니다 네 이름을 제로. 제이슨 HIRSCHHORN : 그래서 당신은 내가 +1했습니다 그렇지 않으면 것 때문에 네 0 - 밖으로 인쇄하기 때문에 그 컴퓨터가 어떻게 생각하는지,하지만 인간 정말 그런 읽지 않는다. 그것은 또 다른 것입니다 당신이 발생할 수 있습니다. 때때로 당신은 무언가를 인쇄 할 때 사용자에게, 당신은하고 싶은 것 조금 더 예쁘게, 그리고 일 이 경우 +1 난입니다 이 예쁘게 만드는 방법입니다. 나는 또한 다섯 번, 문자열 이름을 참조 오, 난 개 미만이다. 당신이 다섯 어디서 얻었는지 궁금. 당신은 내가 말에서 그것을 가지고 당신 다섯 명. 그러나 우리는 코드를 확인하고 싶다면 조금 더 강력한, 한 가지 우리 , INT의 외부, 여기있다 할 수 있었다 우리는 이런 일을 할 수 # 정의하고, 우리는 NAMES는 5 할 수 있습니다. 그러니까 기본적으로, 어디 I 자본 쓰기 N, 자본, 자본 M, 자본 E, 자본 S, 해당 문자열, 그것을 대체 할 코드의 5와 함께합니다. 나의 단지 그것을 호출하자 - 우리가 거 그냥 NUMBER 호출합니다. 그래서 모두 대문자를 정의하고 있습니다 NUMBER 5 수 있습니다. 그래서 지금 나는이 숫자 5가 어디 모두 대문자 번호로 대체 할 수 있습니다. 그리고 지금은 번호를 변경하려는 경우 이름, 내가 할 필요가있다 내가 가지고있는이 한 줄, 선 사, # 5 번을 정의하는 10로 변경 하거나 4로 변경합니다. 코드가 길어질 때, 당신은 아니에요 모든 장소에게 당신을 기억하는 것 당신이 원하는 얼마나 많은 이름을 넣고,에 하나를 놓치지 않는 당신을 위해 주문이됩니다 무언가를 찾기 위해 그것을 할 좋은 방법 그런 다음 상단까지 그냥 구문을 사용 어디서나 코드 전체. 마커스? 학생 : 그 문체 선호 세계적를 정의하는 것보다 상수 N? 제이슨 HIRSCHHORN : 그래서 즉 문체 세계적으로보다 선호 정수 N을 정의? 그래서 당신은 당신이 수 말을하는지 수행 INT 수 = 5? 학생 : 그들은 자음이 있습니까 C에서 또는 아니오? 제이슨 HIRSCHHORN : 또는 상수 - 동일합니다. 그래서 그냥 말하고 전역 변수? 학생 : 네. 제이슨 HIRSCHHORN : 그래서 문체, 반드시 하나의 오른쪽은 없습니다 대답, 그러나 그 모두는 더 나은 다만이 무작위로 던지는 것보다 코드 전체 숫자. 우리는 그 마법의 숫자를 호출합니다. 난 당신의 코드를 보면 때 또는 누군가가 그것을 통해 읽고있는, 그들은 다만 이러한 임의의 숫자를 원하지 않는 이해가되지 않는. 일반적으로도 수 26 알파벳 문자의 수 그것은 상단에 알파벳을 정의하는 것이 좋습니다 그리고, 그 문자열에서 숫자 26을 저장 말이되는 경우. -이나 문제에 하나보다는 설정 다시, 우리는에서 이것에 대해 얘기하지 않았다 시간이 있지만, 대신 던지는 사방 25 10, 당신은 할 수 있습니다 분기와 같은 25 번 또는 10로 저장 DIME, 그리고보다 쉽게​​있게 누구든지에 코드를 읽고있는 당신이 그 번호를 선택한 이유를 이해합니다. 그리고 또한 당신을 위해, 당신은 원하는 경우에 코드를 업데이트, 그것은 조금 있습니다 보다 강력한. 그래? 학생 :이 코드는 예정 후 우리를 위해 사용할 수? 제이슨 HIRSCHHORN :이 코드의 모든 우리는 함께 쓸 것을 이메일로 전송 될 것 남자와 가능. 예. 따라서 다섯 개의 이름에 대한 사용자를 부탁드립니다. 무작위로 선택하고 인쇄 이름 중 하나. 누가이 줄 생각하세요? 이 여기에 까다로운 라인입니다. 죄송합니다, 톰. 당신은 정말 좋은 일을했지만 이 경우에는 약간 까다 롭습니다. 마커스 앞서갑니다. 학생 : 음, 먼저 당신이거야 인 stdlib.h와 time.h.를 포함해야 제이슨 HIRSCHHORN : 그래서 당신에 말을하는지 상단에는 두 개의 더 많은 라이브러리를 포함. 당신은 내가 S-T-D-L-I-B를 포함하려면 점 H, 표준 라이브러리, 어떤 다른 하나? 학생 : Time.h. 제이슨 HIRSCHHORN # time.h.을 포함 그래서이 두 개 더 라이브러리입니다. 나는 우리가 사용하게 될거야 이제 가정 이들에 포함 된 기능 당신이 필요한 이유는 두 가지, 를 포함 할? 학생 : 그럼, 먼저입니다 부터 srand를 기록 할 것. 제이슨 HIRSCHHORN :부터 srand. 학생 : (시간 (0) 제이슨 HIRSCHHORN : 죄송합니다. 부터 srand (시간 ( 학생 : 0. 제이슨 HIRSCHHORN : 0. 학생 :)), 세미콜론. 제이슨 HIRSCHHORN : 다른 닫힌 괄호? 세미콜론. 난 그냥 대체 할거야 NULL로 제로. 그것은 같은 일에 대해 어떻게 겠지만 일반적으로, 당신은 NULL을 볼 수있는 우리는 이것에 대해 얘기하자 두 번째 줄. 학생 : 문체 더 나은? 제이슨 HIRSCHHORN : 일반적으로, 사람들 오른쪽 NULL하지만, 같은 일. 학생 : 그리고 INT 이름입니다. 제이슨 HIRSCHHORN : 중간 이름입니다. 학생 : = 제이슨 HIRSCHHORN = 학생 : 랜드. 제이슨 HIRSCHHORN : 랜드. 학생 : () 제이슨 HIRSCHHORN : () 학생 : 모듈로 번호. 제이슨 HIRSCHHORN : 모듈은 무엇입니까? 문자? 퍼센트 문​​자? 학생 : 퍼센트 문​​자. 당신이 위에 정의 된 모듈 수입니다. 제이슨 HIRSCHHORN : 모듈로 번호. 학생 : 그리고 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. 학생 : 그리고 새로운 라인, printf를. 제이슨 HIRSCHHORN : Printf가. 학생 : ( 제이슨 HIRSCHHORN : ( 학생 : " 제이슨 HIRSCHHORN " 학생 : % S / N 제이슨 HIRSCHHORN : % S / N 학생 : " 제이슨 HIRSCHHORN : % S / N " 학생 : 쉼표로 공간의 이름. 제이슨 HIRSCHHORN : 공간 - 학생 : 아, 생각, 어떤 우리는 여기에 전화를 했습니까? 제이슨 HIRSCHHORN : 우리는 그것을 이름을 불렀다. 학생 : 오픈 브라켓 이름입니다. 제이슨 HIRSCHHORN : 오픈 브라켓 이름입니다. 학생 : 폐쇄 부류. 제이슨 HIRSCHHORN : 폐쇄 부류. 학생 :) 제이슨 HIRSCHHORN :) 학생 : 세미콜론. 제이슨 HIRSCHHORN : 세미콜론. 자,이 저장할 수 있습니다. 의이 코드를 만들 수 있습니다. 학생. 의이 코드를 실행하자. 학생. 하지 않습니다. / 학생. . / 학생. 이름 하나. 우리는 다윗을 말할 것이다. 이름 두 개, RJ. 이름 세, 롭. 이름 네, 루카스. 이름 다섯, 요셉. 그리고 다시 요셉을 출력합니다. 그래서 나는 다시 실행하자. 저 같은 이름을하겠습니다. 데이비드, RJ, 롭, 루카스, 요셉. 그리고 다윗에게 저에게이 시간을 주었다. 그래서 같은 일을했다,하지만 준 나 다른 것, 그리고 그의 때문에 물론, 우리가 요구하고 임의의 이름. 그래서 내가 방황을 기반 생각 방 주위에 대부분의 사람들 아마도 첫 번째 부분 오른쪽을 가지고 그 배열을 설정 한 다음 가져 모든 이름. 난 16을 통해 라인 10에 대해 얘기하는 거에요. 그러나 21을 통해 선 18 아마 몇 가지 당신은 전에 보지 못했다, 그럼 그 통. 이 라인부터 srand 시간 NULL 본질적으로 - 죄송합니다,의 아래로 이동하자 라인, 랜드 (). 즉, 당신에게 임의의 번호를 제공합니다 임의의 정수입니다. 그리고 당신은 사람 랜드 치면, 그 여러분의 많은했습니다 - M-A-N 공간 R-A-N-D - 다음과 같이 터미널, M-A-N 공간 R-A-N-D, Enter 키를 누르십시오. 당신은 수동으로 와서 것 그 랜드를 읽을 수있을 것입니다 명령 출력은 숫자 의사 난수 바이트 임의의 숫자를 파종 한 후 발전기 회. 그래서는 설명이다. 그 랜드가 무엇이며, 제공 당신은 임의의 숫자 당신은 그 함수를 호출합니다. 불행하게도, 정말 무작위 아니다 그냥 무작위로 호출하는 경우 때문에 그것은 어떤 씨, 어떤받지 않고 시작점, 그것은 항상 선택합니다 동일한 하나는 수식을 사용 다음 중 하나를 결정합니다. 당신이 랜드를 호출하는 경우에, 그것은 단지거야 당신에게 같은 일을 제공합니다. 그것은 매우 예측됩니다. 실제로 무작위되지 않습니다. 그래서 우리가해야 할, 마커스의 당 나에게 지시, 종자 랜드 하였다 다른 뭔가, 이는 무엇 부터 srand 함수를 수행합니다. 좀 더 뭔가 그 씨앗 랜드 같은 것보다 랜덤, 그리고 그는 시간이 NULL로 뜨리고있어 어떤 단지 규칙에 의해, 현재,이다 시간 (초). 그래서 당신은 모두가 아니라고 가정하고 정확한에서 코드를 실행하는 것 동일한 두 번째는, 그래서 안전한 내기이야 시간이 NULL이 다를 수 것입니다 때마다이 코드가 실행됩니다. 안전한 내기 때문에,부터 srand 의지 종자 랜드가 뭔가 다른 모든과 한 시간입니다. 그래서 규칙에 따라, 우리가 할 때 원하는 임의의 숫자, 우리는이 줄을 쓰기 부터 srand 시간 NULL, 우리에게 많은 것을 줄 수 더 많은 임의의 씨앗, 그리고 우리는 실행 우리에게 임의의 수를 나타냅니다 랜드. 그래? 학생 : 당신이 무슨 말을 할 수 당신은 씨앗 뜻? 제이슨 HIRSCHHORN : 종자로 - 그래서 랜드는 어떤 번호를 선택하는 것입니다 그것은 일부를 사용할 것 공식 거기에 얻을 수 있습니다. 그래서 뭔가 시작하는거야 다음 기준 무언가로 그것을 설정 그 공식의 해제. 당신은 항상 그것에게 같은 일을주는 경우에, 항상으로 바꿀 것 같은 일. 그 첫 번째 것은 그래서 그것은 씨앗 제공합니다. 그래서 당신은 그것에게 무언가를주고 싶다 으로 시작하는 다른, 그래서 그것 다른 무언가로 바뀔 것이다. 그리고 마지막으로, 선 20, 이 %은이라고합니다 모듈, 그리고 그 혼란. 즉, 조금 뭔가의 당신은 정말하지 않는 것이 여기에 다른 실제 생활 수학에있다. 그러나 본질적으로, 당신은 거대한을 때 번호와 당신은 C에서 나누어 무엇을 나머지는 어떻게됩니까? 학생 : 그것은 잘립니다. 제이슨 HIRSCHHORN는 : 그것은 잘립니다. 그래서 3으로 나눈 20은 무엇입니까? 그에게 무엇을 돌려줍니다 당신은, 20 나누기 3. 죄송합니다, 3에 의해 10 나눈 값입니다. 그건 당신에게 무엇을 반환합니까? 학생 : [들림]. 제이슨 HIRSCHHORN : 10 불과 3으로 나눈 3을 반환하지 3 나머지 1. 어떤 10 모듈 3을 반환하므로 다만 나머지, 1입니다. 당신은 10 분할 알고 싶어 그래서 만약 3 사실은에 의해, 당신은 것 3으로 나눈 10을, 당신은 당신의 3을 얻을 것 그리고 당신은 10에게 나머지 3 할, 그리고 것 당신은 1을 얻을 것입니다. 그래서 당신은 10 분할 되겠죠 3에 의해 3, 나머지 1입니다. 그리고이 선에, 랜드 수 정수, 기본적으로. 모듈이 말하고 있도록하여 분할 이 경우 5에 수. 그리고 당신은 숫자로 나눈다면, 정수는 항상보다 작아야합니다 그 번호. 당신은 숫자 5로 나누어하는 경우에, 나머지는 항상 될 것입니다 제로 네 가지를 통해. 즉, 수학 밖으로 작동 단지 방법입니다. 그래서 작은 의해 moduloed 많은 수의 수는 항상 반환합니다 나머지 항상 일부를 반환합니다 수 당신보다 덜 수 로 나눈 값입니다. 누구든지에 대한 질문이 있습니까 모듈, 아주에 와서 때문에, 매우 편리한, 그래서 있는지 확인하려면 모두가 그것을 이해? 좋아. 그리고 우리는이 프로그램이 일 것을 보았다. OK,에 이동. 그래서 다음에, 우리는에 갈거야 기능, 그리고 우리가 갈거야 이 물건의 나머지 부분을 통해 아름다운 그러고 싶지되기 때문에 빨리 명령 줄 인수. 그래서 함수는 본질적으로 당신이 본대로, 블랙 박스. 그들은라는 매개 변수 물건을 가지고 그들도 그들에게 뭔가를 그들을 변경하거나 부작용을 만들 그리고 마지막으로, 그들은 침 뭔가 출력, 반환 값입니다. 아무도 나에게 하나의 이유를 제공 할 수 있습니다 왜 우리는 함수를 사용해야합니까? 누구? 우리는 기능을 사용하려는 이유는 무엇입니까? 하나의 이유 누구? 나는 두 손을 보았다. 좋은 이유는 무엇입니까? 마커스? 학생 : 당신은 동일을 호출해야하는 경우 코드를 여러 번 청크. 제이슨 HIRSCHHORN : OK, 당신이 필요로하는 경우에 의 동일한 청크를 호출하는 여러 번 코드입니다. 제프, 당신은 다른 이유가 있었나요? 학생 : 그냥 그렇게 당신은 더 적은을 코딩 할 수 있습니다. 제이슨 HIRSCHHORN : 당신은 적은 코딩 할 수 있습니다. 오른쪽. - 당신은 무언가에게 많은 작업을 수행하려는 경우 앞의 코드에서, 내가 가질 수 문자열 다섯 번을 기록하지만, 루프는 좋네요 보이게 위해 당신은 더 적은 코드를 작성해야합니다. 기능은 비슷한 생각입니다. 나는 같은 일을 많이 수행하려는 경우 함수에 이동 전화가 각 시간을 작동합니다. 그것은 당신을 위해 그 일을 할 것입니다. 그것은 좋은 이유 기능을 사용합니다. 그래서 함수의 해부학. 기능은 일반적으로 것 다음과 같습니다. 그것은 반환 형식으로 시작합니다 당신은 이름을 얻을 것이다. 그것은 그렇지 않으면 인수를 걸릴거야 매개 변수로, 그리고 내부에 알려져 그 중괄호, 당신은거야 코드를 작성할 수 있습니다. 우리는 하나의 함수를 많이 봤어요. 이 메인이다. 여기에 주요 놓이게됩니다 그 해부학 아까 있었다. 여기 INT는 무엇을 의미합니까? INT는 무엇을 의미합니까? 내가 INT 주요 쓸 때 (무효). 학생 : 반환 타입? 제이슨 HIRSCHHORN : 네? 학생 : 반환 형식. 제이슨 HIRSCHHORN : 지능은 정확히 오른쪽 형식을 반환합니다. 주는 int를 반환합니다. 주요 무엇입니까? 학생 : 함수 이름입니다. 제이슨 HIRSCHHORN : 메인은 함수의 이름입니다. 정확. 그리고 무효? 괄호 안의 무효는 무엇입니까? 학생 : 그것은하지 않습니다 외부 값입니다. 제이슨 HIRSCHHORN : 그래서 무효 - 오른쪽. 괄호 안에, 우리를 넣어 매개 변수 또는 인수 기능은 간다 무엇 소요 블랙 박스 내부. 당신 무효를 작성할 때, 당신은 말하고 이 안으로 아무것도지지 않습니다 그래서 주요 int 무효 메인의 의미 안으로 아무것도 복용하지 중괄호 안에, 우리는 몇 가지가 코드, 그 때 우리는 말하십시오 제로를 반환합니다. 원점 복귀는 무엇을 의미합니까? 음, 우리는 반환 형식에 대해 말했다. 주는 int를 반환해야합니다. 그것은이 라인은 무엇입니다. 그것은 중간, 0을 반환. 물론, 우리가 볼 수없는 것을 많이 프로그래밍에 우리가 함께하기 때문에 우리가 기계와 컴파일러 우리는 요즘을 사용 그 라인을 필요로하지 않습니다. 기본은 알고있는만큼 특별하다 당신은 주요 단지의 끝에 도달했을 때 모든 것이 잘된다면 제로를 반환합니다. 사실, 뭔가 잘되지 않는 경우, 메인은 ​​종종 다른를 반환합니다 뭔가를 의미하는 숫자 프로그램에 문제가 발생했습니다. 당신이 코드를 볼 수 있도록 일반적으로, 반환 제로 쓰기,하지만 좋은하지 않습니다 그것은 뒤에 무슨 일이 일어나고 있는지 알고 장면 당신이 쓸 때마다 있기 때문에 기능을 다른 종류의, 당신이 할 필요가 있기 위하여려고하고있다 리턴 라인 (가) 있습니다. 당신이 말하는 경우 나는거야 int를 반환해야 돼 뭔가를 반환 쓴다. 당신은에서 여기 무효까지 말한다면 에 대한 시작, 무효 메인 무효 예를 들어, 다음은 반환하지 것 아무것도 - 무효 아무 의미가 없습니다 - 그래서 당신은 반환하는 선이 필요하지 않습니다. 그러나 당신은 아닙니다 무언가를 쓰기 반환 유형 무효, 당신이 필요합니다 반환 당신을 말한다 라인 뭔가를 둘 필요가 그 유형과 일치합니다. 그것에 대해 질문? 달콤한. 범위. 이것은 우리가했습니다 무언가이다 뿐만 아니라에 감동. 모든 변수는 우리가 알다시피,가 특정 범위, 그리고 기본적으로의 얘기 여기서 변수 수도 있고 참조되지 않을 수 있습니다. 내가 무슨 말씀을 중괄호로 유지 중괄호 안에. 우리는이 코드를 보면, 그래서 예를 들어, 우리는 전역 변수를 정의하고 주, INT의 외부, 여기까지 상단에. 우리는 서로를 호출하는 내부에 메인을 int로. 우리는 좀 더 중괄호를 가지고 있고, 우리는 또 다른 INT를 호출하고 있습니다. 우리는 3의 코드가 있습니다. 이 같은 것이 아니다. 나는 세 가지 변수를 만들었습니다. 그런 다음 내부 곱슬 내부 중괄호, 나는 4 = 말한다. 얘기하는 인, 첫 번째, 두 번째, 또는 세 번째? 학생 : 세 번째. 제이슨 HIRSCHHORN : 그것은 얘기 제 약. 실제로의 사람들 모두가 될 수 있습니다 이 특정의 이야기 예를 해당 범위의 모든 이동하기 때문에 이 안쪽의 중괄호로. 그러나 상황이 동일한 호출 할 때 이름을 숨기고라는 게있다. 그래서 당신은 처리 또는 수정하거나를 사용 가장 최근의 변수 또는 하나의 당신에게 가장 가까운. 그래서 내부 여기 세번째는 가장 가까운 그 라인에, = 4이므로 세 번째에 영향을 미칩니다. 그리고 마지막 줄은 = 2, 그 첫 번째, 두 번째, 이야기, 또는 제? 학생 : 초. 제이슨 HIRSCHHORN : 그것은 얘기 제에 대한. 물론, 세 번째는 가장 가까운 코드에서,하지만 제 밖에 존재하지 않습니다 그 중괄호. 일단 당신이 그 폐쇄 곱슬에 도착 이 간 것 중괄호, 그것의 기본적으로. 그래서 남아있는 유일한 두 사람입니다 처음 두, 그리고 물론, 지금은 그것은 두 번째에 가장 가까운. 그래서 그에게 좋은 것 범위에 대한 기억. 예를 들어, 당신이 발생했습니다 확신 해요 이 루프 동안 수행. 당신은 변수 내부를 초기화하는 경우 루프 그리고 당신은하는 것을 시도하는 동안 외부에 액세스하면 아마 이, 같은 경고를 가지고 변수가 존재하지 않습니다. 그 때문에 범위 아이디어의 그 물건은 존재한다 그 중괄호 안에. 중괄호 거대한 포옹 같은 것을 당신이 다른, 당신의 코드를 부여하고 그것에 대해 생각하는 방법입니다. 그래서 뭔가 또 다른 기능입니다 코드 hellofunction.c에 너희들합니다. 우리는 지금 그을 건너려고하지만, 야 이것은 내가 당신을 격려 무언가이다 스스로 연습합니다. 메인 호출하는 프로그램을 작성 를 출력하는 다른 함수 사용자에게 인사말입니다. 그것은 본질적 안녕하세요 세계를 복용 그 printf의로 추출 다른 함수. 그러나 우리는 지금 그 권리를 할 않을거야 우리는 많은 시간을 가지고 있지 않기 때문에 내가 좋아하는 것으로 떠났다. 함수 선언 그래서. 우리는뿐만 아니라 이전에 본 적이 있어요. 당신은 다른 함수를 작성하려는 경우 컴퓨터가 알 수 있도록 필요 메인은 ​​존재 알고 있습니다. 그래서 우리는 위의 주요 인 무엇, 우리는 쓸 반환 형식, 이름 및 매개 변수 및 후 다운 기본 아래, 여기 아래, 우리는 실제로 줄을 복사 그리고 실제 코드를 작성합니다. 그래서이 방법, 당신은 함수를 호출하는 경우 상단에 주에 주는 알고 내가 있다면 안녕하세요, 예를 들어, 존재 안녕하세요 호출하고, 그런 다음에 외모 구현은 아래로 아래. 나는 이것을 포함하지 않으면 어떻게됩니까 맨 위로 선 (무효) 안녕하세요 무효? 나는이 선을 포함하지 않는 경우 와 주요 통화 안녕하세요, 난 오류를 얻을 것. 나는 오류로 인해 얻을거야 컴파일러는 알 수 없습니다 이 일이 존재합니다. 이 이유는 비슷하다 우리 # include하는 cs50.h. 기본적으로 cs50.h은 무엇을하고 거기에 문자열을두고있다. 그것은 거기 int로 얻을 퍼팅. 그것은 그 기능을 모두 태우고 최대 주 전에 그렇게 프로토 타입 때 당신이 주에서 그들을 호출 기본은 알고있다 이러한 일들이 존재합니다. 그의 그. h 파일이 무엇. 그래서 당신은 당신의 자신을 만들려고하는 경우 기능, 당신은 확인있어 당신은 거기까지 그 프로토 타입을 넣어. 이 지금까지에 대한 질문? 명령 줄 인수. 이것은 우리가 완료 거냐 , 그리고 잘하면 우리는거야 일부 PSET에 짜. 우리가 짤 수 있을지 모르겠어요 그 시간 때문에하지만, 여기 너희들과 함께, 그리고 만약 당신이 사람들은 비트 후, 우리는하고 싶은 말 밖에서 그것을 통해 갈 수 있습니다. 그러나 우리는 마무리 할거야 명령 줄 인수 마지막 15 분. 우리는 깨어, 마이클? 당신이 깨어? 좋아요. 당신이 잘 나도 몰라 눈을 감고. 그것은 까다로운 일이 될 것입니다. 명령 줄 인수. 사람들은 정보를 전달하는 한 방법입니다 프로그램에. 결국, 우리는 다른 사람을 발생할 수 있습니다. 그러나 본질적으로, 우리는 멈출거야 우리가 원하는 경우 INT 주 (무효)를 작성 일부 명령 줄 인수를 가져 가라. 우리는이 일을 쓸거야 주요 int (INT ARGC라는 문자열 변수는 argv 브래킷. 그 혼란. 그것은에없는 문자의 많은의 인간 영어, 그래서 우리가가는거야 지금을 풀고. ARGC는 인수 개수를 의미 - 다시,이 모든 것 온라인으로 사용할 수 있습니다 - 그리고 그 인수의 수입니다. ARGV는 인수 벡터를 의미하고, 사람들은 인수 자체입니다. 그것은 문자열의 배열입니다. 우리가 실제로 배열을 봤어요 오늘 전에 문자열. 우리는 마지막으로 하나를 생성 우리는 코딩 프로그램입니다. 그래서 여기에 예입니다. 나는 쓴다. / ohai CS50 섹션 내 명령 행에서. 이 경우 ARGC 3과 같다. ARGV 브래킷 0 ohai, ARGV 브래킷 1 CS50이며, ARGV 브래킷 2 섹션입니다. 다시 ARGC는, 인수의 수입니다 그리고 여행 당신을 조금에 비트, 우리는 항상의 이름을 계산 첫 번째 인수로 함수입니다. 따라서이 경우 세 가지가 있습니다 인수, 함수의 이름 그리고 나는 안으로 입력 한 두 다음으로, 우리는 사람들을 저장하는 것입니다 ARGV의 인수 자체. 그리고 또, 우리가 전에 보았던 것처럼, 우리는 한 이 마지막 프로그램에서 우리는 코딩. 당신의 배열을 통해 이동할 수 있습니다 ARGV 그 문자열을 얻을. 그것은에서 우리가했던 본질적 우리의 마지막 프로그램의 끝. 우리는 임의의 이름을 고른 다음에 가서 이름 브래킷 어떤 및 인쇄 문자열 아웃이 있습니다. 단지 하나의 배열의 상단에 있기 때문에 문자열 자체로 배열되어 이야기, 당신은 배열을 가질 수 있습니다 배열, 어느입니다 기본적으로 어떤 ARGV입니다. 당신에 대해 생각할 수있는 하나의 방법 이 행과 열입니다. 지금 그 권리를 그릴 수 있습니다. 그래서 ARGV - 그 지우기 아니에요. 의는 ohai에서 그릴 수 있습니다. 나는 ohai CS50 섹션에 쓴 그렇다면 내가자를거야 이 예제 섹션을 참조하십시오. 그러나 본질적으로, 내 다차원 배열 ohai CS50, 우리는 종파를 할 겁니다. 그래서 여기, 내가 액세스 할 수 있습니다 - - 난 그냥 ARGV에게 하나의 번호를 제공하는 경우 이 잘못된 것입니다. 이 그림에서 무엇이 잘못 되었나요? 학생 : 제로에서 시작합니다. 제이슨 HIRSCHHORN : 그것은해야 제로로 시작합니다. 아마도 회전해야하지만, 나는 이미 그려진 이래로, 난 지금 거기에 떠나려고. 그러나 제로에서 시작합니다. 맞아요. 이 작은 경우 미안 해요. 너희들의 종류를 볼 수 있습니까? 나는 ARGV 0한다면 그래서 나는거야 ohai의 모든을 얻을. 나는 ARGV 1 할 경우에, 나는 CS50 모두를 얻을 수 있습니다. 나는 ARGV 2를 할 경우에, 나는 종파의 얻을 것이다. 하지만 지금 우리가 말한대로, 문자열 배열 자체입니다. 그래서 내가 할 수있는 것은 이것이 내가 처리 할 수​​ 있습니다 다차원 배열로, 그리고 의 라인을 따라 뭔가를 할 수 다만 저를 준다 ARGV 0, 0, 문자를 0. 나 그냥 시간 제공 argv에 0, 1,. 다만 저를 준다 argv를 1, 3, 여기 아래 CS50이 0. 그래서 때문에 문자열 자체 우리는 배열을 가하고있다 그 다른 배열합니다. 이제 우리는 배열의 배열을 가지고, 우리 첫 번째 배열 인덱스 수 그 후에 우리의 두 번째 배열 인덱스입니다. 당신이 기대하는 것처럼, 우리는 마십시오 - 단지 그 두 넣어 우리는 단지 대괄호 할 서로 바로 옆에. 따라서이 예에서, 변수는 argv 1 CS50이고 ARGV 1, 2, 우리가 말했듯이, 단지 5입니다. 누구든지에 대한 질문이 있습니까 다차원 배열? 너희들은 굉장하고 있습니다. 달콤한. 그래서 우리는 바로 여기에 다른 프로그램이 그리고 이것은 우리가하고있는 마지막 것입니다 지금 할 것. 그래서 당신은 프로그램을 작성하고자하는 사용자의 전체 이름, 2, 만합니다 두 개의 명령 줄 인수, 그리고 마지막으로, 에 인사말을 출력 해당 사용자가 자신의 이름을 포함합니다. 세 개 또는 네 개의 그럼 왜 당신은하지 않습니다 분 우리가 가서 다음이 작업을 수행하고합니다 이상의 그룹으로, 그리고 그리고 우리는 마무리 야? 다시, 여기, 우리가 말할 때을 설명 당 사용자의 전체 이름 이 문제 때문에, 그것은 명령해야한다 행 인수는, 사용하지 않는 문자열을 얻을. 그래, 마커스? 학생 : 당신이 말을 이렇게하면 두 개의 명령 행 인수, 즉뿐만 아니라 . / 실행, 또는 - 제이슨 HIRSCHHORN : 좋은 질문입니다. . / 실행, 세 포함 할 명령 줄 인수. 나에. / 개인 등 이 경우의 그 때문에 이 파일의 이름입니다. 그래서 ARGC 세 될 것이다. 하지만 두 개의 인수를 원하는 프로그램에 주어진. 나는 그를 지정해야합니다. 내가 게시하기 전에 그 변화를 만들거야 이들과 당신들에게 보낼 수 있습니다. 학생 : 만약에 당신 중간 이름이? 제이슨 HIRSCHHORN : 당신이 중간에있는 경우 이름은, 당신은 운이 없군요. 미안 해요. 또는 당신은 샤키라에 가면, 당신은 운이도있어. 그래? 학생 : 그래서 사람들이 없습니다 cs50.h, 그들은 ARGV를 정의합니까 문자 스타를 argv? 아니면 여전히 문자열 변수는 argv이라고? 제이슨 HIRSCHHORN : 예. 문자열 그래서, 다시, 우리는 마스크 무슨을 정확히이 일어나고있다. 아마 압축 할 것이 수요일에,하지만 곧. 그것은 훈련 바퀴처럼. 본질적으로, 그것은 때문에 같은 것. 그럼 프로그램에 다른 분을 보자 이, 그리고 우리가 갈 것이다 그룹으로, 그리고 내가 말했듯이, 쌉니다. 그리고, 그들은 여전히​​ 여분의 사탕 같아요 그래서 너희들이 희망해야 즉, 또는 그하시기 바랍니다. 당신은 아직도 쓰고있어 미안, 하지만 난에서 다이빙을하고 우리 할 그것을 함께 완료 할 수 있습니다. 그래서 # include를에 작성했습니다 cs50.h는 # stdio.h에 있습니다. 주요 int (무효), 중괄호, 곱슬 중괄호 내부에 세 줄 의사는 사용자의 전체 이름을 두와 두 개의 명령 줄 인수에 인사말을 출력 해당 사용자가 자신의 이름을 포함합니다. 첫 번째, 그래서 가지고 사용자의 전체 이름입니다. 누가 날 걸릴 수 있습니다 사용자의 전체 이름은? 나는 그 부분을 어떻게해야합니까? 너희들은 그 첫 부분을 했는가? 사용자의 전체 이름을 가져 가라. 글쎄, 그 하나의 명령 라인에 대한 인수, 어떻게 작성해야합니까? 내가 대해 무엇을 변경해야합니다 내 함수 선언? 학생 : 당신은 원하지 않는 그것은 더 이상 무효입니다. 제이슨 HIRSCHHORN : 그렇습니다. 나는 그것이 무효 싶지 않아요. 나는 무엇을해야할까요? 학생 : 중간 ARGC. 제이슨 HIRSCHHORN : 중간 ARGC. 학생 : 문자열 변수는 argv. 제이슨 HIRSCHHORN : 문자열 변수는 argv. 학생 : 브라켓, 브라켓. 제이슨 HIRSCHHORN : 브라켓, 브라켓. 그것은 정확히 맞아, 그의 실제로 어떻게 얻을거야 사용자의 전체 이름입니다. 그들은 거기에 넣어 것입니다. 그래서 하나가 이루어집니다. 그래서 지금 내가 원하는 두와 두 명령 줄 인수. 노아 그래서, 내가 할 수있는 하나의 방법은 무엇입니까 명령의 번호를 확인 행 인수는 I가? 학생 : 당신은 if 문을. 제이슨 HIRSCHHORN : 경우 문 정확히. 나는 조건으로 무엇을 원하십니까? 학생 : 3보다 ARGC 큰 경우. 제이슨 HIRSCHHORN : 만약 ARGC 3보다 크다. ARGC 3보다 큰, 나는 무엇을해야합니까면? 학생 : 반환 1. 제이슨 HIRSCHHORN은 1을 반환합니다. 그건 내가 가지고 있는지 확인합니다 두와 두? 학생 : 아니요 ARGC보다 큰 경우 2 이상 3 이하. 제이슨 HIRSCHHORN : ARGC가 큰 경우 3 ARGC 2보다 작보다. 난 그냥이를 작성할 수있는 하나의 방법은 무엇입니까 한 줄 또는 그를 사용하지 않고 AND 연산자 부울? 학생 : 그것은 2에 해당 아니다. 제이슨 HIRSCHHORN : 만약 ARGC 2와 동일하지 않습니다. 정확히. ARGC은 2 같지 않은 그래서 만약 그 저에게이 프로그램을 제공 할 것입니다, 개인, 나는 그것을 실행할 때, 그리고 그 날을 줄 것이다 얼마나 많은 명령 줄 인수? 위해 얼마나 많은 나는 검사 할 것인가? 미안 해요. 날 것을 바꾸어 말하다하자. ARGC는 = 2, 얼마나 많은 것들이 한 경우 사용자가 행에 쓸? 학생 : 한. 제이슨 HIRSCHHORN : 하나입니다. 이렇게하기 전에, 당신은 바로 노아했다. 사실 거기에 넣어 무엇을해야합니까? 학생 : 그건 3과 같다. 제이슨 HIRSCHHORN : ARGC 같지 3 않습니다. 내가 원하는 때문에 나는 3 같게하려면 맞춤 플러스 다른 두. ARGC이 동일 3하지 않는 경우, 그래서 1을 반환합니다. 왜 1을 반환 말 했는가? 학생 : 그 때문에, 그것은 잘못된 의미합니다. 제이슨 HIRSCHHORN : 그것은 잘못된 의미 무엇 그 할 일이야? 학생 : 사용자가 다시 프롬프트. 제이슨 HIRSCHHORN : 그것은 종료하는거야 이 프로그램은, 그래서 그것을 실행해야합니다 다시,하지만 우리는 아무것도 없어 여기에 다시를 요청합니다. 그 요구하지 않았다. 그래서 정확히 맞아. 그냥 프로그램을 종료 1을 반환합니다. 좋아요. 그리고 사용자에게 인사말을 출력 그 자신의 이름을 포함합니다. 어떻게 그렇게 할 수 있습니까? 안나? 학생 : Printf가. 제이슨 HIRSCHHORN : Printf가. 학생 : ( " 제이슨 HIRSCHHORN : ( 학생 : "안녕하세요 제이슨 HIRSCHHORN : "안녕하세요 학생 : % S 제이슨 HIRSCHHORN : % S 학생 : N / 제이슨 HIRSCHHORN : N / 학생 : ", 제이슨 HIRSCHHORN ", 학생 :하는 Argv 제이슨 HIRSCHHORN : 네? 학생 :하는 Argv 제이슨 HIRSCHHORN :하는 Argv 학생 : 대괄호 1. 제이슨 HIRSCHHORN : 대괄호? 학생 : 1. 제이슨 HIRSCHHORN : 1. 학생 : 그리고) 세미콜론. 제이슨 HIRSCHHORN :) 세미콜론. 우리가이 문제를 실행하자. 개인화하십시오. . / 맞춤. 그냥 종료합니다. 왜 멈추나요? 학생 : 당신은 어떤 인수를 넣지 않았다. 제이슨 HIRSCHHORN : 나는하지 않았다 인수를 넣을 맛있겠 네요. 너희들은 그것을 못을 박았다. 그래서 다시, 당신은 ARGV하고 들어갔다 시작 ARGC에서 확인. 그 두 가지 중요한 기억할. 그래서 우리는 이전에 우리의 마지막 2 분 남겨두면, 우리는 PSET 두에 도착하지만,하지 않습니다 당신이 후 유지하려는 경우처럼 나는 말했다, 10 분 동안, 나는 그가 갈 행복 할 것이다 너희들 논리를 사용 하여 이러한 문제 세트. 우리는 오늘 커버를 많이했다 그래서 나는 그들에게하지 않았다. 일반적으로, 나는 포함 할 그 끝에. 당신은 곁에 싶은 경우 10 분 동안 주위에 붙어 있습니다. 우리는 그렇게 할 수 있습니다. 다음으로 나는 처음에 언급 PSET 0과 1, 우리는 그를 얻을 수 있습니다 당신으로 다시 피드백 가능한 한 빨리. 목표는 pset에 하나의 피드백을 얻을 수 있습니다 댓글 부분 PSET 두 개의 인해 전에. 당신은 어떤 실수 또는 제 그렇다면 문체, 상황은 더 나을 수 당신은 그 정보를 가지고 있습니다 그래서 PSET 두 같은 일을하지 않을 것이다. 그리고 미래에, 당신은 모두를 얻을 수 귀하의 PSET의 피드백과 댓글 다음 중 하나가 인해 다시 전에. 마지막으로, 나는 다른에 넣어 수 있다면 피드백 연결합니다. 이것은 귀하의 첫 번째 섹션입니다. 그것은 내 첫 번째 섹션 있었다 올해 교육. 거기에 이동합니다. , 좋은 나쁜, 물건 쓰기 나는 그것을 사용합니다 더 나은 섹션에 다음 번에. 마지막으로, 다시, 당신이 필요로하는 경우에 아무것도 알려주세요. 난 너희들을 도울 것보다 더 행복 해요. 당신이 사탕을 원하는 경우에, 나는 여분의 사탕을해야합니다. 내가 당신에게 가져다 드리겠습니다. 이 놀라운 과정이 될 것입니다. 이 중 하나입니다, 그렇지 않으면 내가 좋아하는 물론, 내 평생에 올렸습니다, 그리고 그것을 그렇게 되길 바랍니다 당신을 위해 좋은. 그래서 난 내 모든 힘을 다하고 싶다 그것은 당신을 위해 멋진 만들 수 있습니다. 당신이 있다면 메일을 보낼거야 내 섹션이나 노아,과 의 각각을 시도하고 예약 할 것 너희들에 체크인하는 시간을 주 다음 몇 그래서 내가를 얻을 수 있습니다 귀하의 CS 배경이 무엇인지 감각, 그리고 그것은 또한이 날 맞춤 도움이 될 것입니다 사용자의 요구에 맞게 섹션을 참조하십시오. 그래서 내가이 줄 지어있어 한거야. 또, 밖에서 보자 당신이되고 싶어합니다. 이 두 절 주이었다. 너무들 감사합니다.