>> [음악 연주]
>> DAVID 마란 : 좋아요.
다시 오신 것을 환영합니다.
이 CS50이며,이는 주 하나는, 계속.
그래서 우리가 통과해온 이유 중 하나 같은 기술의 주위에
구글 유리는 그들이 함께 있다는 것입니다 API로 알려진 것을,
응용 프로그램 프로그래밍 인터페이스.
그리고 무엇이 의미하는 것은 그와 함께있다 오른쪽 파일과 오른쪽에
문서, 실제로 쓸 수 있습니다 이와 같은도 장치에 대한 소프트웨어입니다.
>> 그래서 우리는쪽으로 생각하고있는 것을 프로젝트의 경우 학기 끝입니다
구글 유리, 말, 수도 포함 매력, 우리는 우리가 무엇을 할 수 있는지 볼 수 있습니다
일부 당신을 접선 약관 부자 하드웨어뿐만 아니라,
공개적으로 접근 가능한 API 당신이 할 수 있도록 실제로 소프​​트웨어를 만들기 시작
그 같은 구글 유리에서 실행됩니다.
>> 우리가 연주했던 다른 장치 우리가 할 수있는 생각했던 늦은 함께
학기 말에 재미입니다 여기 작은 것.
그것은 도약 모션라고, 당신은 아닙니까? 확인하기에 대한 것은 기술적합니다
장치를 광고하지만, 이 특별한 무엇을 말하는가
장치를 할 수 있습니다.
그리고,도를 통해 API와 함께 제공 당신이 소프트웨어를 쓸 수있는
방식으로 자신의 컴퓨터를 제어 확실히 여기 1 분 영화를 좋아한다.
>> [동영상 재생]
>> [END 동영상 재생]
>> 그래서 지금,이 장치는 어떻게 작은 USB로 구현 될 수
당신에 연결할 수있는 커넥터 컴퓨터,하지만 난 놀라지 않을 것
우리는 이러한 종류의가 오래 전에있는 경우 PC를 옆에 배치 기술
그리고 맥 당신이 할 수 있도록, 참으로, 에 상호 작용
같은 방식으로.
사실,는,도, 내가 뭘 해야할지 생각 좀 데모를 뽑아
프로그램이이 소프트웨어와 함께 제공됩니다.
그래서 작은 센서를 넣었습니다 내 노트북​​ 앞에있다.
>> 당신이 볼 수 있듯이, 그것은 이미 실현 내 손이 있다는 것을
그것을 제어.
그리고이 모든 응용 프로그램입니다 않습니다 이런 거침 작은 확인해보세요.
하지만 당신은 실제로 그것을 볼 수있다 거기 다섯 손가락이있다.
우리가 얻을 수있는 경우 모두 10을 수행하는 당신은 깔끔한 피아노를 상상할 수
응용 프로그램 또는 같은.
당신은 수업 끝나고 와서하고 싶습니다 그래서 만약 것과 함께 현재와 놀이
글쎄, 당신은 환영합니다.
학기의 끝을 향해가에 따라서 더.
>> 그래서 행정의 커플 공지.
하나는이 금요일까지 섹션을 cs60.net/section에서 정오.
이 URL은 과정에있다 홈페이지뿐만 아니라.
한편,하지만, supersections 이번 일요일에 발매 될 예정이다.
Supersections는 일회성 것입니다 그것은 우리에게 작동하는 데 약간의 시간이 걸리기 때문에
중 누가 어느 부분과 어디.
>> 이번주 일요일 있도록 하나있을거야 그 적은 편안 항,
사람들을위한 하나의 섹션 더 편안하게.
그리고 당신의 그 어딘가에서 사이에 갈 오신 것을 환영합니다
하나 또는 모두 또는 둘 다.
이들 모두가 촬영됩니다.
그들은보다 큰 강당에있을거야 섹션은 일반적으로 높은 것
그러나 여기에서 목표는 당신을 장비하는 것입니다 문제는 일부 편의, 한을 설정
CS50 어플라이언스 C, 이것 주말, 당신은 찾아도 전에
공식 섹션 할당.
그래서 당신은 당신의 TF와 작은 만나자 약에 sectionmates 그룹
일주일의 시간입니다.
>> 근무 시간, 그 사이에, 진행되고있다.
나 오늘 밤에 그들을 활용 할 당신이 좋아 한 경우에 내일 밤.
문제는 0으로 설정 금요일에 만기가된다.
이 날 이후보다 목요일 정기적으로 예정.
그러나 문제 1 세트와 함께, 당신은 볼 것이다 몇 가지 워밍업을 포함
운동에 당신 자신 당신을 연장 할 수 있습니다
금요일 목요일 마감.
문제 1 세트 한편, 데뷔 할 것이다 물론 웹 사이트이 오는에
금요일 당신과 함께 컬하고 싶은 경우 그것은 늦었 옛날 옛적에했던 것처럼
객실에서 금요일 밤.
>> 그래서 cs50.net/appliance는 곳입니다 당신은 CS50 제품을 얻을 수 있습니다
우리는 월요일에 사용하기 시작합니다.
우리는 조금 더 오늘을 사용합니다.
그러나 나머지는 문제가 1로 설정하는 것이 보장 사양을 통해 당신을 안내합니다
당신이 필요로하는 정확한 단계 그렇게하고 실행합니다.
그래서 전에 일을 걱정하지 않는다 PSET 1 차라리하지 않는 게 좋을 경우.
>> 좋아.
그래서 우리는 소스 코드를 월요일에보고 하지만 새로운 맥락에서
프로그래밍 언어, 즉 C. 그리고 C, 스크래치와 달리 그래픽이 아닙니다.
그것은 조각 퍼즐 아니에요.
좀 더 영어​​와 같은 문법이다.
과 관련된 몇 가지 단계가있다 실제로 작성하고 실행에
때문에 소스 외에 C에있는 프로그램 다음과 같은 코드, 당신은 뭔가가 필요
컴파일러했다.
그리고 평신도의 관점에서, 어떤 컴파일러는 우리합니까?
그래.
>> 학생 : 그것은 코드를 변환 당신은 0과 1에 기록합니다.
>> DAVID 마란 : 좋은.
그래서 코드를 변환하는 우리는 0과 1로 기록합니다.
그것은에 소위 소스 코드를 변환 오브젝트 코드가 보이는 후자의
이런 작은 선물.
그리고 그것은 당신의 CPU, 내부의 두뇌의 컴퓨터 때문에
이러한 컴퓨터를 만든 사람, 무엇을 알고 그 시퀀스
0과 1 평균의.
>> 아마 인쇄를 의미한다.
어쩌면 그것은 또한 의미합니다.
아마 빼기를 의미합니다.
아마 그래픽을 표시하는 것을 의미한다.
비트의 미리 정의 된 패턴이 있습니다 세계는 의미로 결정했다
특정 확인해보세요.
하지만이 과정에서 대부분의 경우, 우리는 높은 수준에서 작동하고 있습니다
가 존재한다는 당연한 우리가 걸릴 것이다 할 수있는 컴파일러 같은 것들을
우리의 소스 코드 기능을 방법으로 우리가하려고합니다.
>> 프로그램 그래서 우리는 지난 주에 처음으로 썼다 그리고 이렇게에, 포트 시작
C이 과거 말하고, 월요일이 있었다.
녹색 깃발이 클릭하면 인사.
이것은 물론이었다 스크래치에 기록됩니다.
내가 주장하는 해당 C에있는 프로그램은 조금 보았다
이런 식으로 뭔가.
>> 그래서 나는 우리가 처음에 할 거라고 생각하는 것입니다, 하자 처음에는 모양을 나누는데
눈, 틀림없이, 같은 상당히 난해한 구문,하지만 당신은 통지 시작합니다
아주 빨리 패턴입니다.
우리는 또한 오늘날 것이다는 제공합니다 당신 일부에 대한 정신 모델
정식, 일부 표준 구조 프로그래밍합니다.
그리고 우리는 실제로 우리의 손을 얻을 것이다 뿐만 아니라 몇 가지 예제와 더러운.
>> 그래서 당신의 사람들을 위해 더 안락한, 실현 이번 주 다음
주 잘 검토의 비트 수 있습니다.
그러나 특히 해커 판 문제 세트 1에 간다
금요일 물론, 웹 사이트, 나는 생각 당신이 기입도 같이하는을 찾을 수 있습니다
다음 주 또는 두에 약간 공백 당신은 더 많은 것을 얻을 시작합니다
도전과 발생 새로운 것을.
>> 그래서하자 간격이 프로그램을 애타게 한 번에 몇 줄.
맨에서 우리는 무엇을 가지고 기술적으로 불리는
전 처리기 지시문.
이것은 단지 말합니다 코드의 라인입니다 파일의 내용을 포함하기 위해,
- 표준 I / N, 표준 입력이라고 또는, 미안, 표준 I / O 표준
입력 / 출력. H, 내부 내 자신의 프로그램.
>> 나는 이것을 썼다 그래서 다른 말로하면, 경우 같은 간단한 텍스트 편집기 프로그램
gedit에서의 간단한 등가 Microsoft Word와 같은, 뭔가
명령은 # stdio.h에 포함, 단지 컴파일러를 말하려고하면 잡아
다른 파일 stdio.h와의 내용 그리고 바로 여기에 붙여 넣습니다.
>> 지금 내가 왜 상관이야?
우리는이 파일 안에 무엇입니까 주장 않았다 저장 stdio.h를 호출
어딘가에 내 하드 드라이브에, 또는에 경우, 어딘가에 CS50 어플라이언스?
다른 사람이 나를 위해 거기에 넣어.
하지만 거기에 무엇입니까?
>> 그래, 그래서의 선언이다 함수 printf를했다.
그래서 printf를 그 기능은 리콜 표시 단어와 문자
내 입찰시 화면에 번호입니다.
하지만 난 그것을 기록하지 않았다.
CS50 쓰지 않았다.
누군가 년 전에 쓴, 그리고 그들이 본질적으로 우리에게 그것을위한 조리법을 준
stdio.h에라는 파일합니다.
그래서 첫 번째 줄은 그냥 날 액세스 할 수 있습니다 함수가 다른 사람
중, 년 전에 쓴 이는 printf를합니다.
>> 이제, 다음 줄 내가 흔들거야 손 적어도 다음 주까지의.
하지만 지금은 알아요 주요 int는 (무효)입니다 이 본질적으로 동등한
노란색 퍼즐 조각 때 녹색 깃발 클릭.
세계는 몇 년 전, 결정하는 경우 당신의 프로그램을 작성하는
C를 시작라는 언어 라인 프로그램
그처럼 보인다.
단지 일주일의 시간에 대한, 그것은 만들어 줄게 의미 어떤 INT는 무효가 무엇인지입니다.
하지만 지금은, 그냥 생각 이 노란색 퍼즐 조각으로.
>> 이제 다음, 우리는 다음에 중괄호가 다른 주변 중괄호,
말하자면.
그리고 우리는 이러한 전역을 볼 수 있습니다 C에있는 프로그램뿐만 아니라,
자바 스크립트와 PHP.
그리고 이건 그냥 캡슐화 코드의 관련 라인.
열린 중괄호 기본적으로 , 여기에 몇 가지 코드를 제공했다.
이고 닫힌 중괄호, 다른 방향으로 각도, 단지
수단은, 바로 그거다 관련 코드입니다.
>> 그래서 먼저 수분 라인 프로그램은 마지막으로 printf를합니다
따옴표 맺다, 세계 안녕하세요.
그리고 사이의 일이라고 따옴표 무엇을 마지막으로?
그래서 문자열입니다.
그리고 문자열은 techie의입니다 의 순서에 대한 용어
문자, 단어, 구.
심지어 하나의 문자 수 이중 인용.
하지만 0의 순서입니다 문자 이상.
>> 백 슬래시-N,하지만 보인다 조금 이상한.
그러나 그것은 단순히 무언가를 의미 컴퓨터에 간단하다.
백 슬래시-N은 무엇입니까?
새로운 라인.
그래서 단지의 특별한 일련의 세계가 결정했다고 문자
의미는 바로 거기에 줄 바꿈을 넣어 컴파일러는 실제로 얻을 수 있기 때문에
아주 같은 경우, 일반적으로 혼동 당연하지만, 잘못, 그냥
두고 Enter를 타격 시작 코드의 새로운 라인.
당신은 좀 더해야 백 슬래시-N로 명시.
>> 그리고 우리는 몇 가지 다른 예 거기에 볼 수 있습니다 특수 문자 패턴입니다.
예를 들어, 당신이 원한다면 수 있도록하기 위해 , 코너 케이스에 방황 마음
내가를 인쇄하고 싶다고 가정 의 화면에 따옴표
어떤 이유로, 그 것을 보일 것입니다 약간의 문제가, 괜찮을?
때문에에 큰 따옴표를 넣으면 의 중간에 "안녕하세요, 세계,"무엇을위한
이유 그 이유는 보인다 잠재적 인 문제?
그것은 문자열을 나누기.
>> 컴파일러는 그냥 프로그램입니다.
컴파일러와 같은 프로그램은 것입니다 아래에 코드 상단을 읽으려면,
왼쪽에서 오른쪽으로.
그리고 만약 대신에 세 개의 큰 따옴표를 본다 두 가지, 그것은 알 수 없을거야
당신이 의미하는 경우 그 왼쪽에있는 것은 문자열 또는해야 할 것은해야한다
오른쪽 또는 전부.
그것은 모호한, 그리고 전형적인 그래서 컴파일러가 수행하는 것과 놀라게된다,
당신에게 몇 가지 오류 메시지를 제공하고, 당신이 문제를 해결합니다.
>> 그래서 백 슬래시-n은 새로운 의미 부여 라인, 어떻게 지금의 본능 것
당신이 포함하고자한다면되기 시작 더블과 같은 비정상적인 일
이 그렇지 않은 인용의 내부를 인용 문자열?
백 슬래시 따옴표.
그래서 우리는 이것을 볼 수 있습니다 너무 패턴의 종류.
>> 당신은 작은 선물을하고 싶은 경우 이상한, 당신은 찾을 수 그
솔루션은 종종 패턴을 따릅니다, 그리고 백 슬래시에게
이스케이프 시퀀스를 나타냅니다.
그리고 그것은 단지 뭔가 특별한 의미 우리는에 표현해야하는
다른 방법입니다.
당신이 표현 어떻게에 관해서 백 슬래시는, 잘, 우리는거야
그 돌아온다.
하지만 대답은, 너무, 실제로 조금 명백한.
>> 그럼 이제 다른을 소개하자 프로그래밍 구조
당신은 스크래치에서 본.
당신은 아마 당연한 것 당신은 이미에 다이빙 한 이미있는 경우
문제는 0을 설정합니다.
하지만의는 이제 C의 구문을 소개하자 이러한 달리 상당히 직관적 대한
아이디어, 적어도 그들 중 일부.
>> 따라서이 조건의 개념이나 분기, 반면에 이전에 우리
본 코드로 표현 스크래치의 왼쪽에 다음과 같은 -
x는 y보다 작 으면 그렇게 말 -
대신 지금 C의 - 날 연마하자 간단한 케이스에서 -
, 열 경우 우리는 단순히 말할거야 괄호는 뭔가 사실이다 -
부울 식 갈 것입니다 나는 상황을 밝혔다 곳 -
닫는 괄호는 그 무엇합니까 그 중괄호 내부.
>> 그래서 여기, 너무, 중괄호 스크래치의 같은 종류의 수 있습니다
U 모양의 퍼즐 조각.
이러한 중괄호 안에 무엇이 않습니다.
이 경우 슬래시를 슬래시.
그리고이 앞을 알 수 , 아니 백 슬래시를 슬래시.
앞으로 슬래시, 슬래시 프로그램 한 사람들
전 그냥 의미 -
그냥 의견입니다.
코멘트는 선이 아닙니다 코드 라기.
그것은 당신이, 영어의 라인의 인간 자신에게로 작성했습니다
아마로 뭔가를 당신을 생각 나게 을 설명하기 위해, 자신에게 설명
다른 사람이 당신의 코드가 무엇을하고있다.
그냥 설명 주석이다.
>> 지금, 물론, 우리는 두 방법이 있습니다 그냥 이렇게 도로에 포크
수행하여 도로 세 방향 포크 이, 그리고 당신이 계속하는 경우
패턴, 당신은 네 방법이 있습니다 도로에서 다섯 방향, 6 자 포크 경우
당신은 실제로 처리해야 많은 조건합니다.
그리고 여기에 병렬 처리를 통지 -
, 다른 (조건) 경우, (상태) 경우 그리고 약간의 단 하나의
이상한하는 마지막입니다 그냥 다른 것입니다.
그러나 다시, 이것은 동일합니다 개념적으로, 우리가 무슨 짓을했는지에
이미, 비록이 구문은됩니다 익숙해 조금 가라.
>> 자,이 예제에서,이 다른 이상한 구문.
우리는, printf를 다시 여는 괄호를 참조하십시오 와 닫는 괄호.
그리고 내부가 인용 문자열입니다.
맥락에서 괄호, printf의의, 왼쪽에 이동
오른쪽 무엇?
우리가 인용하는 무엇을 설명합니까 더 일반적으로 문자열?
>> 그래서 인수입니다.
언제든지 당신은 같은 기능을 가지고 printf를, 그리고 열린 괄호와
내부의 닫기 괄호 뭔가 그것은인지는 문자열, 또는
정수 또는 아무것도, 일에 그 괄호가 호출 사이
인수.
>> 그리고 인수는 단지 영향 함수의 행동.
이 경우, 그것은 꽤 방법을 취소있어.
X <Y를 전달하는 무슨이다 그래서 인수로 이야기한다.
그리고 printf의가는 정확하게 인쇄 할 수 있습니다.
확실히 사람 년전 때문에 누가했다 printf를 전혀 구현하지
우리 인간의 후계자가 무엇인지 위해 printf를 사용하는 것.
인수가 존재하는 이유 그래서이에,의 함수의 후 행동에 영향을
기록 된.
>> 지금 부울 식입니다.
우리는 스크래치에 전에 다음을 봤어요.
그것은 C에서 당신은 또한 할 수 밝혀 "또는" 함께 그들을 말하자면.
두 개의 수직 막대 즉,이 블록 코드의이이 작업을 수행 할 것이다
첫 번째 조건이 참이면 실행 또는 두 번째 조건은 true입니다.
그리고 당신이하지 못했을 경우에도 이 스크래치에, 당신은 실제로 수
스크래치에서이 작업을 수행, 그리고 당신은 또한 수 다르게 자신을 표현 -
경우 첫 번째 조건과 두 번째 조건이 true이다, 그 후에 무엇을합니까
중괄호 내부.
>> 그냥으로는 제쳐두고, 이유는이다 이중 앰퍼샌드 더블
수직 막대, 우리는 결국 볼 수 있습니다 그 하나의 세로 막대 및
단일 앰퍼샌드 실제로 다른이 지금은 그래서 C.를 의미
기호의 중복 의도적 인 것입니다.
>> 그래서, 간단히,의를 소개하자 구문이 다른 비트.
이 아주로 이월되지 않습니다 처음,하지만 난 주장 내가 할 수있는
, 만약 만약 다른의 개념을 구현 그렇지 않으면, 다른 경우 else 문을 사용하는 경우
뭔가 switch 문을 불렀다.
그리고 이것은 실제로 존재하는 유일한 이유 그냥 프로그래머를 제공하는 것입니다,
몇 가지를 해결 약간 다른 방식으로 문제는, 비록 논리적으로
당신에게 새로운 기능을 제공하지 않습니다.
>> 그것에 의해 나는 이것을 의미합니다.
당신은 스위치, 그리고 공간을 말할 때 그리고 한 쌍의 괄호 내부
어느 표현된다 -
이 좀 명확하지 않은 수 있습니다 , 처음에는,하지만이 인수하지 않습니다
기술적으로 인해 스위치 함수가 아닙니다.
그래서 지금은 우리가 사용하고 있다고 가정 다른 장소에서 괄호
다른 이유.
>> 따라서 발현에 스위치는 내가 할 수있는 것을 의미합니다 이들의 변수 안에 넣어
이 표현을 말한다 괄호.
그리고 그 변수 경우 -
이 X라고 가정하고, 그냥 정수입니다 -
그때 나는 내 슬라이드 열거 할 수 있습니다 이 같은 뭔가.
X 내 변수, 그리고 경우 뭔가를하려는 경우 X
1과 같다, 내가 그렇게 할 수 있습니다.
>> 내가 대신 뭔가를하려는 경우 x는 2 경우에, 나는 그렇게 할 수 있습니다.
그렇지 않으면, 뭔가 다른 작업을 수행하려는 경우 완전히, 내가있는 기본 케이스를 가질 수 있습니다
이 경우, 나는이 다른 일을 할.
그래서 의미에서, 그것은 동등의 X는, 만약 다른 다른 1과 같다 동일한 경우
하지만 지금 언급 다만 때문에 우리는 그것을 다시 볼 수 있습니다.
하지만 지금은, 단지 그것이 존재한다는 것을 알고있다.
>> 좋아.
그래서이 마지막 몇 조금 더 있습니다 첫눈에 복잡하지만 그들은 할
매우 간단한 무언가.
C의 for 루프 코드의 덩어리입니다 그냥 뭔가 다시 수행하고
또 다시.
그리고 그것에 대해 단지 성가신 일입니다 그게 좀 이상한 점이다
이 순환에서 자신을 표현하는 에 본,하지만 세계 표준화
다음과 같은 방법으로.
>> 당신은 루프를 사용하는 경우, 당신은있어 또 한 쌍의 괄호.
그리고 두 개의 세미콜론을 통지 가있다.
세 개의 그 두 세미콜론 내부에 다른 표정
괄호.
하나는 소위 초기화됩니다.
하나는 소위 상태입니다.
하나는 소위 업데이트됩니다.
>> 추상적으로 바라 보았다이 있습니다 완전히 비 명백한, 그러니 보자
구체적인 예에​​.
스크래치에서 우리는 반복 블록을 가지고 있었다.
이 블록은 말을 10 번 반복했다 "안녕하세요, 세계." 나에 대한 주장하자
지금, 우리는 이것에 돌아와 있습니다 이도에 더 익숙한 얻을 것이다
오래 전에 당신, 해당 C 코드는이라고 할 수있다 -
문 공간의 쌍 괄호에 세미콜론을 통지
이, 이것은 세 가지를 분리 일, 초기화,
조건 및 업데이트.
>> 그리고 생각을 어떻게 첫 번째는하고있다.
int 전 = 0.
거친 평신도의 관점에서, 무엇인가 우리를 위해 일을하는, 아마?
그래 그럼.
나는라고는 변수를 선언있어 그리고 그것을 어떤 값을주고?
0.
그래서라는 변수를 만드는 것 나는 거기에 0 값을 저장.
즉, 소위 초기화입니다.
>> 좋아, 이제 내가 전에 주장 중간 것은 즉, 내가
<10 상태입니다.
그래서 무엇을하고 있습니까?
그럼, 루프를 때 수행 루프와 프로그램이 실행되고있다
컴퓨터를 실행할 때마다 이 루프, 위쪽에서 아래쪽 위쪽
다만 너희들처럼 바닥,했을 때 자신을 계산하고 앉아
다시하고 다시하고 다시, 컴퓨터 것입니다
해당 조건을 확인하십시오.
그리고 내가 10 이하 인 경우 다시 그것을 할 수 있습니다.
나는 미만 10 경우, 다시 그것을 할 수 있습니다.
나는 10 개 미만이면 다시 그것을 할 수 있습니다.
그 제안을 보인다 그래서 다행스럽게도 필자는 변화하고 있습니다.
그렇지 않으면, 우리는 무한 루프이있을 것이다.
때문에 실제로, 나는 변화 세미콜론 후 마지막으로이
난 + +의 약간 이상한 구문입니다.
하지만 이런 짓을 한 분들 전에, 그것은 단지 의미
아주 간단하게 무엇인가?
>> 학생 : [목소리를 개재].
>> DAVID 마란 : 난에 1을 추가합니다.
나는 증가시킵니다.
그래서 우리는 스크래치 퍼즐을 보았다 그것에 대해 조각, 실제로.
내가 + +,하지만 그렇게 보이지 않았다 단지 방법은 아주 간단를 증가
나는 1하여이 작업을 수행 할 때마다 평가한다.
말 그대로, 당신은에 의해 시작 0 나는 초기화.
그런 다음 상태를 확인합니다.
10 0보다 작?
예.
우리는 루프를 통해 이동합니다.
>> 나는 컴퓨터를 주장하는 다음 일은 하기 위하여려고하면 돼 있습니다
나는 늘립니다.
그래서 지금은 1입니다.
그것은 상태를 확인합니다.
10 이상 1 이하?
물론입니다.
그래서 다시 수행합니다.
난 + + 2 그때는 증가합니다.
10 이상 2 이하?
예.
다시하고 다시하고 다시.
결국, 때문에의 플러스 plussing, 우리는 내가 10에 해당 얻을.
10 이상 10 미만입니까?
글쎄, 확실히 아닙니다.
그리고 그 지점의 어떤에서 루프는 바로 중지됩니다.
그리고 당신은에 더 많은 코드가있는 경우 아래 화면 다운 컴퓨터
대신에 그 코드를 실행하는 진행됩니다.
>> 그래서 다시이가는 경우에도 보고 조금 이상한 느낌
먼저 확실히 당신의 사람들을위한 사람 이전에 프로그래밍 적이있다, 그것은
그대로 개념적으로 감소 그렇지 않으면 매우 무엇을
간단한 퍼즐 스크래치에서 조각.
>> 좋아, 약속 거기 거라고 스크래치의 다른 유사체합니다.
이 사람도 있습니다.
우리는이 간략하게 마지막을 보았다.
하지만 영원히 기억 스크래치에 차단?
그것은 영원히 뭔가를합니까?
난 당신이 구현할 수 있다고 주장 이 이런 식으로합니다.
그리고 당신은 실제로 구현할 수 있습니다 다른 방법의 무리있다.
>> 하지만 while 루프은 다릅니다 자신을 표현하는 C의 방법입니다.
하루의 끝에서, 당신은 할 수 없습니다 while 루프와 아무것도하는 당신
수없는 루프와 함께.
그래서 그들은 끝에있어 기능적으로 매일 같은.
그러나 당신이 자신을 표현 할 수 있습니다 작은 다르게에서
다음과 같은 방법으로.
>> while 루프, 그것은에있어 무엇 다시 확인하고있어 괄호
또 다시.
그리고 곧 그 표현이 거짓으로, 다음 루프가 실행을 중지
그리고 컴퓨터로 진행 실행 어떤 다른 코드 입력
파일에 있습니다.
>> 그러나 여기에서 흥미로운 무엇 그래요 말 그대로 진정한 입력합니다.
그리고는 true, 부울 값의 유형입니다 true 또는 false 값을 반환합니다.
그래서 사실도 될 수있다 말 그대로했습니다 false의 경우
내 프로그램으로 그것을 하드 코딩?
아니 그럼.
내가 이런 짓을하는 좀 이상한.
하지만 사실은 사실이다.
더 플러스 plussing가 없습니다.
여기에서 변수의 아무 소용이 없습니다.
나는 동안 진정한 하드 코딩 그래서 때문에이 루프는 항상 평가하는 것입니다
다시하고 다시하고 다시.
>> 그래서 안녕하세요 세계는 얼마나 많은 시간이다 화면에 인쇄하는 것?
영원히.
까지 시대의 무한한 수 배터리 사망 또는 다른 외부
이벤트가 발생합니다.
그래서 이것은 최고의 프로그램은 아마하지 않습니다 , 쓸 수 있기 때문에 만약 사용자가
프로그램을 종료 할 수 없다, 그것은이다 아마 당신이 의도 한.
>> 하지만 가끔은, 프로그램해야 무한 루프가 있습니다.
예를 들어, 컴퓨터가 거기에 시계, 확실히 될 것
그것은 계속 업데이트 않는 당신의 시계 기쁜 한 번이라도 영원히 자체
두 번째 또는 한 분 뭐 그런.
그래서, 무한 루프 그들의 장소를 가지고 않습니다.
>> 좋아.
마지막으로,이.
이 사람은 조금 다르다 기능적으로, 우리는 다시 올 것이다
이 아마 Pset의 1인치
그러나 루프의 또 다른 유형이있다 while 루프 수행했다.
와 사이에 여기에 유일한 차이점 루프, 말하는 반면, while 루프를 수행
조건이 선택되어 있는지되지 않습니다 당신은 코드를 실행하지만, 이후 전
당신은 코드를 실행합니다.
그래서 잠시 동안 상단에 루프를 수행하는 반면 동안
아래에 그것을 확인합니다.
>> 그리고 이것은 단지 의미 while 루프 일반적 번 이상 실행됩니다
또는 while 루프보다 적은 시간?
잠재적 번 더 수행하기 때문에 루프는 분명히 이렇게 말을하는 동안
단지 그 후에 당신은 체크 포인트 경우의 조건 안에
괄호는 사실이다.
>> 그래서 우리는 이것을 다시 볼 수 있습니다 아마 Pset의 1인치
당신은에서 뭔가를하려는 경우 한 번 이상 그리고 아마 좀 더
번이 좋다 사용하는 구성.
하지만 while 루프는 대조적으로, 윌 먼저 상태를 확인합니다.
그리고 그것은, C에서 루프를 위해 그것을 않습니다의 반면, 및 루프 반면.
그리고 또, 그들은 꽤 잘 돌아 매핑 이 사람이하지 않는 제외하고, 스크래치
아주 스크래치에서 동일한 아날로그있다.
>> 글쎄, 방법에 대해 지금, 변수?
그래서 내가 변수를 선언하는 방법입니다 구문 다른 하루.
내가 주장의 int를했다 정수입니다.
그런 다음,라는 변수 카운터를 가지고 그리고 세미콜론.
그래서 코드가 수행하는이 라인은 무엇입니까?
이 선언 매우 간단합니다 변수 -
컴퓨터를 요구, 즉, 나 줄 일부 메모리는 좀 비트를 제공합니다 -에
그게 바로 내가 무엇을 저장할 수 있는가?
INT.
그리고 세미콜론은 의미 코드 라인의 끝.
>> 이제, 두 번째 줄은 아마 꽤 추측.
카운터 = 0은 무엇입니까;거야?
그것은 카운터 0을 할당하는 것.
그리고이 다른 것입니다 그 작은 성가신
대수, 말, 대.
대수, 등호 의미하는 반면 평등, C 여기에서, 같음
기호 할당을 의미합니다.
그래서 오른쪽에 무엇을 넣어 의미 왼쪽에 무엇에.
그리고 우리는 동등한 다른 기호를 볼 수 있습니다 우리가 실제로 테스트 할 때와 동일
품질, 다소 성가 시게합니다.
>> 그러나 이것은 약간 비효율적입니다.
그것은 종류의 내가 가지고있는 성가신 변수를 선언하는 방법
다음에 값을 제공합니다.
C는 실제로 우리가이 문제를 단순화 할 수 있도록 그냥 한 번에 모든 것을 할.
당신은 변수를 선언 할 수 있습니다 왼쪽에.
당신은 여전히​​에 할당 할 수 있습니다 에 그 등호 넣어 오른쪽
중간.
그래서 하루의 끝에,이 두 가지 있습니다 해당하지만,이 하나 솔직히,
아마로 얻을 수있는 좋은 습관이다 조금 덜해서
코드는, 그것을 읽고 조금 쉽게 그것은 그냥 냈다
코드는, 말하자면.
>> 지금까지 루프에 대한 질문 변수에 대한, 조건에
부울 하나를 기술적으로 또는 개념적으로?
좋아.
그래서 지금이 다음 중 하나가 가져옵니다 좀 더 흥미 롭군요.
그리고 내가 마지막으로 올려 예제입니다 다만 스크래치 예를 들어 매핑 시간
이상 C.에
>> 기능은 너무.
쉽게 설명하자면, 무슨 기능인가요?
당신의 대답에 과감있을거야.
기능은 무엇입니까?
>> 학생 : 뭔가를 않습니다.
>> DAVID 마란 : 저게 뭐죠?
>> 학생 : 뭔가를 않습니다.
>> DAVID 마란은 : 뭔가를 않습니다.
확인을 클릭합니다.
우리는 거기를 시작합니다.
그래서 기능이 뭔가를 않습니다.
그래서 코드의 조각입니다 본질적으로 다른 것을 구현
실제로 뭔가 않습니다.
이제, 기능에 대한 흥미로운 무엇 이 입력을 받아 수 있다는 것입니다,
그리고 출력을 생성 할 수 있습니다.
그리고하자 실제로 가지고 간다 이 봐.
>> 그래서 커튼 뒤에있는 사람 순간 전 의도적이었다.
여기에서 우리는 테이블이 있습니다.
그러나 가정이이 실제로 큰 상자를 나타냅니다.
그래서 이것은 소위 블랙 박스입니다.
그리고 일반적으로, 디자인, 컴퓨터 과학, 블랙 박스는 단지 참조
기능의 조각 누군가 구현, 당신은하지 않았습니다
반드시 알아야하거나 얼마나 신경 후드 아래에 구현했습니다.
당신은 신경이이 블랙 박스, 우리는 지금 호출 시작합니다 어느
함수는 어떤 작업을 수행합니다.
>> 그래서, 예를 들어,이 블랙 박스에있는 경우 여기 단계는, printf를 나타내는
기능, 나는 앞의 예에서 알 수 즉, printf를 걸립니다 하나 또는 그 이상의
인수, 그 중 첫 번째 인수와 같은 문자열이어야합니다
"안녕하세요, 세계." 글쎄, 난 사람입니다 경우 프로그램을 작성하고, 내가 원하는
printf를 사용하기 전, 예를 들어, 수도 여기 빈 종이 조각을
검은 색 마커와에 쓰기 -
나는 "세계"철자 -
H-E-L-L-O.
>> 그래서 난 내 검은 색 마커를 가지고 가고거야 에서와 크고 명료하게 내가 할 수있는 등, 쓰기,
이 논문의 조각 "안녕하세요, 세계,"그리고 지금이 내 인수 주장한다.
이로 표시 문자열 흰 종이 조각.
이제 함수 내 입력 printf를이 될 것입니다.
그래서 전달 printf를 호출하고 그것은 입력으로하는 인수입니다.
>> 그리고 지금, 내가 어떻게 사람이 누군지도 몰라 printf의 년 전했지만 쓴
나는 그것의 문서가에서 알고 삶의 목적은 무엇 I 인쇄하는 것입니다
그것은 입력로 제공합니다.
그리고, 비록이 구현 나에게 미지입니다
후드 아래, 지금 나는 오, 그것은 수행을 참조하십시오.
그것은 무언가를 인쇄했다 화면에.
그리고 지금, 프로그램의 제어 경우가 코드를 더 줄 것이라고했다
지금 저에게 돌아 왔습니다.
그리고 사실 콜턴이 -
그의 마음을 축복 아래 숨어있다 여러분의 앞에 테이블 -
내가 모르는 점에서 고의적 그리고 내가 어떻게 printf를합니다 걱정하지 않는다
구현.
난 그냥 그것에서 다시 알고 그것이 무엇 문서, 그리고 어떻게
그것을 사용하는 가정입니다.
>> 이제 printf를 얻을 수있는 기억 좀 더 정교한.
다시 말하지만, 우리는 단지에 대해 얘기하고 스크래치의 네티즌 블록의 해당.
그러나 나는 또한이 마지막 시간을했다.
나는 안녕하세요 프로그램을 만들고 싶었다 그냥 열심히 좀 더 역동적이고하지
코드 같은 "세계"를 확실히 하드 코드인가
D-A-V-I-D와 같은 임의의 프로그램에.
나는 그의 혹은 그녀를 사용자에게 물어보고 싶은게 이름, 그리고 뭔가를 할
그들이 제공하는 해당 문자열.
>> 그래서 조금 다른 무언가가있다 여기에. printf의, 순간 전,
실제로, 뭔가를하지만, 그것을했다 나에게 아무것도 반환하지 않았습니다.
오른쪽?
콜턴 나에게 아무것도 건네하지 않았다 다시, 종이의 어떤 조각.
부작용은 있었다.
내 제공 "안녕하세요 세계"로 인수는 콜턴의 결과 수 있습니다
단어의 부작용, 일부 단어, 화면에 나오는.
>> getString는, 비록이 조금 다른. getString는 또한이다
작동하지만 몇 가지 값을 반환합니다.
그것은 단지이 없습니다 미적 부작용.
그것은 실제로 사람에게 나를 준다 , 전화 또는 함수를 사용하여
다시 뭔가.
따라서이 경우, getString에 있습니다 getString에 열린이라고
괄호에 있으며 괄호.
getString에 따라서, 걸립니까 인수 또는 입력?
아니, 그렇지 않아 보인다.
삶의 목적은 그냥 문자열을 얻을 수 있습니다.
그것보다 더 세부 사항이 필요합니다.
그럼 내가 가서 그 척하자, 또,이 블랙 박스, printf를하지 않습니다
하지만 getString 나, 그리고 사람이 저를 보자 이 프로그램을 작성, 전화 또는 사용
그냥 쓰기로하는 GetString 가까운 G-E-T-S-T-R-I-N-G, 열린 괄호,
괄호, getString에.
>> 지금은 아무 생각이 어떻게 CS50 직원 getString에 구현,하지만 난 알고
나는 오랫동안 기다리면, 그것 할 것 후드 아래 것은, 아마도 사용
일부 변수는, 어쩌면 몇 가지를 사용하여 조건, 어쩌면 어떤 루프를 사용하여,
어쩌면 일부 기능을 사용하여, 아마 사용 -
다만 스톨하려고 - 아마 사용 다른 프로그래밍 기능을 제공합니다.
하지만 난 충분히 기다리면 - 현실에서, 컴퓨터에서 이런 일이 발생
슈퍼 빠른 -
나는 충분히 오래 기다릴 경우이 기능을 getString는이 문자열을 얻을 수있다
아마도 입력 한 사용자에서 밖으로 자신의 키보드에 그것과
다음, 당신은 getString에이 완료되면 점점 사용자의 해당 문자
그리고, 문자열로 그들을 저장 함수 getString에는해야 할 것입니다
나는 약간의 출력을 나를 위해 준비 의 방법으로 검색 할 것
할당 연산자.
>> 내가 가면, 실제로 출력으로 여기 Obosi 아낌없이있다
이를 몰라도, 참여 이에 자신의 이름을 작성하여, 진행
대표되는 변수 문자열입니다.
이제 대입 연산자도 의미 이 조금 느낄 수 있지만
중복, 사실 필요합니까 이 내 자신의 복사본을 만들 수 있습니다.
왼쪽에 있기 때문에 면 - 으악! -
나는 기본적으로 문자열이 있는지 알 왼쪽에 이름을 지정합니다.
그래서 나는 또한 만들려고 해요 내 자신이 사본.
그리고, 흰색 거짓말 조금 우리는 일주일에 2의에서 볼 수 있기 때문에
문자열이 실제로없는 것을 시간 그들이 것으로 나타날 것을.
>> 하지만 지금, 여기의 반환 값입니다.
여기에 내 자신의 복사본 후입니다 대입 연산자를 사용하여.
그리고 지금, 나는 다음에 무엇을 할 수 있습니까?
우리는 지금 두 번째이 두 줄의 코드의.
그래서 나는 이제 printf를 호출합니다.
그 검은 이제 척하자 상자가되고 다시 돌아
printf를하고 있지 getString에.
>> printf의이 시간가는 얼마나 많은 인수를?
이렇게 보면, 2 같아요.
거기에 두 개의 쉼표지만, 그 쉼표 하나, 그것은의
따옴표 안에.
그래서 첫 번째 인수는 문자 그대로 이 될 것이다.
H-E-L-L-O, 쉼표 퍼센트 s의 백 슬래시-N.
지금은 하나가 아닌 인수를 제공하고 있습니다 하지만 printf의 두 인수입니다.
>> 무엇 printf는 함께 할하는데 나는 그들을 전달이 두 입력 한 후
인수로?
그것은 두 번째를 수행하는데 나는 이름이라고 그들, 그래서
나는 썼다 종이의 두 번째 조각 순간 전 이름이라고합니다.
그 값 내부의 플러그거야 자리에 그 변수의,
% s의, 그래서 다시 그 잠시의의 시간, 우리의 부작용을 볼 수 있습니다
우리는 지금 그것에 의하여, printf를 호출 한 하지 "안녕 세계"하지만 "안녕하세요, 참조
Obosi. "
>> 그래서 모두에게 큰 박수 자원 봉사자는 알고 하나 누구의
이 일이 될 것이다.
좋아.
그이었다만큼, 아마, 간단한 확실히, 당신은 이미 익숙하다면
등으로, 잘하면 당신은 결코 어떻게 특정 시각을 잊지
기능이 작동합니다.
>> 그래서 그냥 getString에 이상이있다.
CS50 라이브러리의 내부가있다 기능의 전체 무리 모두의
단지 명확하게하기 위해 대문자로 우리는이 기능을 쓴.
일반적으로, C에서 거의 모든 다른 당신이 사용하게 기능은 소문자입니다.
그러나 우리는 의도적으로 대문자를 사용 단지 만들기 위해 분명이 그
우리는거야 종류의 훈련 바퀴입니다 몇 주 동안 사용하는
얻는 과정을 단순화 사용자 입력.
>> CS50 라이브러리는 아무것도하지 않습니다 당신은 자신이가 할 수있는
단지에서 C 코드를 사용하여 모교 교과서.
그러나, 다시, 우리는 교육로 사용 단지 몇 종류의 바퀴
우리는 없애 수 주간 있도록 당신은 곧 이해하게 될 것입니다 그 복잡성
로 어떤 일을 자신 점점 비교적 간단
사용자로부터 입력.
>> 그래서 당신이 액세스 할 수 있습니다 알고 , GetChar GetDouble합니다 -
두 번.
뭐냐 - 그리고 GetFloat.
부유물은 무엇입니까?
거기부터 시작하자.
>> 학생 : [들림].
>> DAVID 마란 : 네.
그것은 소수점 숫자입니다.
INT는 정수입니다 그래서 반면, 그 0에서 9까지와 그냥 숫자입니다
그 반복의 일부 수 플로트 뭔가
소수점.
그리고 두 사이에, 또한 소수점 수 있지만, 더 많은
소수점 뒤에 숫자 점, 잠재적으로.
>> 그래서 우리는이 오래 전에 다시 얻을 것이다.
그러나 일반적으로 이러한 유형의 각각의 데이터 변수 이러한 유형의 각
우리와 같은 라이브러리로 반환 할 수 있습니다 당신은, 다른 번호의 비트로 사용
정보를 저장합니다.
그냥 의미 일반적으로, 문자, 하나의 문자는 8 비트를 사용한다.
그리고 우리와 실제로 일치의 자원 봉사자의 바이트 지난 주 사람
와서 하나를 표현 한 번에 ASCII 문자.
그래서 문자는 8 비트이다.
>> 플로트 일어나는 32 비트, 일반적으로.
그리고 두 번, 당신은 짐작대로입니다 단지 더 실제로 64 비트,
이것은 당신이 더 큰 가질 수 있다는 것을 의미합니다 숫자 이상의 정밀도.
그러나 다시, 더 그 다른 시간에.
GetLongLong 한편, 비록 바보 이름 그냥 정말
두 배 큰의 정수 배 긴, 잠재적으로 일반
정수, 32 대신 64 비트입니다.
우리가 사용했던 getString에.
>> 그러나, CS50 라이브러리에서 밝혀 우리가 볼 수로하는가에 구현됩니다
두 파일의 형태 중 하나 cs50.h라고 가지고 다른 두
그것은 데이터 유형.
부울 당신은 할 수 C에서 존재하지 않는 단지 사용을 시뮬레이션 0과 1
프로그램 전반에 걸쳐.
그러나 우리는 CS50 라이브러리에서 만든 상징은 "true"와 "false"
당신이하지 않도록 1과 0을 나타냅니다 하드 코드 뭔가가
그대로 1과 0과 같은.
그러나 우리는 다시 사람들을 볼 수 있습니다.
>> 문자열도 존재하지 않습니다.
내가 그건 언급 한 이유입니다 지금 하얀 거짓말의 비트.
그러나 우리는 다시 그 껍질을 거 이윽고 층.
하지만 지금은 문자열입니다 일련의 문자.
>> 한편, C에서 참 다른 데이터 유형이있다.
이러한 소문자 확인할 수 있습니다.
기능 그래서 당신은 순간 전보고 기능 CS50이 작성됩니다
당신에게 떨어지는 값을 반환합니다 이러한 범주 중 하나에.
>> 몇 가지 치트 시트는 단지 심고 여기 씨입니다. printf를 그냥하지 않습니다
자리 표시 자 % s을 가지고.
그것은 진수 정수에 대한 % d을 (를) 소요 또는 % i는 잘 작동합니다.
% F를 부동 소수점 값입니다. % C는입니다 문자, 당신은 하나를 연결하려는 경우
미리 서식이 지정된 문자열로 문자 우리가 해왔처럼, 당신은 % C를 사용할 수 있습니다.
>> 그리고 다소 성가 시게, % LLD는 오래, 오래 진수 정수,
당신이 정말 필요로하는 경우에 단지 의미 큰 번호와 당신이 뭔가를 사용하는
오래 오래, 우리가 올 것이다라고하는 다시 PSET에, 당신은에 %의 LLD를 사용할 수 있습니다
정말 큰에서 printf의 플러그를 알려 또는 여기에 두 번째의 방법으로 정수
다른 인수입니다.
>> 그리고 마지막으로, 나는 약속이 몇 가지 다른 탈출이있다
printf를 지원하는 시퀀스.
우리는 백 슬래시-N 봤어요.
백 슬래시-R 당신이 볼 수 있습니다.
그것은 구식 물건의 일종이다.
당신은 진짜 타자기 년을 사용한 경우 전 당신은 크랭크에 끌려
이는 휠을 회전뿐만 아니라, 라인업을 이동, 그것은 또한 이동
을 통해 다시 모든 것은 모든 방법 왼쪽, 음, 백 슬래시-R 단지
기본적으로 커서 다시는 이동 줄의 시작
아래로 이동하지 않고.
그러나 다시, 더 많은 것을에, 아마, 미래합니다.
>> 백 슬래시 따옴표, 백 슬래쉬 따옴표, 백 슬래시를 백 슬래시는
작은 작은 수수께끼 솔루션 나는 이전에 언급.
그리고 백 슬래시 0 실제로 상당히 흥미 롭군요.
그러나 우리는 다시 올 것이다 그렇게 오래 전에.
>> 그래서 CS50, 내가 지금에 가자 어플라이언스와의 실제로하자
빠른 예제 중 하나와 함께 따뜻하게 우리는 이미 다음으로 넘어 않았다
좀 더 복잡한 무언가.
나는 내 프로그램을 열어 그렇다면 gedit를 호출 -
이건 내 그래픽 편집기입니다.
그리고 그렇게 할 수 -
날이 해당 창을 닫하자 -
아래 여기에이 아이콘의 방법으로, 왼쪽 하단의 gedit,
메뉴 옆에있는 코너입니다.
>> 내가 가서 진행 예정하고있어 말하자면,에 존이 예제를 저장
하버드 대학의 폴더에 있습니다.
존 하버드의 폴더에 그냥 자신의 집에 자신의 파일의 모든 활성 디렉터리
기본적으로.
그리고이 같은 저장하겠습니다 안녕하세요 - 0.c라는 파일.
그리고 난 그냥이 이름을 선택했습니다 그것 에 샘플 코드 라인까지
과정의 웹 사이트에서 온라인 YouTube 동영상.
>> 그래서 지금에 시작하는거야 처음 프로그램을 작성합니다.
내가 읽기 쉽게 확대 할 수 있습니다.
내가 가서 INT 말할거야 같이 다만 주요 무효, 그
노란색 퍼즐 조각이 프로그램을 시작합니다.
나는 위에 습관을 입수했습니다 다음, 내 중괄호를 여는 년간
또한 그것을 종료하고 다시가는 난 그냥 내 코드를 삽입 할 위치
그것은 나를 모두를 유지하는 데 도움이 있기 때문에 특히 내로 균형
이 프로그램은 오랫동안 가져옵니다.
>> 그리고 지금, 여기, 내가 먼저 갈거야 그리고, printf의 말 맺다을 인용
안녕하세요 세계 슬래시-N, 가까운 인용, 닫는 괄호, 세미콜론.
그래서 우리가 모든 걸 반복 해요 지금까지 당연하게 복용.
지금은 축소거야.
>> 아래 여기 터미널 창에서 어떤 나는이 검은 색으로 수행 할 수있어
및 창 흰색?
내가 무엇을 사용할 수 있습니까?
그래서 내가 명령을 실행하는과 어디서 물건을 컴파일 할 수 있습니다.
그리고 나는 그것이 간단하게하기 위해거야.
내가 프로그램을 사용하는거야 확인이라고하는이 아닙니다
기술적 컴파일러.
컴파일러의 호출 연타하지만, 우리는에서 그에게 돌아올거야
일주일에 두 시간이다.
>> 지금은 그냥 만들어 입력 할거야 안녕하세요-0,하지만 당신의 그 누군지
당신의 마음에 비교 내가 단지 내가 입력 한해야하는지에 입력 할 수있다
내가 한 이미 알고 여기 뭔가.
이제 약간의 오차가 분명히있다.
난 그들이 어떤, 무엇을 살펴보기 전에 내가 잘못 한 무엇으로 생각하십니까?
>> 학생 : [목소리를 개재].
>> DAVID 마란 : 네.
나는 라이브러리의 헤더 파일을 실종 해요.
이. h 파일의이 헤더라고합니다 파일들이 공동으로
라이브러리라는 것에 속한다.
라이브러리는 단지 코드의 덩어리입니다 다른 사람이 쓴.
표준 [그래서? 나는?] 라이브러리는 코드를 포함하는 파일 모음
다른 사람이 쓴.
>> 그래서 그 실종 해요.
그래서 내가 왜 오류가 무엇입니까?
글쎄, 내가 백업에서 이동하자 여기 내 터미널 창.
불행히도, C에서의 많은의로 특히 프로그래밍 언어
그것은 오류, 당신에게 모든 새의 경우 메시지는 정확하지만, 그들은 또한있어
아주 이상한.
그리고 여기에 오류가 빨간색입니다 "암시 적으로 선언 라이브러리 함수
printf의 유형 "및 다음 스크롤 다음 행으로, "정수 상수 char *로,
"그것은 정말 얻는다 빨리 압도적.
>> 경우에 당신은 무엇을, 어떻게 시작해야합니다 다시 말하지만,이 모든 새로운, 단지에
키워드를 찾는 시작합니다.
분명히, 내가 반을 이해하지 않을 수 있습니다 단어의 나는 아직보고 있어요.
당신은 것입니다,하지만, 일주일의 시간이있다.
하지만 printf를 참조하십시오.
그리고 그것은에, 오래 전에 시작해야한다 모든 권리 printf의 기억 조깅.
뭔가 printf의 문제이다.
내가 잘못 했습니까?
아니, 보이지 않는 - 오.
내가 가르쳐 않는 한 사용할 수 없습니다 가 존재한다는 것을 컴파일러.
그리고 다시, 당신의 본능 이동 당신은 실제로 이해하지 않는 경우에도
실제 오류 메시지를 표시합니다.
>> 그리고 실제로, 여기에 솔루션을하는 것입니다 파일의 맨 위에 포함
그렇게 내 파일로 다시 저장 제어 S 또는 파일 메뉴를 선택합니다.
그리고 지금 여기의 아래에서 돌아 간다면, 나는이 취소거야.
컨트롤 L은 좋은 방법입니다 화면을 취소합니다.
그리고 나는 안녕하세요 make "를 입력 할거야 0 "을 입력하고, 지금은 여전히​​ 참조
비밀 기호의 순서 만 우리는 그에게 돌아올 것입니다.
그건 당신을 위해 수행되어 있는지 확인거야.
그것은 복용 프로세스를 자동화있어 포함하는 매우 성가신 명령
연타, 실제 컴파일러.
하지만 오류를 가지고 없다는 사실을 의미 이 것은 작동해야합니다.
>> 그래서 나는 지금 할거야 - 내가 다시 확대하자 -
./hello-0을 입력하고, 실제로, 나는하십시오 "안녕하세요, 세계." 그럼 지금 강화하자
이도 약간 단지 복제하는 단계 우리 의도.
내가 가진이 이름을 바꿀거야 hello1.c으로 저장.
지금은 변수를 선언 할거야 이름 때문에, 문자열 이름, 전화
나는 그것을 넣어거야 따옴표 맺다 값
D-A-V-I-D 근접 견적 세미콜론.
그리고 지금은 "세계"를 대체하는거야 문자열에 대한 어떤 자리가 있나요?
% s에.
>> 그리고 지금, 얼마나 많은 인수해야 printf의이 시간이 걸릴?
두 그럼.
그래서 따옴표의 외부 이동합니다.
나는 쉼표 뒤에 "이름"을 입력합니다.
하지만 난 뭔가를 했어 다른 잘못이 시간.
하지만의 난하지 않았다 있다고 가정하자 아직은 실현.
내가 여기 가자.
>> 예고도, 조금 받고 있어요 입력 지루 모두 "안녕하세요 0 만든다"
시간은, "확인"이 모든.
그래서, 그것은 밝혀, 리누스에서 당신은 할 수 있습니다 자주의 위쪽 화살표를 누르십시오
키보드, 당신은 실제로 스크롤 할 수 있습니다 내가했습니다 그 모든 명령을 통해
지금 이전에 실행.
내가 할 경우에, 위로, 그 안녕하세요 0 만든다있다.
나는 그것을 싶지 않아요.
난 그냥 해당 변경하려면 안녕하세요 1이 시간을 입력합니다.
결국, 그 것이다 당신에게 시간을 절약 할 수 있습니다.
>> 좋아.
불행하게도, 오류가 있습니다.
그래서 내가 스크롤 할 수 있습니다.
이것은 내가 정말 좋아 보인다 이 프로그램을 도살.
나는 내 하나님을 의미, 그것은 두 줄의 코드의 와 오류의 10 라인.
하지만 먼저 상단 하나 봐.
선언되지 않은 식별자 문자열로 사용합니다.
난 내가 n을 표준하셨습니까?
아니, 난하지 않았다.
내가 문자열을 의미했다.
>> 하지만 문자열 변수는 어디 유형 선언, 우리가 말할 dd를?
그래서 CS50 라이브러리입니다.
따라서이 먼저, 충분하지 않습니다 몇 주, 단지 사용하기
어떤 C는 우리를 제공합니다.
나는 또한 여기에 갈 것이고 해요 위 또는 아래에 넣어,하지만 난 거 야 수
그냥 알파벳 유지 일이 질서 유지합니다.
나는 cs50.h을 포함하는거야 에 대한 사전 설치되어있는
CS50 어플라이언스 당신.
그리고 사람들도 오픈 소스, 그래서 인터넷에 자신에 그것을 사용할 수 있습니다
자신의 컴퓨터.
그러나 CS50 어플라이언스와 함께 제공됩니다.
>> 그래서 지금 내가 돌아가서 다시 컴파일하자 이 안녕하세요 1합니다.
젠장.
또 다른 오류가 발생했습니다.
하지만, 내가 먼저 스크롤 할 수 있습니다.
이 사람은 조금 복잡하다.
일정 멀티 문자 문자.
그 날 도와 아니에요.
하지만, 통지, 연타 적어도 조금 조금 괜찮은, 그것에 적은
녹색 캐럿 기호, 그것은 말 것 내가 망친 곳 여기에있다.
왜 그 작은 함께 가리키는 옆에 작은 따옴표에 녹색 화살표,
내 이름?
>> 그래서 이것은 당신이 것들 중 하나입니다 당신은 봤는데, 특히 익숙해
파이썬이나 자바 스크립트, 프로그래밍 또는 다른 언어 곳이 세부
중요하지 않습니다.
C에서는 문제 않습니다.
당신은 문자열을 선언하는 경우, 그입니다 0 개 이상의 문자 시퀀스
당신은 실제로 큰 따옴표를 사용해야합니다.
그래서 실제로이 다시 변경해야 견적을 열고, 함께, 견적을 닫습니다
따옴표.
작은 따옴표는 장소가 수행하지만, 당신은 개인적인를 사용하는 경우에만
그 다른 시간에 문자,하지만 더.
지금은 큰 따옴표 필요합니다.
>> 그래서 지금, 내 터미널로 돌아 가자 창, 안녕하세요 1합니다.
누가 자신감?
이 프로그램은 현재 예정 올바르게 컴파일?
확인을 클릭합니다.
그래서 우리 셋이 생각합니다.
좋아.
입력합니다.
그리고 실제로했다.
그래서 오류는이 시간조차 없다 이 프로그램은 조금이라도 생각
더 복잡한.
지금 도트 슬래시 안녕하세요 1를 할 경우, 입력 그것은 말 것 "안녕하세요, 데이빗."
>> 하지만하자의 세 번째 반복을 수행 이 중 어디에
프로그램은 매우 동적입니다.
내가 가서 파일을 변경할 수 단지와의 일관성을 위해 이름,
당신이 사용할 수있을 것이다 파일 당신에게 나중에 온라인으로 주문하십시오.
입력합니다.
지금은와 있지 갈거야 하드 여기에 코딩 "데이비드"를 저장합니다.
나는 아주 단순히 무엇을 할 수 이 프로그램을 개선?
>> 나는 getString는 호출 할 수 있습니다.
조금 명확하지 않은 무엇이있을 수 있습니다 일어날 대해, 그래서 나는거야
실제로 다른 라인 printf를을 추가하려면 다만, 이름, 콜론, 가까운 견적을 말
사용자에게 메시지를주고 화면에.
그리고 지금 여기에 갈거야, 그리고 난 내 키보드 단축키를 사용할 것이다.
나는 위로, 갈 및 변경 해요 안녕하세요 1 ~ 2 안녕 입력합니다.
그리고 다행히도, 내가 진행 상황을 만들고있어.
>> 지금은 올라갈거야 점 슬래시 안녕하세요에
2 입력, 그 변경합니다.
그리고 지금 내 프로그램 -
나는 확대합니다 - 점점 예뻐 조금.
이름이 될 것입니다,하자 롭 말 이번에는,여보세요, 롭를 입력합니다.
우리는 다시 그것을 할 수 있습니다.
이름, 로렌 입력합니다.
이름, 요셉 입력합니다.
이름이어야하려고하자 어려운 입력합니다.
어.
정말 버그가 아닙니다.
그래서 조금 못생긴이다.
어쩌면 우리는이 문제를 해결할 수 미래에, 지금.
>> 그러나 당신은 어떻게 본능적 것 주소에 대해 이동
특정 도전?
그냥 바보 같습니다.
당신은 어떻게 일을 방지합니까 바보 찾고?
그래서 우리가 할 수있는, OK, 나는 몇 가지를 들어 사물의, 조건, 루프.
우리는 확인하기 위하여, 조건을 하나를 사용할 수 있습니다 문자열의 길이는 무엇인가
사용자는 우리를 줬​​어?
그리고 그것은 0의 경우, 그냥, 맺다을 인용있어 그들은 단지 다음, Enter 키를 누르십시오
어쩌면 내가 그들에게 소리한다 그리고 다시 프롬프트.
하지만 그들을 다시 어떻게하라는 메시지를 표시합니까?
글쎄, 나는 또한 루프를 듣고, 나는 수 다시하고 다시하고 다시 그것을 할
같은 것은 사용자에게 메시지를 표시.
>> 음, 하나의 다른 예를 들어 수행하자 다른 사용
CS50 라이브러리에있는 함수입니다.
날이 파일을 닫습니다 수 있습니다.
나에게 새로운 하나를 만들 수 있습니다.
그리고 나는 그것이 adder.c 전화 할게, 그냥 있기 때문에 그것은 간단한 산술 연산을 수행하기 쉽습니다
이 완전하게 될 것입니다 비록 당신이 할 수있는 것에 실망
현대의 컴퓨터.
>> 하지만 지금은 저를 진행시켜 -
나는 지난 시간 내 교훈을 배웠습니다 - 포함 cs50.h, 포함 stdio.h와, INT
주요 무효, 지금, 난 그냥 거 맹목적인 믿음에 걸릴하지만, 우리는 가정합니다
무엇을 이해하는 것 이윽고 의미합니다.
그리고 내가 뭔가를 말할거야 처럼 "나에게 int를 제공합니다."
>> 그리고 지금, 어떻게 int를받을 수 있나요?
내가 궁극적으로 변수를 선언하려면 int 형의 x와 호출
거기에 사용자로부터 정수를 저장합니다.
그래서 그 입습니다.
그러나 누군가가 제안하고자하는 경우, 어떻게 나는 정수라고 X를 선언해야합니까?
INT X.
>> 그래서 정말 간단합니다.
나에게 int를 제공합니다.
그것은 X 호출합니다.
지금은 할당 연산자를 사용합니다.
그리고 어떻게에서 저장합니까 사용자의 값을 왼쪽으로?
나는, getString에 전화를하지 않으 분명히, 오히려 getInt를.
인수?
아니오.
그래서 괄호에 있으며 괄호 열려 즉시 다음
세미콜론은 행을 종료합니다.
>> 지금 내가 다시이 작업을 수행 할 수 있습니다.
나에게 또 다른 INT를 제공합니다.
이 시간이 내가 INT 할 것이다,하자 그것은 y를 호출 getInt는이 같습니다.
그리고 지금 저 슈퍼 간단한 뭔가를하자 일부 수학처럼.
그래서 printf를, % D의 합은 INT에 대한 자리 표시 자.
와 % D 기간, 백 슬래시-N.
>> 좋아.
그래서 실제로는 수학이 아니다.
그러나 나는 이것의 합계를 말하려는 경우 값 +이 값이 같음
다른 값으로 얼마나 많은 인자에 총 나는 printf를 제공해야한다
궁극적?
네 그래서, 오른쪽?
다음이 문자열과 세 개의 값.
x는 처음이다 그래서 내가되고 싶어 % d (으)로 먼저 연결.
y는 다음이 될 것입니다.
>> 그리고 지금 나는 어떤 종류의하고 싶은 말 Z,하지만 Z가 존재하지 않습니다.
그러나 큰 문제가 아니다.
때문에 당신은 본능적으로 무엇을 할 것 당신은했다 특히
그래프 계산기는, 당신은 무엇을 입력합니까?
어떻게 X 더하기 Y 어떻습니까?
그래서 실제 변수가 아닙니다.
그것은 단지 두 가지의 합이다 다른 변수.
그리고 완벽하게 합법적이다.
C는 확실히 간단한 이해 다음과 같은 산술.
>> 세미콜론, 저장합니다.
지금 내가 여기서 내려 가자하고 입력 가산기을 입력합니다.
오류 없음도 진행하다 그래야.
가산기를 입력합니다.
다른 키보드 단축키, 당신은 지루해하기 시작하면
- 모든 명령
당신이 명령을 입력하기 시작하면, 같은 점 광고를 슬래시, 그리고 그건 어디
권태 당신은 일반적으로 칠 수에서 개막 탭은 컴퓨터를 종료해야합니다
그렇지 않은 경우, 당신을 위해 구문의 나머지 모호한 무슨 광고 후에 와야한다.
>> 그래서 지금 내가 앞서 가자 그리고 당신은 Enter 키를 누릅니다.
저 INT, 1, 2를 제공하고, 다행히, 그것은 3입니다.
하지만, 언제나, 프로그램을 테스트 로 감소하지 않아야
그냥 한번 시도.
저 음과 같은 코너 케이스를 해보자 1, 나 1을주고, 하나
뿐만 아니라 체크 아웃합니다.
그리고 아마 더 많은 작업을 수행 할 엄격한 테스트,하지만 난 꽤 해요
그 장소가 어디 편안하게.
>> 자, 이제 다른 프로그램을 시도하자 이 시간을 사용하는
다른 구문 비트.
내가 새 파일을 만들 수 있습니다.
I 라인이 conditions0.c 전화 할게 최대 몇 가지 예제 코드를 온라인과 함께.
그리고 내가 가서하자 포함 cs50.h을 포함
주요 무효에 stdio.h와 -
확인을 클릭합니다.
거기 우리는 간다.
우리는 우리의 표준 상용구있다.
>> 그리고 이번에는 내가 printf를 말할거야 방금 "나는 INT, 제발을하고 싶습니다"
프롬프트 약간을 더 친절.
지금은를 얻으려면 사용자로부터 int로.
난 그냥 그 N이 시간을 호출 할거야 여기서 n은 숫자 같은 소리 때문이다.
getInt는, 지금, 무엇을 나는 그것으로 수행 할?
물론 n은 경우 - 그리고 난 확대합니다 -
n은 0보다 큰 경우, 내가 원하는 다음을 수행합니다 -
printf의 "당신은 양수를 골랐어 요." 또, 당신은 "printf를 입력 할거야
부정을 포착
숫자입니다. "좋아.
내가 않았더라도 그래서이 프로그램 빠른 마우스 오른쪽 구문 보인다.
내가 이것을 시도 할 수 있습니다.
상태 0을 확인합니다.
실행하는 것 같다.
상태 0을 입력합니다.
의 그것에게 50의 int를 제공 할 수 있습니다.
나는 양수를 골랐다.
의 다시 시도 할 수 있습니다.
조건 0.
50 음.
나는 음수를 골랐다.
>> 하지만 지금, 우리는 계속 거 야 나를 선택하자 코너 경우 호출되는 더 있습니다
당신이 생각하는 재미있는 경우 당신에게 몇 가지 문제, 0을 줄 수도 있습니다.
지금,이 중 하나입니다 확신 해요 제로는 그 코너 케이스
긍정도 부정도, 그래서 내 프로그램 구문의 생각
수정 - 그것은 컴파일이 실행 - 논리적으로 올바르지 않습니다.
내가 원한다면 간단한 수정은 여기서 무엇을 I n을 처리 할 경우, 감지
개별적으로 0과 같다?
>> n은 0에 해당 그렇다면, 내가하고 싶은 말 printf의 같은 뭔가가 "당신은 0을 골랐어 요."
내가 지금 이것을 시도 할 수 있습니다.
취소 나 이리 가자 나의 창 및 컴파일.
흠.
하나의 오류를 생성.
하지만 난 당신이 확인 싶어 여기서 n은 0에 해당합니다.
>> 그래서 또 다른 어리석은 일 에 익숙해, 등호는
할당 연산자.
그래서 이것은, 실제로의 실수 기술적으로, 비록 컴파일러
자신에서 저를 보호, 우리는 거라고 기술적 N에 0을 복사 할 수, 어떤
내가 원하는 것이 아니다.
나는 어떤지를 테스트하려면 와 같음을 같습니다.
그리고 바로 지금 수 있습니다 나의 더 나은 솔루션을 제공합니다.
>> 내가 실제로 본을 다시 저장 말을하자 conditions1, 새로운 및 향상시킬 수 있습니다.
나는이 컴파일 이제 경우 그것은 조건을 만들 것입니다 -
으악 - 확인 conditions1 점 슬래시 conditions1는 내가 int를하고 싶습니다 "입력
. "나는 갈거야주세요 앞서 50을 입력합니다.
그것은 여전히​​ 좋아요.
여전히 좋은, 50 음.
0, 그리고 그것은 실제로 발견 I 0을 포착합니다.
>> 그래서 더 지금이 함께 할 수 있습니까?
글쎄, 우리는 확실히 증가 할 수있다 복잡한 확인해보세요.
하지만 제가 제안하고 싶은 것은 우리는 여기에서이 쪽지를 종료합니다.
우리는이를 당긴다면, 당신은 아마도 볼 수 있습니다 당신의 마음에 드는 만화
최대 지금까지 당신은 수도 이해하지 못했을.
그리고 그 웃음의 품질에 관하여 당신은 CS 농담으로 받아야합니다.
그래서에 대한 권리입니다.
>> 하지만 더 강력하게, 나는 거라고 생각 우리에게 월요일 약간의 맛보기를 제공합니다.
그래서 우리는 정수를 사용하기 시작했다.
우리는 수레 언급했다.
우리는 심지어, 더블 언급 한 이는 다시 당신에게 번호를 제공
소수점 후.
>> 그러나 그 수레를 켜고 복식, 그리고 정말로, 컴퓨터,
근본적으로 표현할 수 정확히 어떤 값.
우리는 수학 클래스에서 알고 당신이 할 수있는 후 숫자의 번호를 가지고
소수점.
그리고 당신도 수직 막대를 넣을 수 있습니다 이 영원히 계속 말을.
>> 불행하게도, 당신은 정말 할 수 없습니다 컴퓨터에서 그렇게.
그리고 코너 케이스가 발생합니다.
예를 들어, 당신이있어 가정 금융 뭔가를하고.
당신은 수학을하고 있어요 백분율 및
와 달러와 센트.
그리고 그 센트하지 라인을 반드시.
글쎄요, 그것은의 분수를 밝혀 페니 때까지 추가 시작할 수 있습니다
컴퓨터 시스템과 모델 그런 방법이 영리
인간이 활용할 수 있습니다.
>> 그리고 보지 분들, 나는 거라고 당신의 30 초 티저를주고 싶다
사무실 공간으로 알려진 멋진 영화 의 그림을 그릴되는
우리가 해결해야 문제 월요일에 먼저.
우리는 볼륨을 올릴 수 있다면 조금, 나는 당신에게 30 줄
사무실 공간의 초.
>> [동영상 재생]
>> 난 - 말은, 당신은, 당신이 보이고되지 않은 위로하고 작업을 계속 얻을.
>> - 사실, 난이 추진되고 있어요.
>> - 난 거라고 바이러스 프로그램 수 큰 오프 시간 그 장소를 찢어.
>> - 글쎄, 그것은 어떻게 작동합니까?
>> 은행 거래 거기 -마다 이자는 계산, 거기 위치
수천 날 경우 컴퓨터가 종료 센트의 이러한 분수와 함께.
>> -하지만 난 안 갈거야 불법 아무것도.
>> - 불법?
사미르이 미국이다.
>> - 우리는 맹세한다.
>> - 만약 아무도 이것에 대해 알고 하지만, 우리, 괜찮아요?
어떤 가족 구성원, 더 여자 친구, 아무도.
>> - 물론.
>> - 합의했다.
>> 걱정, 사람 마.
나도 아무에게도 말하지 않을 것입니다.
>> [END 동영상 재생]
>> DAVID 마란 : 그래서, 그럼, CS50이며, 그 사무실 공간이고, 그것은 모든 것
월요일에 의미합니다.
다음을 참조하십시오.
>> 내레이터 : 다음 CS50, 롭에서 오프 것에 조정
하버드 식사 계획.