工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C goto ステートメント

C goto ステートメント

このチュートリアルでは、C プログラミングで goto ステートメントを作成する方法を学習します。また、goto ステートメントを使用する場合と使用しない場合についても学習します。

goto このステートメントにより、プログラムの制御を指定された label に移すことができます .


goto ステートメントの構文

goto label;
... .. ...
... .. ...
label: 
statement;

ラベル 識別子です。 goto のとき ステートメントが検出されると、プログラムの制御は label: にジャンプします コードの実行を開始します。

<図>

例:goto ステートメント

// Program to calculate the sum and average of positive numbers
// If the user enters a negative number, the sum and average are displayed.

#include <stdio.h>

int main() {

   const int maxInput = 100;
   int i;
   double number, average, sum = 0.0;

   for (i = 1; i <= maxInput; ++i) {
      printf("%d. Enter a number: ", i);
      scanf("%lf", &number);
      
      // go to jump if the user enters a negative number
      if (number < 0.0) {
         goto jump;
      }
      sum += number;
   }

jump:
   average = sum / (i - 1);
   printf("Sum = %.2f\n", sum);
   printf("Average = %.2f", average);

   return 0;
}

出力

1. Enter a number: 3
2. Enter a number: 4.3
3. Enter a number: 9.3
4. Enter a number: -2.9
Sum = 16.60
Average = 5.53

goto を避ける理由

goto の使用 ステートメントは、バグが多く、従うのが難しいコードにつながる可能性があります。たとえば、

one:
for (i = 0; i < number; ++i)
{
    test += i;
    goto two;
}
two: 
if (test > 5) {
  goto three;
}
... .. ...

また、goto ステートメントを使用すると、スコープから飛び出すなどの悪いことを実行できます。

そうは言っても、goto 時々役立つことがあります。例:ネストされたループから抜け出すため。


goto を使用する必要がありますか?

goto の使用を考えている場合 ステートメントを使用すると、プログラムが簡素化され、使用できます。そうは言っても、goto goto を使用しなくても C プログラムを作成できます。

これは、C++ の作成者である Bjarne Stroustrup からの引用です。「'goto' は何でもできるという事実こそが、私たちがそれを使用しない理由です。」


C言語

  1. ブザー
  2. C# if, if...else, if...else if およびネストされた if ステートメント
  3. C# switch ステートメント
  4. C# break ステートメント
  5. C# 継続ステートメント
  6. C++ の if、if...else およびネストされた if...else
  7. C++ break ステートメント
  8. Python pass ステートメント
  9. C - 基本構文
  10. Python-数字
  11. 部品番号とは?