English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس أساسية بلغة C

تحكم في تدفق لغة C

الوظائف في لغة C

العدد في لغة C

الإشارات في لغة C

النصوص في لغة C

هيكل لغة C

ملفات لغة C

C أخرى

دليل مرجعي لغة C

استخدام goto في لغة C

في هذا الدرس، ستتعلم كيفية إنشاء جملة goto في لغة C. بالإضافة إلى ذلك، ستتعلم أيضًا متى تستخدم جملة goto وأيضًا متى لا تستخدمها.

جملة goto تسمح لنا بنقل تحكم البرنامج إلى وسم معين.

نحو جملة goto

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

label هو وسم. عند وصول goto إلى هذه الجملة، ينتقل التحكم في البرنامج إلى label: ويبدأ تنفيذ الكود.

مثال: جملة goto

//برنامج يحسب مجموع الأرقام الإيجابية
//إذا كان الرقم المدخل هو سالب، فاعرض الجملة والوسط الحسابي.
#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. إدخال الرقم: ", i);
      scanf("%lf", &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. إدخال الرقم: 3
2. إدخال الرقم: 4.3
3. إدخال الرقم: 9.3
4. إدخال الرقم: -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 أقل استخدامه، يمكنك أيضًا إنشاء أي برنامج C دون استخدام أي جملة goto.

هذه كلمات Bjarne Stroustrup، مبتكر C++الحقائق التي تجعل 'goto' قادرًا على القيام بكل شيء، هي السبب في أننا لا نستخدمه.