English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، ستتعلم كيفية إنشاء الدوائرwhile وdo ... while في لغة البرمجة C باستخدام أمثلة.
في البرمجة، تستخدم الدوائر لتحقيق تكرار الكود حتى يتم تحقيق شرط معين.
يملك لغة البرمجة C ثلاثة أنواع من الدوائر.
دائرةwhile
دائرةdo... while
في الدرس السابق، تعرفنا على الدائرةfor. في هذا الدرس، سنتعلم الدائرةwhile وdo..while.
تكون جملة الدائرةwhile كالتالي:
while (testExpression) { // تعليمات الدائرة }
تقوم الدائرةwhile بحساب تعبير الاختبار (testExpression) الموجود في البارtheses.
إذا كان تعبير الاختبار (testExpression) صحيحًا، يتم تنفيذ التعليمات في جسم الدائرةwhile. بعد ذلك، يتم تقييم تعبير الاختبار (testExpression) مرة أخرى.
يستمر هذا العمل حتى يتم تقييم تعبير التحقق (testExpression) كخطأ.
إذا كان تعبير التحقق خطأ (false)، تنتهي الدورة (تنتهي).
للحصول على معلومات إضافية حول تعبير التحقق (عندما يتم تقييم تعبير التحقق كصحيح أو خطأ)، يرجى الرجوع إلىعلاقيةعملياتوعوامل منطقية.
// طباعة الأرقام من 1 إلى 5 #include <stdio.h> int main() { int i = 1; while (i <= 5) { printf("%d\n", i); ++i; } return 0; }
النتيجة الصادرة
1 2 3 4 5
في هذا السياق، قمنا بتهيئة i إلى 1.
عندما يكون i يساوي 1، يصبح تعبير التحقق i <= 5 صحيحًا. لذا، سيتم تنفيذ جسم الدورة. سيتم طباعة 1 على الشاشة، وزيادة قيمة i إلى 2.
الآن i هو 2، يصبح تعبير التحقق i <= 5 صحيحًا مرة أخرى. سيتم تنفيذ جسم الدورة مرة أخرى. سيتم طباعة 2 على الشاشة، وزيادة قيمة i إلى 3.
يستمر هذا العمل حتى يصبح i يساوي 6، عند ذلك يصبح تعبير التحقق i <= 5 خطأ، وتنتهي الدورة.
تشبه دورة do..while دورة while، لكن هناك فرقًا هامًا.يجب تنفيذ جسم دورة do...while على الأقل مرة. يتم تقييم تعبير التحقق بعد تنفيذ الجسم مرة واحدة.
جملة دورة do...while هي:
do { // جمل الدورة } while (testExpression);
يتم تنفيذ جسم دورة do ... while مرة واحدة.
إذا كان تعبير التحقق (testExpression) صحيحًا، يتم تنفيذ جسم الدورة مرة أخرى وتقييم تعبير التحقق (testExpression).
يستمر هذا العمل حتى يصبح تعبير التحقق خطأ.
إذا كان تعبير التحقق صحيحًا، تنتهي الدورة.
// يضيف البرنامج الأرقام حتى يتم إدخال صفر المستخدم #include <stdio.h> int main() { double number, sum = 0; // الجسم الدائري يجب تنفيذه على الأقل مرة do { printf("ادخل رقم: "); scanf("%lf", &number); sum += number; } بينما (number != 0.0); printf("الإجمالي = %.2lf",sum); return 0; }
النتيجة الصادرة
أدخل عددًا: 1.5 أدخل عددًا: 2.4 أدخل عددًا: -3.4 أدخل عددًا: 4.2 أدخل عددًا: 0 الإجمالي = 4.70