[Powered by Google Translate] 토미 MACWILLIAM : 루프에 대해 얘기할까요, 일반적인 중 하나
프로그램은 우리가 CS50에 걸쳐 표시됩니다 구성합니다.
우리가 수행 할 때 우리는 루프를 사용합니다
한 번 이상 작업보다.
예를 들어, 우리는 "안녕하세요"100 배 또는 인쇄를 인쇄 할 수 있습니다
알파벳의 모든 글자 아웃.
이러한 경우 모두에서, 우리는 우리가하고 싶은 게 하나 있는데 ...
여러 번, 뭔가를 인쇄 할 수 있습니다.
그러나, 우리는 인쇄 일마다 다를 수 있습니다.
그래서 우리는 각각 약간 다른 뭔가를 할 수
반복, 또는 루프의를 통해 실행합니다.
우리는 반면, C에서 루프의 세 가지 유형이 표시됩니다
루프, 루프에 대한, 그리고 루프 동안 마십시오.
루프의 이러한 세 가지 유형의 서로 다른 구문을 가지고 있지만은,
그 뒤에 아이디어는 동일합니다.
우리는 중괄호 안에 코드의 일부 블록을 정의
우리가 실행하고자하는, 루프의 몸이라고
시간의 일부 번호입니다.
본문에 사용 된 변수의 값을 변경하면, 우리
우리의 루프은 다른 뭔가가 실행 때마다 수행 할 수 있습니다.
우리가 쓸 수있는 루프를 통해, 우리는 또한 결정해야합니다 때
루프 게재가 중단됩니다.
우리가하지 않으면 우리의 믿음직한 컴퓨터가 계속됩니다
우리가 프로그램을 죽일 때까지 루프를 실행합니다.
스크래치에서, 우리는 반복 n 번을 사용할 수
루프를 만들 차단합니다.
반복 10 말했다 블록 내부의 조각의 모든
10 번 실행됩니다.
그리고, 우리는 그 루프 후 조각에 옮겨야 겠어요.
우리의 정지 조건이 간단했습니다 그래서,이 블록되었습니다
10 번을 실행합니다.
스크래치가되도록하기 위해 C.에서이 작업을 다시 놔의
반복 블록 내에서 조각을 실행하는
정확히 10 배, 스크래치는 각각의 트랙을 유지해야합니다
반복 블록의 실행.
우리의 루프 몸 된 횟수를 추적 할 수
실행, 그럼 내가라는 변수를 만들 수 있습니다.
우리는 우리의 루프 이후, 제로에서 전을 시작합니다
아직 실행되지 않았습니다.
OK
이제 우리는 우리의 루프를 시작하는 동안 키워드를 사용합니다.
지금 우리는 우리의 루프가 중단됩니다 때를 알아 내야 겠지만
의 지금이를 떠나 다음에 돌아가요.
괜찮아요.
우리 루프의 내부처럼, 그냥 메시지를 출력하게
"안녕." 우리는이에 대한 printf 함수를 사용할 수 있습니다.
괜찮아요.
그래서 지금 우리는 루프 본문의 반복이 있다는 기록합니다
사형이 집행 된.
우리는 카운터에 1을 추가하거나 증가하여 해당 작업을 수행 할 수
변수, 전.
그 작업을 수행하려면, 우리는 내가 플러스 1 개 이상의 같다 말할 수
단순히, 내가 플러스 플러스.
좋아요.
이제 우리는 때마다 우리의 루프가 실행되는 것을 알 수 있습니다 우리
카운터 변수는 하나 밖에 없는데.
그래서 우리는 우리가 지금까지 실행 한 정확히 얼마나 많은 반복 알아요.
후 루프 중 하나를 반복, 우리의 가치
, 나는 1 될 것입니다.
이 반복 후, 2 될 것입니다.
10 반복 한 후, 10이 될 것입니다.
그럼, 우리가이 루프를 실행하려면 정확히 10 배 다음
지금이 우리가 중지 할 때입니다.
그래서 우리는 전 10 개 미만있는 동안이 루프를 실행하려면, 그리고
즉, 바로 우리가 작성해야하는 게 동안
10 개 미만입니다.
이 조건은 경우에 우리가 사용하는 조건 같습니다
다른 블록 떨어져 있습니다.
우리 루프의 본문이 실행 된 후 프로그램
루프 조건까지 다시 이동합니다.
조건은 다음의 본문에 해당하는 경우
루프는 다시 실행됩니다.
조건이 사실 더 이상 존재하지 않을 경우, 우리의 루프는되지 않습니다
더 이상 실행하고 코드의 다음 줄로 이동합니다
우리의 루프 아래에.
괜찮아요.
그럼 두 번째 유형의를 살펴 보자
루프에 대한 루프.
동안 키워드 옆에 괄호에 우리는 한 가지를 가지고
에 대한 진정한되기 위해 필요한 조건
루프 본문을 실행할 수 있습니다.
우리는 외부의 카운터 변수를 만들 수는 것을 의미
몇 가지 점에서 루프를 증가시키는 기억의
루프의 내부.
루프에 대한의 헤더는, 반면에, 세가
부품, 그 각각은 세미콜론으로 구분됩니다.
첫 번째 셋째, 우리는 카운터 또는 헬퍼를 선언 할 수
변수는 우리 루프에서 사용하고 싶습니다.
실제로이 정말 도움이 될 수 있습니다.
우리는 우리의 잠시 후 그 변수 i를, 필요하지 않습니다
루프를 실행하고 있습니다, 그래서 우리는 정말 선언 할 필요는 없습니다
루프의 외부.
두 번째 세 번째는 진실해야하는 조건이 될 것입니다
몸이처럼 다시 실행 할에
우리 동안 루프 인치
마지막 셋째, 우리는 될 것입니다 문을 실행할 수 있습니다
루프의 각 반복 한 후 실행, 그래서 우리가이 없습니다
루프 본문에 구축합니다.
그럼 5에서 1로 카운트 다운 루프에 대한 쓰기 보자.
우리는을위한 키워드로 시작됩니다.
은 우리가주지, 먼저 카운터 변수를 만들 수 있습니다
우리가 카운트 다운하고 이후 5이 시간을 설정,
세미 콜른.
다음은 우리가 돌​​아 오면 우리​​의 상태입니다.
셋째, 우리는 이후의 카운터 변수를 감소하고 싶습니다
루프의 각 반복.
그래서 오히려 제가 플러스 플러스 말보다, 우리는 전 마이너스 마이너스라고합니다.
괜찮아요.
그래서 우리는 내가있는 동안 루프 몸은 실행하려는
0보다 큰.
루프의 본문에, 그럼 난의 값을 출력 보자.
이렇게하려면 우리는 % d 개를 사용하여 printf 함수를 사용합니다
자리 표시 자.
단, 그 자리 표시 자로는으로 대체됩니다
나는의 값입니다.
마지막으로, 어디 루프에 대한 후 문을 추가 할 수 있습니다.
우리가이 루프를 실행하면, 난 5시에 시작됩니다
그래서 5 인​​쇄됩니다.
일단은 0에 도달, 연속 상태, 전입니다
0보다 큰, 더 이상 보유하지 않습니다.
그래서 우리의 루프는 실행 중지되며, 우리는이 표시됩니다
루프 후 문.
그럼이 코드를 실행할 수 있습니다.
첫째, 우리는 컴파일됩니다
카운트 다운을 함께 countdown.c.
이제, 우리는. / 카운트 다운이 코드를 실행할 수 있습니다.
두 동안 루프와 루프에 대한 우리의 지속
조건은 몸 전에 확인 될 것입니다
의 루프를 실행합니다.
즉, 즉, 우리의 조건은 처음이 아닌 경우
사실 다음의 루프의 본문이 실행되지 않습니다.
그럼 후 상태를 점검하는 것이 효과적 일 때가 있습니다
루프의 본문 오히려 이전보다.
그래서 번호를 사용자에게 묻는 메시지를 표시하도록가 루프를 작성하게
양수가 제공 될 때까지.
사용자가 입력 음수를하는 경우, 우리가 그들에게 물어보고 싶은 것
다른 번호.
그래서 우리는 안에 있어야 해이 프롬프트 할 것
루프에서 몸.
그러나, 루프가 처음으로 실행되며, 사용자
아직 우리에게 번호를 부여하지 않았습니다.
따라서이 양성 여부를 확인하기 위해 이해가되지 않습니다.
대신, 우리는 몸의 후 번호를 확인하는 것이 좋습니다
루프는 실행됩니다.
우리는 루프 동안 DO와 함께이 작업을 수행 할 수 있습니다.
첫째, 우리는 개최 n을, 변수를 만듭니다
사용자의 입력.
이제 우리는 중괄호 뒤에 DO 키워드를 사용하겠다
우리 루프의 몸을 시작합니다.
몸에서, 우리는있는 번호를 사용자에게 묻는 메시지를 수
기능을 GetInt.
이제 우리는이 루프의 몸이 다시 실행하는 것이 좋습니다 경우
사용자가 음수를 입력, 우리는 말할 거예요 동안 N
이하 0입니다.
잠시 문 후 여기에 세미콜론을 확인할 수 있습니다.
그럼이 코드를 실행할 수 있습니다.
첫째, 우리는 긍정적 만들어와 함께 컴파일됩니다.
이제 우리는 함께 프로그램을 실행할 수 있습니다. / 긍정적.
우리는이 프로그램을 부정적인 같은 음수를 제공하는 경우
4 다음 우리는 이후 번호 다시하라는 메시지가 표시됩니다
우리 DO의 상태 루프 사실 있었다.
일단 우리는 8과 같은 긍정적 인 전화 번호를 알려
우리 DO의 상태 루프는 더 이상 진실하지 않습니다 동안.
따라서 루프를 다시 실행되지 않습니다.
그리고 우리가 C.에 사용할 루프의 세 가지 유형 전부 야
내 이름은 토미이고,이 CS50입니다.