前書き: この記事を皮切りに、ブロガーは C 言語のいくつかの重要な基本的な文法知識を随時更新していきます。
目次
1. サイクルとは
1. サイクルの定義
Loop は、その名前が示すとおり、ループです。ははは、そのようなスパイラル スライドのように、円ごとに、レイヤーごとに、設定した制約の下でループ ステートメントが繰り返し実行されます。
2. 三大循環体
- その間
- 一方を行います
- のために
2.サイクル本体の説明
1. while ループ
while ループは「while ループ」とも呼ばれます。制限を満たした場合にのみループします。
while の文法構造は次のとおりです。
while(式)
{
ループステートメント。
}
while の後の () 内の式が判定条件で、式が trueの場合のみwhile ループに入りループ文を実行します。
簡単なコード表示:
//打印1-10的数字
#include<stdio.h>
int main()
{
int i = 1;
while(i <= 10)
{
printf("%d ",i);
i++;
}
return 0;
}
2.while ループを実行する
while ループと同様に、 do while は式が trueのみループを実行します。
do while の文法構造は次のとおりです。
する
{
ループステートメント。
while(式);
do while ループと while ループの唯一の違いは、do while ループは少なくとも 1 回実行されるのに対し、while ループはまったく実行されないことです。
上記のコードのように、式は明らかに false ですが、それでも 1 が出力されます。これがdo while ループの魔法です。なぜでしょうか? 上から順にコードを実行していくので、do whileの判定条件はloop文の後にあり、当然最初にloop文が実行されてから判定されます。
3.forループ
for ループは3 つのループの兄貴分と言え、最も多用途なループ本体でもあります。
for ループの構文構造:
for (初期化; 判定式; 調整文)
{
ループ本体。
}
forループは初期化、判定式、調整文を統合しており、ループさせたい内容をループ本体に記述するだけです。実行順序は、初期--->判定--->判定合格--->ループ本体実行--->ステートメント調整--->判定--->判定不合格--->ループ終了です。
#include<stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
ここでは、for ループのいくつかのバリエーションの使用法を追加します。
のために( ; ; )
{
printf("へへ");
}
for ループ内の初期化文、判定文、調整文はすべて省略可能ですが、判定文を省略した場合はデフォルトで常に true、つまり無限ループで「へへ」と出力されることに注意してください。
int i = 0;
int j = 0;
for (; i < 3; i++)
{ for (; j < 3; j++) { printf("hehe\n"); } }
このようなネストされたループ コードがあると、「へへ」が何回出力されるでしょうか?
答えは次のとおりです: 3。
これは初期化の話ですが、最初の内側ループが実行された後、j = 3 になります。このとき、2 回目の内側ループが実行されるとき、j は特定の番号に初期化されていないため、j は 3 のままです。判定条件を満たさない場合は実行されません。
int i = 0;
for (i = 0; i = 1; i++)
{ printf("へへ"); }
このようなコードでは「へへ」が何回出力されるでしょうか?
答えは、無数の無限ループ印刷です。
なお、ここで i = 1 となっていますが、これは判定文でしょうか?いいえ、実際には代入文であり、 i に 1 を代入するため、判定条件は常に true となり、無限ループで出力されます。
3. ループ内の 2 つの主要なキーワード
1.続ける
continue、英語の意味は「継続」です。ループ ステートメントで使用すると、現在のループを直ちに終了し、次のステートメントの実行を停止してループを再開します。
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d", i);
if (i == 5)
continue;
i++;
}
return 0;
}
上記のコードを見ると、このコードの出力はどうなるでしょうか?
推測は正しかったでしょうか?
そうです、1,2,3,4を出力した後、無限ループで 5 が出力されます。なぜ?i==5 の条件を満たすとif 文が実行され、Continueはこの時点で悪魔となり、後で i++ の実行を直接終了し、サイクルを再開します。このとき、i は常に 5 です。、常に Execute continueになります。i は ++ ではなくなるため、無限ループで 5 が出力されます。
2.休憩
Break、その英語の意味は「ブレーク」です。ループステートメント内に出現すると、それがどこにあるかに関係なく、それがショットされる限り、ループ全体が直接中断され、ループ全体は実行されず、ステートメントは実行されません。ループの後ろで直接実行されます。
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
if (i == 5)
break;
i++;
}
printf("循环被打破了");
return 0;
}
同じコードですが、何が出力されるでしょうか?
はい、ループ内で 5 まで出力すると、if ステートメントが実行されて中断され、i = 5 の後でループ全体が直接終了し、ループの後に printf ステートメントが実行されます。
この流通に関する知識の共有はここで終了となります。私の共有に質問や追加がある場合は、お気軽にコメントしてプライベート メッセージを送ってください。
ブロガーの記事が気に入ったお友達は、忘れずに 3 回クリックしてください。次号でお会いしましょう。