Menu Close

C语言goto语句

goto 语句是一种无条件转移语句, 与 BASIC 中的 goto 语句相似。

goto 语句的使用格式为:

goto 语句标号;

其中标号是一个有效的标识符, 这个标识符加上一个“:”一起出现在函数内某处, 执行goto 语句后, 程序将跳转到该标号处并执行其后的语句。

另外标号必须与 goto 语句同处于一个函数中, 但可以不在一个循环层中。通常 goto 语句与 if 条件语句连用, 当满足某一条件时, 程序跳到标号处运行。

goto 语句通常不用,主要因为它将使程序层次不清, 且不易读,但在多层嵌套退出时, 用 goto 语句则比较合理。

我们不要求学生使用goto语句,但是能够看懂别人写的程序。

例1.计算1-100数字之和

main() 
{ 
      int i,sum=0; 
      i=1; 
loop: if(i<=100) 
    {
    sum=sum+i; 
    i++; 
    goto loop;
   } 
   printf("%d\n",sum); 
}

如果用For 循环语句,很快就解决了这个问题。

例2. for循环计算1-100数字之和

main()
{
   int i, sum=0;
    for (i = 1; i <=100; i++ )
    {
      sum=sum+i;
    }
   printf("%d\n", sum);
}

例3.计算出用户输入数字之和

// 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
READ  什么是补码?二进制补码的表达
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in C语言教程

Related Posts