ホームページ >バックエンド開発 >C#.Net チュートリアル >C言語のforの使い方は何ですか?
##C 言語での for の使用法は次のとおりです:
for ループ ステートメントの一般的な形式は次のとおりです:for (表达式1; 表达式2; 表达式3) { 语句; }First ofすべて、2 つの点を強調する必要があります。 ポイント: 1) 式 1、式 2、および式 3 はセミコロンで区切られており、決してカンマで記述しないでください。 2) for (式 1; 式 2; 式 3) の後にセミコロンを追加しないでください。多くの初心者はこの間違いを犯します - 彼らは、その後にセミコロンを追加せずにはいられません。 for ループはその後に 1 つのステートメントしか制御できず、C 言語ではセミコロンもステートメント (空のステートメント) であるためです。したがって、最後にセミコロンを追加すると、for ループはこのセミコロンのみを制御でき、以下の中括弧内のステートメントは for ループに属しません。 その実行プロセスを見てみましょう:
for (循环变量赋初值; 循环条件; 循环变量增值) { 语句; }1 2 3 4... 100 の合計を求めるプログラムを作成しましょう。
# include <stdio.h> int main(void) { int i; int sum = 0; //sum的英文意思是“总和” for (i=1; i<=100; ++i) //++是自加的意思, ++i相当于i = i + 1 { sum = sum + i; /*等价于sum += i;但是不建议这么写, 因为sum = sum + i看起来更清楚、更舒服*/ } printf("sum = %d\n", sum); return 0; }出力結果は次のとおりです:
sum = 5050このプログラムの機能は、1 2 3 4... 100 の合計を見つけることです。ループがない場合、1 回の追加には 1 つのステートメントが必要です。 、100 回加算するには 100 個のステートメントが必要です。ここでは 1 から 100 まで加算します。1 から 10000 まで加算すると、10000 ステートメントが必要になります。しかし、ループがあると非常に便利で、パラメーターを 1 つ変更するだけで、必要なだけ追加できます。だから循環が大事なんです。 上記のプログラムがどのように実行されるかを実行プロセスに従って見てみましょう。 1. まずループ変数 i を定義します。定義時に初期値を代入する必要はなく、for ループ内で初期値を代入することもできます。ただし、前述したように、変数を定義するときに初期化するのが最善であり、値が不確かな場合は 0 に初期化します。したがって、プログラムでは i を定義するときに初期値を代入することもでき、その場合、for ループ内の「式 1」は省略できますが、セミコロンは省略できません。 この場合、ステップ 1 は実行中にスキップされ、ステップ 2 に直接進み、他のすべては変更されません。したがって、次のようにプログラムを記述することもできます。
# include <stdio.h> int main(void) { int i = 1; int sum = 0; for (; i<=100; ++i) { sum = sum + i; } printf("sum = %d\n", sum); return 0; }もちろん、式 1 を追加することもできます。最悪の場合、値を再代入する必要があります。 2. 次に、「sum」の格納に使用する変数 sum を定義し、初期値 0 を割り当てて、for ループに入ります。式 1、つまり変数 i に初期値を代入します (i=1)。式 1 は今回のみ実行され、再度実行されることはありません。
for(i=1; i<=100; i)
はfor(i=1; i< 101; i)
, そして、この書き方を試してみることをお勧めします つまり、ループ文のループ条件は、ループ文であっても、可能な限り、半開、半閉として書くべきです。 for ループまたは while ループ。for(i=1; i<101; ++i)
实际上是 1≤i<101
,是半开半闭的;而for(i=1; i<=100; ++i)
实际上是 1≤i≤100
,是全闭的。那么为什么建议使用半开半闭的呢?因为如果写成 i<=100 的话,那么每次判断的时候都要判断两次,即 i<100 和 i==100,而写成 i<101 的话每次只需要判断一次。
下面再给大家写一个程序,求 1 到 100 之间所有奇数的和。
# include <stdio.h> int main(void) { int i; int sum = 0 ; for (i=1; i<100; i+=2) //i+=2;等价于i = i + 2; { sum = sum + i; } printf("sum = %d\n", sum); return 0; }
输出结果是:
sum = 2500
推荐教程:《C视频教程》
以上がC言語のforの使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。