البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while
البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while
حلقة while :
صيغة حلقة while :
فى بداية حلقة while يتم اختبار "تعبير الاختبار" test expression . إذا كان صواب true ، يتم تنفيذ الكود داخل جسم حلقة while اى الكود داخل الأقواس {…} ، ثم يتم إعادة اختبار تعبير الاختبار وتستمؤ العملية حتى يصبح تعبير الاختبار خطأ .
مثال على حلقة while :
كتابة برنامج بلغة السى لإيجاد مضاريب factorial العدد ، حيث يتم إدخال العدد بواسطة المستخدم .
ملحوظة :
صيغة مضاريب العدد :
الخرج :
حلقة do…while :
فى لغة السى ، حلقة do…while مشابهة جدا لحلقة while . فقط الفرق بين الحلقتين هو أنه فى حلقة while يتم اختبار تعبير الاختبار أولا ، ولكن فى حلقة do…while يتم تنفيذ الكود أولا ثم بعد ذلك يتم اختبار الشرط . لذلك ، فإن الكود يتم تنفيذه على الأقل مرة واحدة فى حلقة do…while .
صغة حلقة do…while :
يتم تنفيذ الكود داخل الجسم أولا . بعد ذلك يتم اختبار تعبير الاختبار . إذا كان صواب ، يتم إعادة تنفيذ الكود داخل الجسم مرة أخرى وتستمر العملية حتى يصبح تعبير الاختبار خطأ .
ملحوظة :
توجد فاصلة منقوطة فى نهاية while( ); فى حلقة do…while .
مثال على حلقة do…while :
كتابة برنامج بلغة السى لجمع الإعداد التى يتم إدخالها بواسطة المستخدم حتى يدخل المستخدم صفر (0) .
الخرج :
فى هذا البرنامج يتم سؤال المستخدم لإدخال عدد ويتم إضافته (جمعه) مع المجموع sum . بعد ذلك يتم اختبار الشرط بحلقة do…while . إذا كان اختبار الشرط صواب أى أن num لا يساوى الصفر ، يتم إعادة تنفيذ جسم حلقة do…while حتى يساوى num صفر .
حلقة while :
صيغة حلقة while :
- الكود:
while (test expression)
{
statements to be executed.
}
فى بداية حلقة while يتم اختبار "تعبير الاختبار" test expression . إذا كان صواب true ، يتم تنفيذ الكود داخل جسم حلقة while اى الكود داخل الأقواس {…} ، ثم يتم إعادة اختبار تعبير الاختبار وتستمؤ العملية حتى يصبح تعبير الاختبار خطأ .
مثال على حلقة while :
كتابة برنامج بلغة السى لإيجاد مضاريب factorial العدد ، حيث يتم إدخال العدد بواسطة المستخدم .
ملحوظة :
صيغة مضاريب العدد :
- الكود:
(n= 1*2*3*……*n) .
- الكود:
/*C program to demonstrate the working of while loop*/
#include <stdio.h>
int main(){
int number,factorial;
printf("Enter a number.\n");
scanf("%d",&number);
factorial=1;
while (number>0){ /* while loop continues util test condition number>0 is true */
factorial=factorial*number;
--number;
}
printf("Factorial=%d",factorial);
return 0;
}
الخرج :
- الكود:
Enter a number.
5
Factorial=120
حلقة do…while :
فى لغة السى ، حلقة do…while مشابهة جدا لحلقة while . فقط الفرق بين الحلقتين هو أنه فى حلقة while يتم اختبار تعبير الاختبار أولا ، ولكن فى حلقة do…while يتم تنفيذ الكود أولا ثم بعد ذلك يتم اختبار الشرط . لذلك ، فإن الكود يتم تنفيذه على الأقل مرة واحدة فى حلقة do…while .
صغة حلقة do…while :
- الكود:
do {
some code/s;
}
while (test expression);
يتم تنفيذ الكود داخل الجسم أولا . بعد ذلك يتم اختبار تعبير الاختبار . إذا كان صواب ، يتم إعادة تنفيذ الكود داخل الجسم مرة أخرى وتستمر العملية حتى يصبح تعبير الاختبار خطأ .
ملحوظة :
توجد فاصلة منقوطة فى نهاية while( ); فى حلقة do…while .
مثال على حلقة do…while :
كتابة برنامج بلغة السى لجمع الإعداد التى يتم إدخالها بواسطة المستخدم حتى يدخل المستخدم صفر (0) .
- الكود:
/*C program to demonstrate the working of do...while statement*/
#include <stdio.h>
int main(){
int sum=0,num;
do /* Codes inside the body of do...while loops are at least executed once. */
{
printf("Enter a number\n");
scanf("%d",&num);
sum+=num;
}
while(num!=0);
printf("sum=%d",sum);
return 0;
}
الخرج :
- الكود:
Enter a number
3
Enter a number
-2
Enter a number
0
sum=1
فى هذا البرنامج يتم سؤال المستخدم لإدخال عدد ويتم إضافته (جمعه) مع المجموع sum . بعد ذلك يتم اختبار الشرط بحلقة do…while . إذا كان اختبار الشرط صواب أى أن num لا يساوى الصفر ، يتم إعادة تنفيذ جسم حلقة do…while حتى يساوى num صفر .
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى