سلسلة تعلم البرمجة بلغة 
C / C++ - 2 
إعداد وتقديم 
أ. بندر المجلاد
أحرف البدل التي تستخدم مع الإجراء 
printf 
• ماهي أحرف البدل ؟ 
هي ما يحجز مكاناً داخل النص لتضع قيمة المتغيرات فيه. 
الحرف يستخدم لطباعة. 
الحرف 
ي 
ستخدم لطباعة 
%d 
عدد عشري صحيح 
%i 
%c 
حرف أبجدي واحد 
%s 
مجموعة من الأحرف string 
%f 
عدد ذو علامة عائمة 
%x 
عدد سداس عشري )هيكسا ديسيمل( 
%o 
عدد ثماني Octal
مثال على استخدام حروف البدل 
#include <stdio.h> 
void main(void) 
{ 
char string[]="Testing"; 
int count; 
for(count=1; count <= 10; count++) 
printf("%-10s:%2dn", string, count); 
/* 
عبارة برنت أف تطبع الحروف الموجودة في المتغير سترينج 
وبجوارها الرقم الموجود في المتغير كاونت 
- 10 تحدد عرض الحروف من أجل التنسيق وعلامة الناقص 
حتى يكون التنسيق من جهة اليسار فلو تركناه على الوضع 
الإفتراضي بدون إشارة السالب فإن التنسيق سيكون من 
ناحية اليمين. 
*/ 
}
تذكر 
الإجررررا strlen : يستتتتخدم للحصتتتول علتتتى عتتتدد الحتتتروف 
أو قياس الطول في المتغيرات. 
التعليقرا comments : عبتارات توضتيحية يضت ها المبترمج 
لتوضتتيح أجتتزاي م ينتتة متتن البرنتتامجة وهتتي م يتتدة للتتتذكير 
ولتقستتيم ال متتل علتتى مجموعتتة متتن المبتترمجين فتتي برنتتامج 
واحدة وهي اختيارية وليست اجبارية ل مل البرنامج. 
التوجيها directives : عبارة عتن أوامتر تصتدرها للمتترجم 
ليقتتوم بتضتتمين مل تتات م ينتتة إلتتى الملتتف الحتتالي للبرنتتامج 
أو لاستبدال اسماي الثوابت بقيمها الم ينة أو غير ذلك. 
العبارا statements : 
نوعان 
أ- العبارا الإعلانية أو البيانية: وهي لت يين القيم 
أو الإعلان عن المتغيرات ونحو ذلك. 
ب- العبررررررارا الوأي يررررررة أو التن ي يررررررة: لتن يتتتتتتذ و ي تتتتتتة 
أو عمل ما. 
وأن جميع ال بارات لا بد أن تنتهي ب اصلة منقوطة.
تذكر 
الإجرا ا أو الدوال a function : 
الإجراي الرئيسي المكتوب في برنامج السي هو الإجراي 
main وهو الإجراي الذي يبدأ منه البرنامج بشكل دائمة 
مهما كان مكانه في الملف المصدر. 
والإجراي : هو عبارة عن مجموعة من الأوامر يتم تغلي ها 
كوحدة مستقلة من البرنامج ليقوم ب مل م ين أو و ي ة 
محددةة ويمكن استدعايه أو طلبه من أي مكان في 
البرنامجة وتستطيع تكرار طلبه بالقدر الذي تريده أو تقوم 
بتحديده. 
المتغيرا variables : 
هي عبارة عن مكان في ذاكرة الجهازة يستخدم لتخزين 
البيانات أو الم لوماتة وسميت متغيرات لإمكانية تغيير 
قيمها أثناي سير البرنامج. والمتغيرات عدة أنواع منها 
ال ددية ومنها الحرفية. 
0 = false : 
في لغة سي ي تبر الص ر قيمة خاطئة false وأن أي قيمة 
أخرى ت تبر صحيحة true .
القراءة من لوحة المفاتيح 
قرا ة حرف واحد: 
- الإجراي getchar 
- الإجراي getche 
- الإجراي getch 
قرا ة مجموعة من الأحرف: 
- الإجراي gets 
لتستخدم هذا الإجراي مرر له مص وفة حروف مثلا 
بهذا الشكل : 
char string[80]; 
gets(string);
/* 
Copyright: http://bndralmjlad.wordpress.com/ 
Author: bndr.almjlad 
Date: 16/04/14 00:52 
Description: مثال على الإجراي getchar ة يقوم بطباعة 
رقم الحرف في جدول الآسكي 
/* 
#include <stdio.h> 
void main(void) 
{ 
char ch; 
printf(“Write any character:"); 
ch = getchar(); 
printf("you entered: %c ASCII No: %d.n", ch, ch ); 
system("PAUSE"); 
} 
مثال على الإجراء getchar
مثال على استخدام getch و getche 
// لاح أن هذين الإجرايين غير متوافقين مع مكتبة 
QuickWin 
#include <stdio.h> 
#include <conio.h> // لازم ل مل الإجرايين 
void main(void) 
{ 
char ch; 
printf("please type a letter: "); 
ch = getch(); 
printf("nyou typed:%ctASCII No:%d.nn",ch,ch); 
printf("please type another letter: "); 
ch = getche(); 
printf("nyou typed:%ctASCII No:%d.n",ch,ch); 
system("PAUSE"); 
}
gets ءارجلإا مادختسا ىلع لاثم 
#include <stdio.h> 
void main(void) 
{ 
char string[80]; 
printf("Enter a string of characters: "); 
gets( string ); 
printf("you entered: nn%snn", string); 
printf("which contains %d characters.n", strlen(string) ); 
system("PAUSE"); 
}
القراءة من لوحة المفاتيح- 2 
الإجرا scanf : 
يتيح لك هذا الإجراي مرونة كبيرة حيث 
يمكنك من قراية حرف واحد أو مجموعة 
حروف أو أعداد صحيحة أو غيرها . 
مثلا: 
int num; 
scanf("%d", &num); 
المعامل & : 
يستخدم للحصول على عنوان المتغير في 
الذاكرة.
مثال 1 على الإجراء scanf 
#include <stdio.h> 
void main(void) 
{ char string[80]; 
int num; 
char ch; 
printf("Enter a string of characters: "); 
scanf("%s", string); 
fflush(stdin); 
printf("Enter a number: "); 
scanf("%d", &num); 
fflush(stdin); 
printf("Enter a single character: "); 
scanf("%c", &ch); 
printf("nnThe string was: %sn", string); 
printf("The number was: %dn", num); 
printf("The character was: %cn", ch); 
system("PAUSE"); }
مثال 2 على الإجراء scanf 
#include <stdio.h> 
void main(void) 
{ 
int day, month, year; 
printf("Enter your birthday (dd/mm/year): "); 
scanf("%d/%d/%d", &day, &month, &year ); 
printf("nThe year was: %d.n", year); 
printf("The month was: %d.n", month); 
printf("The day was: %d.n", day); 
system("PAUSE"); 
}
القراءة من لوحة المفاتيح- 3 
• رغم أن الإجراي scanf يستخدم لقراية مجموعة من 
الحروفة إلا أنه يتطلب أن تكون الحروف التي تدخلها 
متصلة ولا ت صل بينها بحرف المسافةة فهو ي تبر المسافة 
حرفا فاصلا فيتوقف عن قراية ما ب دها. فيترك الأحرف 
المتبقية التي ربما يكتبها المستخدم ب د المسافة في الذاكرة 
الوسيطة الخاصة بلوحة الم اتيح buffer ة لذلك يستخدم 
الأجراي fflush(stdin); الذي يقوم بإفراغ الذاكرة 
الوسيطة. 
• يمكن استخدام الإجراي scanf لقراية عدة بيانات في عبارة 
واحدةة مثلا: 
scanf("%d/%d/%d", &day,&month,&year); 
• ملاح ة: للتأكد من أن scanf قام بالمطلوب منه نستخدم 
ب دها printf ليطبع كل قيمة على حدة.
بنى التحكم 
التركيبات الشرطية 
conditional structures 
تقوم بتن يذ جزي م ين من البرنامج إذا تحقق شرط ما. فإذا 
لم يتحقق الشرطة فإنك تتخطى هذا الجزي. 
ما هو الشرط؟ 
الشرط condition : هو أن تختبر قيمتين لتحدد علاقة 
أحدهما بالآخر. 
الصيغة العامة للتركيب الشرطي: 
إذا كان الشرط صحيحاً ن ذ 
الناتج = (الشرط ) ? الاختيار الأول : الاختيار الثاني ; 
result = (condition) ? var1 : var2 ; 
إذا كان الشرط خاطئاً ن ذ
بنى التحكم 
التركيبات الشرطية 
conditional structures 
مثال على التركيب الشرطي // 
#include <stdio.h> 
void main(void) 
{ 
int num1, num2, max; 
do 
{ 
printf("nEnter two numbers: "); 
scanf("%d %d", &num1, &num2); 
max = (num1 > num2) ? num1 : num2; 
printf("nThe number: [%d] is greater.", max); 
} while (num1 != 0); 
system("PAUSE"); 
}
التركيب if 
وهو أيضا من التركيبات الشرطية المشهورة جدا في 
عالم البرمجة وفي جميع اللغات البرمجية. 
الصيغة العامة للتركيب if : 
إذا تحقق الشرط فإن البرنامج ين ذ عبارات if ة أما إذا كان 
الشرط خاطئاً فإن البرنامج يتجاهل عبارات if وينتقل حينها 
إلى ما ب دها من عبارات البرنامج. 
بنى التحكم 
التركيبات الشرطية 
conditional structures 
if (condition) 
{ 
statements ; 
عبارة واحدة أو أكثر 
}
التركيب if 
الهيكل الخوارزمي للتركيب if : 
بنى التحكم 
البداية 
هل الشرط 
صحيح ؟ 
ن عبارا if 
ن باقي عبارا البرنامج 
نعم 
لا 
النهاية
#include <stdio.h> 
void main(void) 
{ 
int num; 
printf("Please Enter A Number: "); 
scanf("%d", &num); 
if(num == 12) 
printf("You enter the magic number: 12.n"); 
system("PAUSE"); 
} 
بنى التحكم 
التركيب if 
مثال على التركيب if

سلسلة تعلم البرمجة بلغة C / C++ - 2

  • 1.
    سلسلة تعلم البرمجةبلغة C / C++ - 2 إعداد وتقديم أ. بندر المجلاد
  • 2.
    أحرف البدل التيتستخدم مع الإجراء printf • ماهي أحرف البدل ؟ هي ما يحجز مكاناً داخل النص لتضع قيمة المتغيرات فيه. الحرف يستخدم لطباعة. الحرف ي ستخدم لطباعة %d عدد عشري صحيح %i %c حرف أبجدي واحد %s مجموعة من الأحرف string %f عدد ذو علامة عائمة %x عدد سداس عشري )هيكسا ديسيمل( %o عدد ثماني Octal
  • 3.
    مثال على استخدامحروف البدل #include <stdio.h> void main(void) { char string[]="Testing"; int count; for(count=1; count <= 10; count++) printf("%-10s:%2dn", string, count); /* عبارة برنت أف تطبع الحروف الموجودة في المتغير سترينج وبجوارها الرقم الموجود في المتغير كاونت - 10 تحدد عرض الحروف من أجل التنسيق وعلامة الناقص حتى يكون التنسيق من جهة اليسار فلو تركناه على الوضع الإفتراضي بدون إشارة السالب فإن التنسيق سيكون من ناحية اليمين. */ }
  • 4.
    تذكر الإجررررا strlen: يستتتتخدم للحصتتتول علتتتى عتتتدد الحتتتروف أو قياس الطول في المتغيرات. التعليقرا comments : عبتارات توضتيحية يضت ها المبترمج لتوضتتيح أجتتزاي م ينتتة متتن البرنتتامجة وهتتي م يتتدة للتتتذكير ولتقستتيم ال متتل علتتى مجموعتتة متتن المبتترمجين فتتي برنتتامج واحدة وهي اختيارية وليست اجبارية ل مل البرنامج. التوجيها directives : عبارة عتن أوامتر تصتدرها للمتترجم ليقتتوم بتضتتمين مل تتات م ينتتة إلتتى الملتتف الحتتالي للبرنتتامج أو لاستبدال اسماي الثوابت بقيمها الم ينة أو غير ذلك. العبارا statements : نوعان أ- العبارا الإعلانية أو البيانية: وهي لت يين القيم أو الإعلان عن المتغيرات ونحو ذلك. ب- العبررررررارا الوأي يررررررة أو التن ي يررررررة: لتن يتتتتتتذ و ي تتتتتتة أو عمل ما. وأن جميع ال بارات لا بد أن تنتهي ب اصلة منقوطة.
  • 5.
    تذكر الإجرا اأو الدوال a function : الإجراي الرئيسي المكتوب في برنامج السي هو الإجراي main وهو الإجراي الذي يبدأ منه البرنامج بشكل دائمة مهما كان مكانه في الملف المصدر. والإجراي : هو عبارة عن مجموعة من الأوامر يتم تغلي ها كوحدة مستقلة من البرنامج ليقوم ب مل م ين أو و ي ة محددةة ويمكن استدعايه أو طلبه من أي مكان في البرنامجة وتستطيع تكرار طلبه بالقدر الذي تريده أو تقوم بتحديده. المتغيرا variables : هي عبارة عن مكان في ذاكرة الجهازة يستخدم لتخزين البيانات أو الم لوماتة وسميت متغيرات لإمكانية تغيير قيمها أثناي سير البرنامج. والمتغيرات عدة أنواع منها ال ددية ومنها الحرفية. 0 = false : في لغة سي ي تبر الص ر قيمة خاطئة false وأن أي قيمة أخرى ت تبر صحيحة true .
  • 6.
    القراءة من لوحةالمفاتيح قرا ة حرف واحد: - الإجراي getchar - الإجراي getche - الإجراي getch قرا ة مجموعة من الأحرف: - الإجراي gets لتستخدم هذا الإجراي مرر له مص وفة حروف مثلا بهذا الشكل : char string[80]; gets(string);
  • 7.
    /* Copyright: http://bndralmjlad.wordpress.com/ Author: bndr.almjlad Date: 16/04/14 00:52 Description: مثال على الإجراي getchar ة يقوم بطباعة رقم الحرف في جدول الآسكي /* #include <stdio.h> void main(void) { char ch; printf(“Write any character:"); ch = getchar(); printf("you entered: %c ASCII No: %d.n", ch, ch ); system("PAUSE"); } مثال على الإجراء getchar
  • 8.
    مثال على استخدامgetch و getche // لاح أن هذين الإجرايين غير متوافقين مع مكتبة QuickWin #include <stdio.h> #include <conio.h> // لازم ل مل الإجرايين void main(void) { char ch; printf("please type a letter: "); ch = getch(); printf("nyou typed:%ctASCII No:%d.nn",ch,ch); printf("please type another letter: "); ch = getche(); printf("nyou typed:%ctASCII No:%d.n",ch,ch); system("PAUSE"); }
  • 9.
    gets ءارجلإا مادختساىلع لاثم #include <stdio.h> void main(void) { char string[80]; printf("Enter a string of characters: "); gets( string ); printf("you entered: nn%snn", string); printf("which contains %d characters.n", strlen(string) ); system("PAUSE"); }
  • 10.
    القراءة من لوحةالمفاتيح- 2 الإجرا scanf : يتيح لك هذا الإجراي مرونة كبيرة حيث يمكنك من قراية حرف واحد أو مجموعة حروف أو أعداد صحيحة أو غيرها . مثلا: int num; scanf("%d", &num); المعامل & : يستخدم للحصول على عنوان المتغير في الذاكرة.
  • 11.
    مثال 1 علىالإجراء scanf #include <stdio.h> void main(void) { char string[80]; int num; char ch; printf("Enter a string of characters: "); scanf("%s", string); fflush(stdin); printf("Enter a number: "); scanf("%d", &num); fflush(stdin); printf("Enter a single character: "); scanf("%c", &ch); printf("nnThe string was: %sn", string); printf("The number was: %dn", num); printf("The character was: %cn", ch); system("PAUSE"); }
  • 12.
    مثال 2 علىالإجراء scanf #include <stdio.h> void main(void) { int day, month, year; printf("Enter your birthday (dd/mm/year): "); scanf("%d/%d/%d", &day, &month, &year ); printf("nThe year was: %d.n", year); printf("The month was: %d.n", month); printf("The day was: %d.n", day); system("PAUSE"); }
  • 13.
    القراءة من لوحةالمفاتيح- 3 • رغم أن الإجراي scanf يستخدم لقراية مجموعة من الحروفة إلا أنه يتطلب أن تكون الحروف التي تدخلها متصلة ولا ت صل بينها بحرف المسافةة فهو ي تبر المسافة حرفا فاصلا فيتوقف عن قراية ما ب دها. فيترك الأحرف المتبقية التي ربما يكتبها المستخدم ب د المسافة في الذاكرة الوسيطة الخاصة بلوحة الم اتيح buffer ة لذلك يستخدم الأجراي fflush(stdin); الذي يقوم بإفراغ الذاكرة الوسيطة. • يمكن استخدام الإجراي scanf لقراية عدة بيانات في عبارة واحدةة مثلا: scanf("%d/%d/%d", &day,&month,&year); • ملاح ة: للتأكد من أن scanf قام بالمطلوب منه نستخدم ب دها printf ليطبع كل قيمة على حدة.
  • 14.
    بنى التحكم التركيباتالشرطية conditional structures تقوم بتن يذ جزي م ين من البرنامج إذا تحقق شرط ما. فإذا لم يتحقق الشرطة فإنك تتخطى هذا الجزي. ما هو الشرط؟ الشرط condition : هو أن تختبر قيمتين لتحدد علاقة أحدهما بالآخر. الصيغة العامة للتركيب الشرطي: إذا كان الشرط صحيحاً ن ذ الناتج = (الشرط ) ? الاختيار الأول : الاختيار الثاني ; result = (condition) ? var1 : var2 ; إذا كان الشرط خاطئاً ن ذ
  • 15.
    بنى التحكم التركيباتالشرطية conditional structures مثال على التركيب الشرطي // #include <stdio.h> void main(void) { int num1, num2, max; do { printf("nEnter two numbers: "); scanf("%d %d", &num1, &num2); max = (num1 > num2) ? num1 : num2; printf("nThe number: [%d] is greater.", max); } while (num1 != 0); system("PAUSE"); }
  • 16.
    التركيب if وهوأيضا من التركيبات الشرطية المشهورة جدا في عالم البرمجة وفي جميع اللغات البرمجية. الصيغة العامة للتركيب if : إذا تحقق الشرط فإن البرنامج ين ذ عبارات if ة أما إذا كان الشرط خاطئاً فإن البرنامج يتجاهل عبارات if وينتقل حينها إلى ما ب دها من عبارات البرنامج. بنى التحكم التركيبات الشرطية conditional structures if (condition) { statements ; عبارة واحدة أو أكثر }
  • 17.
    التركيب if الهيكلالخوارزمي للتركيب if : بنى التحكم البداية هل الشرط صحيح ؟ ن عبارا if ن باقي عبارا البرنامج نعم لا النهاية
  • 18.
    #include <stdio.h> voidmain(void) { int num; printf("Please Enter A Number: "); scanf("%d", &num); if(num == 12) printf("You enter the magic number: 12.n"); system("PAUSE"); } بنى التحكم التركيب if مثال على التركيب if