ホームページ バックエンド開発 C#.Net チュートリアル for ループは最初にループ本体ステートメントを実行してから式を評価しますか?

for ループは最初にループ本体ステートメントを実行してから式を評価しますか?

Jul 23, 2020 pm 02:53 PM
for ループ

いいえ、for ループは最初に式を判断してから、ループ本体のステートメントを実行します。一般的な形式は「for (式 1; 式 2; 式 3) {ループ本体}」です。最初に「式 1」を実行し、次に「式 2」を実行し、値が true (0 以外) の場合は、ループ本体、そうでない場合はループを終了; ループ本体を実行した後、「式 3」を実行します。

for ループは最初にループ本体ステートメントを実行してから式を評価しますか?

#for ループの一般的な形式は次のとおりです:

for(表达式1; 表达式2; 表达式3){
    语句块
}
ログイン後にコピー

その実行プロセスは次のとおりです:

1) 最初に「式 1」を実行します。

2) 「式 2」を再度実行し、値が true (0 以外) の場合はループ本体を実行し、それ以外の場合はループを終了します。

3) ループ本体の実行後、「式3」を実行します。

4) 「式 2」の値が false になるまで手順 2) と 3) を繰り返し、ループを終了します。

上記の手順の 2) と 3) はループになっており、繰り返し実行されますが、for ステートメントの主な機能は、手順 2) と 3) を継続的に実行することです。

「式 1」は最初のループ中にのみ実行され、今後は実行されません。これは初期化ステートメントと考えることができます。 「式2」は一般に、次のループを継続するかどうかを決定する関係式であり、これを「ループ条件」と呼ぶ。 「式 3」は、多くの場合、インクリメントまたはデクリメント演算を伴う式であるため、ループ条件は徐々に「真ではない」になります。

for ループの実行プロセスは次の図で表すことができます。

for ループは最初にループ本体ステートメントを実行してから式を評価しますか?

「計算」を分析してみましょう。 1 から 100 までの加算と" コード:

#include <stdio.h>
int main(){
    int i, sum=0;
    for(i=1; i<=100; i++){
        sum+=i;
    }
    printf("%d\n",sum);
    return 0;
}
ログイン後にコピー

実行結果:


5050
ログイン後にコピー

コード分析:

1) for ステートメントを実行するとき、最初に初期値を i 1 にします。i<=100 が true かどうかを判断します。この時点では i=1 および i<=100 が true であるため、ループ本体が実行されます。ループ本体の実行終了後(sumの値が1になる)、再度iを計算します。

2) 2 番目のループでは、i の値は 2 で、i<=100 が確立され、ループ本体が実行され続けます。ループ本体の実行終了後(sumの値が3)、再度iを計算します。

3) 101 回目のループまで 2) を繰り返しますが、この時点では i の値は 101 であり、i<=100 は成立しないのでループは終了します。

これから、for ループの一般的な形式を要約できます:

for(初始化语句; 循环条件; 自增或自减){
    语句块
}
ログイン後にコピー

for ループ内の 3 つの式

for ループ内の「式 1 (初期化条件)」、「式 2 (ループ条件)」、および「式 3 (自己インクリメントまたは自己デクリメント)」はすべてオプションで省略できます (ただし、セミコロン

; は必須です)保持されます)。

1) 「1 から 100 までの合計」のコードを変更し、「式 1 (初期化条件)」を省略します。

int i = 1, sum = 0;
for( ; i<=100; i++){
    sum+=i;
}
ログイン後にコピー

i=1 であることがわかります。 for ループの外に移動されました。

2) 「式2(ループ条件)」を省略した場合、何も処理をしないと無限ループとなります。例:

for(i=1; ; i++) sum=sum+i;
ログイン後にコピー

は次と同等です:

i=1;
while(1){
    sum=sum+i;
    i++;
}
ログイン後にコピー

いわゆる無限ループとは、ループ条件が常に true であり、ループが継続して終了しないことを意味します。無限ループはプログラムにとって非常に有害なので、回避する必要があります。

3) 「式3(自己インクリメントまたは自己デクリメント)」を省略した場合、「式2(ループ条件)」の変数は変更されません。ループ本体ステートメントに追加されます。例:

for( i=1; i<=100; ){
    sum=sum+i;
    i++;
}
ログイン後にコピー

4) 「式1(初期化文)」と「式3(自己インクリメントまたは自己デクリメント)」は省略されます。例:

for( ; i<=100 ; ){
    sum=sum+i;
    i++;
}
ログイン後にコピー

while(i<=100){
    sum=sum+i;
    i++;
}
ログイン後にコピー

5 と同等です) 3 つの式を同時に省略できます。例:

for( ; ; )  语句
ログイン後にコピー

は次と同等です:

while(1)  语句
ログイン後にコピー

6) 「式 1」は初期化ステートメントまたは他のステートメントにすることができます。例:

for( sum=0; i<=100; i++ )  sum=sum+i;
ログイン後にコピー

7) 「式 1」と「式 3」は、単純な式またはカンマ式にすることができます。

for( sum=0,i=1; i<=100; i++ )  sum=sum+i;
ログイン後にコピー

または:

for( i=0,j=100; i<=100; i++,j-- )  k=i+j;
ログイン後にコピー

8) 「式 2」は通常、関係式または論理式ですが、数値や文字を使用することもできます。 -zero、ループ本体が実行されます。例:

for( i=0; (c=getchar())!=&#39;\n&#39;; i+=c );
ログイン後にコピー

別の例:

for( ; (c=getchar())!=&#39;\n&#39; ; )
    printf("%c",c);
ログイン後にコピー

関連する推奨事項: 「

c 言語チュートリアル

以上がfor ループは最初にループ本体ステートメントを実行してから式を評価しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPを使用して100以内の奇数を見つける方法 PHPを使用して100以内の奇数を見つける方法 Dec 23, 2022 pm 06:54 PM

実装手順: 1. for ステートメントの制御範囲を使用して 1 から 100 までの数値を調べます。構文は「for ($i = 1; $i <= 100; $i++) {loop body code}」です。ループ本体はif文と%演算子を使って奇数を取得、出力するだけで、構文は「if($i % 2 != 0){echo $i.」「;}」となります。

PHPのforループの実行順序は何ですか? PHPのforループの実行順序は何ですか? Sep 22, 2021 pm 06:24 PM

実行シーケンス: 1.「初期化式」を実行 2.「条件判定式」を実行 式の値が真の場合は「ループ本体」を実行、そうでない場合はループ終了 3.ループ本体の実行後, 「変数更新式」を実行; 4. 変数更新後、条件判定値が false になるまで次のループに入り、ループを終了します。

mysqlにはforループがありますか? mysqlにはforループがありますか? Mar 30, 2023 pm 08:26 PM

MySQL には for ループがありません。MySQL は for ループ ステートメントをサポートしません。WHILE、REPEAT、LOOP の 3 つのループ ステートメントのみをサポートします。MySQL にはループ ステートメントが用意されており、条件に基づいて SQL コード ブロックを繰り返し実行できます。

Pythonでのforループの使い方 Pythonでのforループの使い方 Oct 25, 2023 pm 12:18 PM

Python で for ループを使用する方法 Python はシンプルで使いやすいプログラミング言語であり、for ループは最も一般的に使用されるツールの 1 つです。 for ループを使用すると、一連のデータをループし、効果的な処理と操作を実行し、コードの効率を向上させることができます。以下では、Pythonでのforループの使い方を具体的なコード例を交えて紹介します。 for ループの基本構文 Python では、for ループの構文は次のとおりです。 反復可能なオブジェクトの for 変数:

C言語でforループを使用して配列内の偶数と奇数を区切るにはどうすればよいですか? C言語でforループを使用して配列内の偶数と奇数を区切るにはどうすればよいですか? Aug 25, 2023 pm 03:09 PM

配列は、単一の名前で保存された関連するデータ項目のグループです。例: intStudent[30];//student は配列名で、単一の変数名を含む 30 個のデータ項目のコレクションです。 配列の操作検索 - 特定の要素が存在するかどうかを見つけるために使用されます。 並べ替え - 配列内の要素を配置するのに役立ちます。昇順または降順で並べ替えます。トラバーサル - 配列内の各要素を順番に処理します。挿入 - 配列に要素を挿入するのに役立ちます。削除 - 配列から要素を削除するのに役立ちます。配列内の要素。配列内で偶数を見つけるロジックは次のとおりです - for(i=0;i<size;i++){ if(a[i]%2==0){

JSループ学習:forループ文の使用(詳細例) JSループ学習:forループ文の使用(詳細例) Aug 03, 2022 pm 06:45 PM

前回の記事「JS ループの学習: While ループ ステートメントの使用 (詳細な例)」では、while ループと do while ループについて簡単に学習しましたが、今日は別のループである for ループ ステートメントを紹介します。誰にとっても役に立ちます。役に立ちました!

Go で大きな配列を処理する: for 範囲または for ループを使用しますか? Go で大きな配列を処理する: for 範囲または for ループを使用しますか? Jul 24, 2023 pm 02:47 PM

Go の構文は比較的簡潔であることがわかっています。 C でサポートされている while、do...while などのループ制御構文は提供しませんが、for ループという 1 つのステートメントのみを保持します。

for ループを使用して Go 言語で反転操作を実装する方法 for ループを使用して Go 言語で反転操作を実装する方法 Mar 24, 2024 pm 02:15 PM

タイトル: for ループを使用して Go 言語で反転操作を実装する方法 Go 言語では、for ループを使用することで配列やスライスなどのデータ構造を簡単に反転できます。この記事では、for ループを使用して配列とスライスを反転する方法と、具体的なコード例を紹介します。配列を反転する操作 まず、for ループを使用して配列を反転する方法を見てみましょう。整数要素を含む配列を定義し、for ループを使用して反転します。パッケージメイン

See all articles