初心者のためのC


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?

あなたが多くのタスクを繰り返す必要がある場合は、想像してください.単純なものであっても「あなたにお誕生日おめでとう」と言っているようですね.あなたはおそらく数回以上後にそれを行うのに疲れてしまうだろう.
しかし、コンピュータではない.彼らは何度も何度も同じことをするのが素晴らしい.彼らは喜んでタスクを、私たちができるより速く、停止するようにプログラムされるまで-またはそれらがリソースのうち実行するまで.

一方ループ


私たちは、あなたに「ハッピーバースデー」と言います例えば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 またはboolean値.条件が真であれば、我々のプログラムはループ本体に入ります.ループ本体の文が実行される.
プログラムがループ本体の端に到達すると、巻き括弧の外側のステートメントにはなりません(Console.WriteLine("END") ). 代わりに、それは条件に戻って、条件がまだ本当であるならばテストします.ループ状態がAになるまでループ本体に戻るfalse .
平易な言葉で:条件はtrueですが、何かをし続ける!
これは、6行目が非常に重要である理由です.counter++ ショートカットcounter = counter + 1 . 我々は価値を増やしているcounter では、その値をcounter 再び.
我々は、ループ本体が終了する直前にこれを行う.我々のプログラムがそれをテストするためにループ条件に戻るとき、1の値counter 変更.
の値をプリントアウトしましょうcounter それで、ループがどのように働いているかを見るのは簡単です.
次の行を追加counter++; .
Console.WriteLine(counter);
プログラムを実行します.あなたの値が表示されますcounter ループのすべての反復の後に増加すること.

counter 達した10 , プログラムは条件をテストするcounter < 10 最後まで.10が10以上であるので、現状は偽です.プログラムはループ本体から出て、次の文の外部に移動しますConsole.WriteLine("END") .
削除するならcounter++ を実行し、counter < 10 決してfalseにならないでしょう.我々のプログラムは無限ループを入力します!
無限ループは決して終わるループではない.我々がプログラムを強制的に終了するならば、我々がそれを止めることができる唯一の方法はそうです、あるいは、コンピュータは記憶力が不足します.

ループ用


私たちが説明したループ構造は、C言語ではとても一般的です.
for (var counter = 0; counter < 10; counter++)
{
    Console.WriteLine("Happy Birthday to you!");
}
Console.WriteLine("END");
この構文は一見して変に見えるかもしれない.しかし、最初にそれを壊しましょう.あなたは、丸括弧の式がすでに私たちによく知られていることがわかります.
まず、宣言する必要はありませんcounter 別の変数(私たちのオリジナルのプログラムの1行目)-現在のループの中で、ラウンドブラケット内で宣言されます.
次の部分はループ状態(3行目)ですcounter < 10 .
そして、すべての重要なライン6以前にcounter - は丸括弧内の最後の式です.
あなたはforループを使用して、我々は5行にコードの9行からプログラムを短縮したことがわかります.いくつかの文を丸括弧内の式に移しました.
巻き毛括弧内の文は、まだ状態(中間式)が真である限り、実行を続けるループ本体です.

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 statementsum = sum + number would evaluate sum + number first, then the result of that expression is assigned to sum, giving sum a new value.