أوامر التحكم

يتم تنفيذ السطور بين أقواس الدالة الرئيسية main بترتيب كتابتها . وعند وجود سطور متشابهة يتم العمل بأسلوب أوامر التحكم كالتالى : -
أولا التكرار Loop

1- الدوارة for: تستخدم لتكرار تنفيذ عملية عدد محدد من المرات
الصورة العامة : For ( initial – value ; condition ; increment ) ; statement ;
حيث :
initial – value : هى القيمة الابتدائية
condition : هو شرط إنهاء التكرار
increment : هى قيمة الزيادة الدورية
مثال : برنامج يطبع الأرقام من صفر إلى 9
كود
كود:
:
 	# include < stdio.h > main ( )  { int i ; for ( i = 0 ; i < 10 ; i ++ ) printf ( “ \ n i = % d " , i ) ; }
* تنفيذ أكثر من جملة مع For : لتنفيذ أكثر من جملة لعدد محدد من المرات يجب وضع القوس { فى بداية البلوك المراد تكراره ووضع القوس } فى نهاية البلوك .
مثال : حساب متوسط قائمة من الأعداد
كود:
كود:
# include < stdio.h > / * calculate the average of n numbers * / main ( ) { int n , count ; float x , average , sum = 0 ; / * initialize and read in a value for n * / printf ( " how many numbers ? " ) ; scanf ( " % d " , & n ) ; / * read in the numbers * / for ( count = 1 ; count < = n ; count ++ ) { printf ( “ x = “ ) ; scanf ( “ % f " ; & x ) ; sum + = x ; } / * calculate the average and write out the answer * / average = sum / n ; printf ( " \ n the average is % f \n " , average ) ; }
* الدوارات المتداخلة باستخدام For
نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي



- الدوارات المتداخلة عبارة عن دوارة كبيرة تشتمل بداخلها على دوارة أو أكثر
- بمعنى أن مجموعة التعليمات بالـ loop الداخلى يتم تكرار تنفيذها طالما لم ينته العداد فإذا أنتهى ينتقل التنفيذ إلى الدوارة الخارجية ويتم تكرار التعليمات فى الـ Loop الخارجى حتى ينتهى .
مثال : طباعة جدول الضرب من أول 1 × 1 إلى 12 × 12
كود:
كود: # include < stdio.h > main ( ) { int i , j ; for ( i = 1 ; i < = 12 ; i ++ ) { printf ( “ in ") ; for ( j = i ; j < = 12 ; j ++ ) { printf ( " i * j = % d " , i * j ) ; } }
}

· الدوارة اللانهائية باستخدام For : معناها تكرار تنفيذ الجملة بدون شرط ولا يتوقف التنفيذ حتى يضغط المستخدم CTRL + C وتأخذ الدوارة اللانهائية الصورة For ( ;; )
الدوارة while: تستخدم الدوارة while لتكرار تنفيذ جملة أو مجموعة جمل عدد من المرات غير معلوم العدد ويتوقف هذا على شرط موجود بالدوارة
الصورة العامة :
· يتم تكرار مجموعة الأوامر بين الأقواس { } عدد من المرات يتوقف على الشرط بين الأقواس ( )
· عندما يصبح الشرط . False يتوقف تنفيذ هذه الأوامر ويستمر أداء باقى البرنامج .
· التكرار يكون صفرا حينما يكون الشرط False من البداية
تمرين : تعديل برنامج حساب متوسط قائمة من الأعداد باستخدام While
كود:
كود:
 	# include < stdio.h > main ( )  { int n , count = 1  ; float x , average , sum = 0 ; printf ( “ how many number ? " ) ; scanf ( “ % d , & n ) ; while ( count < = n ) ; { printf ( “ x = ") ; scanf ( “ % f " , & x ) ; sum + = x ; count ++; } average = sum / n ; printf ( " \ n the average is % f " ; average ) ; }
* ملاحظات على For و While *
- الـ For دوارة عددية حيث تعتمد على العداد ويتنهى التكرار فيها بانتهاء عدد مرات التكرار
- أما الدوارة while فدوارة شرطية أى تعتمد على الشرط الذى يلى الأمر while حيث تتكرار الجمل التى تليها طالما كان الشرط صحيحا
3- الدوارة Do … while : تستخدم do while لتكرار تنفيذ جملة أو مجموعة جمل أكثر من مرة بناء على شرط معين . أى يتم تنفيذ الجمل التالية لـ Do ثم تختبر الشرط فإذا كان صحيحا تعيد التنفيذ وإلا توقف التكرار
إذن يتم التنفيذ مرة واحد على الأقل ثم يتم اختبار الشرط المنطقى ( ) فإذا كان True ينفذ مرة أخرى وإذا كان False يتوقف التكرار ويستمر تنفيذ البرنامج الأصلى
تمرين : إيجاد مجموع الأرقام من 0 إلى 9
كود
كود:
:
 	# include < stdio.h > main ( )  { int count = 0  ; int total = 0  ; do { total + = count ;  printf ( “ count = % d , total = % d \ n “ , count ++ , total )  " ) ; } while ( count < = 10 ) ; }