C#초보자 - 제8과: 순환
At the end of this lesson, you should be able to answer the following:
- How do I write code that runs repeatedly?
- How do I make a while loop?
- How do I make a for loop?
- What is an infinite loop?
만약 당신이 임무를 여러 번 반복해야만 한다면 상상해 보세요.간단한 것도, 예를 들면'생일 축하해!'몇 번 후에 너는 이렇게 하는 것에 싫증이 날 수도 있다.
컴퓨터는 아니에요.그들은 같은 일을 반복하는 데 뛰어나다.그들은 프로그래밍이 멈추거나 자원이 다 소모될 때까지 우리의 능력보다 더 빨리 임무를 반복할 것이다.
While 주기
우리는 C#에게'생일 축하해!'라고 말할 수 있다.10번(예:
var counter = 0;
while (counter < 10)
{
Console.WriteLine("Happy Birthday to you!");
counter++;
}
Console.WriteLine("END");
코드 상자에 위의 코드를 입력한 다음 코드를 실행합니다.너는 C#가 아무런 원망도 없이 이 임무를 완수했다는 것을 알게 될 것이다.0.4초 남았습니다!코드를 분해합시다.
우선, 우리는
counter
라는 변수를 성명했는데 그 값은 0
이다.이 계수기는 우리가 순환하는 횟수를 기록할 것이다.다음 문장은while 순환 블록입니다.이전 과의if문장과 마찬가지로while문장 블록은 키워드(
while
와 순환조건을 포함하는 원괄호로 구성되어 있다.조건은 표현식일 수 있으며 표현식의 결과는
bool
또는 부울 값이어야 합니다.만약 조건이 사실이라면, 우리의 프로그램은 순환체, 즉 괄호로 둘러싸인 부분으로 들어갈 것이다.그 다음에 순환체의 문장을 집행할 것이다.프로그램이 순환체의 끝에 도달했을 때, 괄호
Console.WriteLine("END")
이외의 문장으로 돌아가지 않습니다.반대로, 그것은 조건을 다시 되돌려 조건이 여전히 정확한지 테스트할 것이다.그것은 순환 조건이 발생할 때까지 순환체로 되돌아갈 것이다. false
간단하게 말하자면, 조건이 진실일 때, 계속해서 몇 가지 일을 해라.이것이 바로 여섯 번째 줄이 왜 매우 중요한가 하는 것이다.
counter++
는 counter = counter + 1
의 줄임말이다.우리는 counter
의 값을 1로 늘린 후에 이 값을 다시 counter
에 부여할 것이다.우리는 순환체가 끝나기 전에 이렇게 한다.프로그램이 순환 조건을 되돌려 테스트를 진행할 때
counter
의 값이 변경되었습니다.프로그램이
counter
의 값을 출력하면 순환이 어떻게 작동하는지 쉽게 볼 수 있습니다.counter++;
뒤에 다음 줄을 추가합니다.Console.WriteLine(counter);
프로그램을 실행하다.counter
의 값이 순환할 때마다 증가하는 것을 볼 수 있습니다.counter
가 10
에 도달했을 때 프로그램의 마지막 테스트 조건counter < 10
.10이 10보다 작지 않기 때문에 조건은 지금 가짜다.프로그램이 순환체를 종료하고 외부의 다음 문장 Console.WriteLine("END")
으로 이동합니다.만약 우리가
counter++
를 삭제하고 코드를 실행한다면 조건counter < 10
은 영원히 가짜가 되지 않을 것이다.우리의 프로그램은 무한 순환에 들어갈 것이다!무한 순환은 끝이 없는 순환이다.우리가 그것을 막을 수 있는 유일한 방법은 프로그램을 강제로 종료하거나 컴퓨터 메모리가 부족하다는 것이다.
순환하다
우리가 기술한 순환 구조는 C#에서 매우 흔하기 때문에 우리는 for순환 문법을 사용하여 더욱 간결한 방식으로 그것을 설명할 수 있다.
for (var counter = 0; counter < 10; counter++)
{
Console.WriteLine("Happy Birthday to you!");
}
Console.WriteLine("END");
이런 문법은 언뜻 보면 매우 이상할 것이다.하지만 우선 그것을 분해해 봅시다.너는 원괄호 안의 표현을 발견할 수 있을 것이다. 우리는 이미 매우 익숙하다.우선, 우리는 단독 성명
counter
변수 (원시 프로그램의 첫 번째 줄) 를 필요로 하지 않습니다. 이것은 현재 for 순환에서 성명되고, 원괄호 안에 있습니다.다음 부분은 우리의 순환 조건 (세 번째 줄) 이고, 그것은 여전히
counter < 10
이다.앞에서 가장 중요한 여섯 번째 줄인 증가
counter
값의 문장은 괄호 안의 마지막 표현식이다.for 순환을 사용하면 프로그램을 9줄 코드에서 5줄로 줄일 수 있습니다.우리는 몇몇 문장을 원괄호 안의 표현식으로 옮길 것이다.
괄호 안의 문장은 여전히 순환체이며, 조건 (중간 표현식) 이 진실하기만 하면 순환체는 계속 집행될 것이다.
Question
Find the error in this program. (Hint: Compare the syntax with the sample program above.)
for (var counter = 0, counter < 5, counter++)
{
Console.WriteLine("Happy Birthday to you!");
}
Question
What is the output of this program? (Hint:
--
is an operator that decreases a value by 1.)
var i = 10;
while (i > 0)
{
Console.WriteLine(i);
i--;
}
Console.WriteLine("Blast off!");
Challenge
Convert the code above to use the for loop syntax.
Challenge
Using a for loop, get the sum of numbers from 1 to 10. Print the sum to the console.
Hint #1: You would need to declare an extra variable before the for loop that would hold the sum.
Hint #2: For every iteration of the loop, you have the current number and the current sum. You would need to add them together to get a new value for the sum.
Hint #3: The statement
sum = sum + number
would evaluatesum + number
first, then the result of that expression is assigned tosum
, givingsum
a new value.
Reference
이 문제에 관하여(C#초보자 - 제8과: 순환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/coding_mama/c-for-beginners-lesson-8-loops-3mf0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)