الاستمرار في التعلم استخدام العبارات الشرطية استخدام الدوال الاستعداد الحلقات التكرارية استخدام المتغيرات
هذا المقال يهتم بالأساسيات فقط، حيث لم نتحدث عن أكثر من الشكل السطحي للبرمجة بلغة C والمعرفة المتعلقة بذلك. استخدام كتاب مرجعي للغة سوف يساعدك بشكل أكبر على التعلم وحل المشاكل التي تمر بها ويوفر عليك الكثير من الجهد والعناء أثناء سعيك للعمل والتعلم. هناك العديد من المجتمعات، سواء كانت عبر الإنترنت أو في العالم الحقيقي، المختصة بالبرمجة وكل لغات البرمجة المتعلقة. حاول أن تصل إلى مجموعة من المبرمجين أصحاب العقلية المشابهة لك، حيث تتبادل معهم الأفكار والأكواد التي تقوم بكتابتها. ستجد أنك تتعلم الكثير من الأشياء بمرور الوقت.   حضور مؤتمرات الهاكاثون. الهاكاثون هو حدث يجتمع فيه مبرمجي الكمبيوتر وغيرهم، بغرض تطوير البرمجيات. يشارك في هذه المناسبات الأفراد والفرق المعنية بالعمل على الحلول البرمجية المختلفة، كما يحتوى في أغلب الأحيان على الكثير من الأفكار الخلاقة والإبداعية. يمكنك أن تقابل وتتعرف من خلاله على الكثير من المبرمجين. يتم تنظيم هذه المؤتمرات بشكل منتظم حول العالم وفي مختلف المدن. لست مضطرًا إلى العودة إلى المدرسة أو الالتحاق بكلية لعلوم الكمبيوتر، يمكنك فقط أن تحضر القليل من الدورات التدريبية. سيثري ذلك خبرتك ومعرفتك بشكل أقصى مما تتخيل. لا شيء يتفوق على التدريب العملي سوف الحصول على المساعدة من الأشخاص أصحاب الدراية العالية باللغة. يمكنك أن تبحث عن هذه الدورات في مراكز التدريب المحلية، أو من خلال الجامعات التي تسمح بالحضور كمستمع في البرامج التعليمية التي تنظمها، دون الحاجة إلى تسجيل اسمك بشكل رسمي. ما أن تفهم لغة C بشكل كافي، سيكون من الجيد أن تبدأ في تعلم لغة C++. إنها النسخة الأحدث من لغة C، وتتيح لك المزيد من الخيارات المرنة والحديثة. تم تصميم لغة C++ مع الوضع في الاعتبار المعالجة الأمثل الكائنات Objects، حيث تتيح لك معرفة لغة C++ أن تقوم بعمل برامج قوية وفعالة، تقريبًا لكل أنظمة التشغيل. العبارات الشرطية هي ما يحرك غالبية البرامج. إنها العبارات التي تحدد ما إذا كانت الحالة صحيحة أم خاطئة، وبناءًا على هذه النتيجة يتحرك البرنامج وينتقل إلى نقطة تالية. أشهر هذه العبارات هي  if.        كون العبارة "صحيحة TRUE" أم "خاطئة FALSE" يعمل في لغة C بطريقة مختلفة عن المعتاد. العبارات الصحيحة تنتهى دائمًا بقيمة مساوية لعدد غير صفري. عندما تقوم بعمل مقارنة، إذا كانت النتيجة "صحيحة TRUE" فإن "1" هو القيمة المعادة. إذا كانت النتيجة "خاطئة FALSE"، فإن "0" هو القيمة المعادة. فهم ذلك سوف يساعدك على معرفة كيفية عمل العبارة IF. الجمل الشرطية تدور حول استخدام العوامل الرياضية التي تقوم بمقارنة القيم. القائمة التالية تضم أشهر العوامل الشرطية المستخدمة.    >   /* greater than أكبر من*/ <   /* less than أصغر من*/ >=  /* greater than or equal to أكبر من أو يساوي*/ <=  /* less than or equal to أصغر من أو يساوي */ ==  /* equal to يساوي */ !=  /* not equal to لا يساوي */     10 > 5 TRUE 6 < 15 TRUE 8 >= 8 TRUE 4 <= 8 TRUE 3 == 3 TRUE 4 != 5 TRUE يمكنك أن تستخدم جمل IF من أجل تحديد ما الذي يجب أن يقوم به البرنامج في الخطوة التالية، بعد أن يتم تقييم الجملة. يمكنك أن تدمجها مع الجمل الشرطية الأخرى من أجل توفير خيارات متعددة قوية، ولكن الآن سوف نتعرف على كيفية كتابة جملة IF في أبسط صورها، بحيث تتعرف على شكلها وتعتاد عليه.   #include <stdio.h>  int main() {   if ( 3 < 5 )     printf( "3 is less than 5");     getchar(); } يمكنك أن تستغل هذه الجمل في توسيع الخيارات المتاحة بحسب الحالة الشرطية، حيث يمكنك استخدام ELSE و ELSE IF أن تخلق مساحة لنتائج أخرى مختلفة. جملة ELSE تعمل إذا كانت جملة IF غير صحيحة "FALSE". وجملة ELSE IF تتيح لك أن تستخدم جمل IF متعددة في نفس الجزء من الكود من أجل معالجة حالات مختلفة. اطلع على المثال التالي لمعرفة كيفية عملهم.    #include <stdio.h>  int main() {   int age;    printf( "Please enter your current age: " );   scanf( "%d", &age );   if ( age <= 12 ) {     printf( "You're just a kid!\n" );   }   else if ( age < 20 ) {     printf( "Being a teenager is pretty great!\n" );   }   else if ( age < 40 ) {     printf( "You're still young at heart!\n" );   }   else {     printf( "With age comes wisdom.\n" );   }   return 0; }    يقوم البرنامج بأخذ قيمة مدخلة من المستخدم، ثم يذهب بها إلى جملة IF. إذا كان الرقم مناسبًا للجملة الأولى، فيتم القيام بالأمر printf  الأول. إذا كان الرقم غير متوافق مع جملة المقارنة الأولى، فينتقل البرنامج إلى جمل ELSE IF الأخرى بالترتيب، حتى يصل إلى أول جملة منهم تعيد قيمة TRUE، ويقوم بتنفيذ الأمر بداخلها. إذا لم يتوافق مع أي من هذه الجمل على الإطلاق، يقوم في النهاية بتنفيذ الأمر بداخل الجملة ELSE. الدوال تكون أجزاءًا مستقلة من الأكواد، يتم استدعائها بواسطة أجزاء أخرى من البرنامج. إنها تساعد في تسهيل عملية تكرار الأكواد، وتسهل من عملية قراءة والتعديل على البرنامج. يمكن أن تحتوى الدوال على كل الأساليب السابق ذكرها في هذا المقال، والمزيد من الدوال والوظائف الأخرى كذلك.        سطر  main() في بداية كل البرامج والأمثلة السابقة هو دالة، وكذلك  getchar().  استخدام الدوال أمر بالغ الأهمية والفاعلية من أجل تسهيل عملية قراءة الكود. الاستعمال الصحيح للدوال يساعد في تبسيط شكل برنامجك يتم صناعة الدوال بطريقة صحيحة عندما تقوم أولًا بوضع الإطار الرئيسي لها، قبل البدء المباشر في الكتابة البرمجية. التركيب الأساسي لجملة الدوال هو "return_type name ( argument1, argument2, etc.);" على سبيل المثال، لإنشاء دالة تقوم بجمع رقمين:     int add ( int x, int y );    ستقوم الدالة السابقة بجمع رقمين صحيحين ( x و y ) ثم ستعيد ناتج الجمع على هيئة رقم صحيح. يمكنك أن تستخدم هذه الدالة في صناعة برنامج يأخذ عددين صحيحين يقوم المستخدم بإدخالهما، ثم يقوم بجمعهما معًا. سوف يتعرف البرنامج على كيفية عمل الدالة "add" ويستخدمها في معالجة الأرقام المدخلة.    #include <stdio.h>  int add ( int x, int y );  int main() {   int x;   int y;    printf( "Enter two numbers to add together: " );   scanf( "%d", &x );   scanf( "%d", &y );   printf( "The sum of your numbers is %d\n" , add( x, y ) );   getchar(); }  int add ( int x , int y ) {   return x + y; }    لاحظ أن الإطار الرئيسي للدالة يبقى في الجزء الأول من البرنامج. يشرح هذا الجزء التعريفي الأول للمترجم Compiler ما الذي يجب أن يقوم به عندما يتم استدعاء هذه الدالة في وسط البرنامج، وما هي القيمة التي يجب عليه إعادتها. يكون ذلك ضروريًا فقط إذا كنت ترغب في تعريف الدالة في جزء متأخر من البرنامج. يمكنك أن تقوم بتعريف add()  قبل دالة main() وستكون النتيجة متماثلة بدون استخدام الإطار الرئيسي.  الوظائف الفعلية للدالة يتم تعريفها في الجزء الأدني من البرنامج. الدالة main()  تقوم بتجميع الأرقام الصحيحة من المستخدم، ثم ترسلها إلى دالة add() حتى يتم معالجتها. ثم تقوم الدالة  add() بإعادة النتائج إلى main().  لاحظ أنه طالما تم تعريف الدالة في البداية  add()، فيمكن أن يتم استدعائها في أي مكان من البرنامج. أكواد لغة C تحتاج أن يتم ترجمتها عن طريق برنامج يقوم بتفسيرها إلى إشارات يقدر الجهاز على فهمها. "الكومبايلر" أو المترجم هو برنامج مجاني عادة، ويوجد برامج ترجمة للغة C متاحة لمختلف أنظمة التشغيل.        لنظام الويندوز، استخدم برنامج Microsoft Visual Studio Express أو MinGW. لأجهزة الماك، يعتبر برنامج XCode من أفضل البرامج المترجمة للغة C.  لأنظمة لينكس، فإن برنامج GCC من أفضل وأشهر الخيارات المتاحة. لغة C واحدة من أقدم لغات البرمجة، ولها العديد من الاستخدامات القوية والهائلة. تم تصميمها في البدء للاستخدام مع نظام تشغيل Unix، ثم تم تهيئتها وتمديدها لتشمل كل أنظمة التشغيل تقريبًا. النسخة الحديثة من لغة C ، هي لغة C++.        لغة C تتألف في الأساس من مجموعة من الدوال/ الوظائف Functions، وكل دالة منهم تستخدم مجموعة من المتغيرات variables ، والعبارات الشرطية conditional statements ، والحلقات التكرارية loops، التي تقوم بتخزين ومعالجة البيانات. ألقِ نظرة على البرنامج البسيط جدًا فيما يلى، من أجل أخذ فكرة حول الجوانب المختلفة لهذه اللغة، وللاطلاع على طريقة عمل البرامج المكتوبة بها.    #include <stdio.h>  int main()  {     printf("Hello, World!\n");     getchar();     return 0; }    أمر #include يوجد قبل بداية البرنامج، ويقوم بتحميل المكتبات التي تضم الدوال التي تحتاجها في البرنامج الخاص بك. في المثال الحالي stdio.h ، سوف نستخدم دالتي printf() و getchar().  أمر int main() يخبر برنامج المترجم أن البرنامج المكتوب يعمل في دالة تسمى "main" وأنها سوف تعيد عددًا صحيحًا integer بعد أن تنتهي. كل برامج لغة C تعمل من دالة "main".   {}  يشير إلى أن كل شيء بداخلهما هو جزء من الدالة. في هذا المثال، فإنهما يرمزان إلى أن كل شيء بينهما هو جزء من دالة “main”.  دالة printf() تظهر المحتوى بين أقواس الكلام، على شاشة المستخدم. أقواس الاقتباس تؤكد على أن سلسلة البيانات String بداخلهما يتم طباعتها حرفيًا على شاشة المستخدم. بينما الأمر التابع  \n يخبر برنامج الترجمة أن ينتقل بالمؤشر إلى الخط التالي.  الأمر ; يرمز إلى نهاية السطر. غالبية الخطوط في أكواد C يجب أن تنتهي بهذه الفاصلة المنقوطة.  الأمر getchar() يخبر برنامج الترجمة أن ينتظر إدخال ضغطة زر قبل المواصلة. يكون هذا الأمر مفيدًا في حالة أن أغلب برامج الترجمة تقوم بتشغيل البرنامج ثم إغلاقه بعد الانتهاء في الحال. يساعد الأمر سابق الذكر في الإبقاء على شاشة البرنامج المكتوب مفتوحة، إلى أن يتم الضغط على أي زر لإغلاقه.  الأمر return 0 يشير إلى نهاية الدالة. لاحظ أن دالة "main" هي دالة int. ما يعنى أنها تحتاج إلى وجود رقم صحيح يتم إعادته ما أن ينتهى البرنامج. إعادة الرقم الصحيح "0" يشير إلى أن البرنامج عمل بطريقة صحيحة. أي رقم آخر سوف يعنى أنه حدثت مشكلة ما في البرنامج. أدخل الكود السابق في برنامج تحرير الأكواد، ثم قم بحفظه بصيغة "*.c". قم بترجمته/تجميعه بواسطة برنامج الترجمة، عادة عن طريق الضغط على أيقونة Build أو Run. التعليقات تعتبر جزءًا من الكود، لا يتم ترجمتها لجهاز الكمبيوتر، لكنها تساعد في شرح ما الذي يحدث، وما الذي يقوم به البرنامج الذي قمت بكتابته. يساعدك ذلك في تذكر الغرض من هذا الكود، وفي شرحه للمطورين والمبرمجين الآخرين الذين قد يحتاجوا النظر إلى هذا الكود.        لكتابة التعليقات في لغة C، قم بوضع  /* في بداية التعليق، و */ في نهايته.        قم بالتعليق على أغلب أجزاء الكود، مع عدم وجود ضرورة لذلك في الأجزاء الأساسية والواضحة منه.  يمكن استخدام تقنية التعليق لحذف بعض الأجزاء من الكود بطريقة سريعة، ودون حذفها نهائيًا. ببساطة ضع الجزء الذي ترغيب في إيقاف تفعيل قراءته من المترجم، بين علامات التعليق، ثم قم بعملية التجميع. وعند الحاجة إلى إعادة استخدام هذا الجزء من الكود، ببساطة قم بحذف علامات التعليق. الحلقات التكرارية Loops تعد واحدة من أهم الجوانب في البرمجة، حيث تسمح لك بتكرار أجزاء من الكود إلى أن تتحقق بعض الشروط المعينة. ما يجعل إعادة أجزاء من البرنامج أمرًا من السهل تنفيذه، ويوفر عليك الاضطرار إلى إعادة كتابة نفس الجمل الشرطية في كل مرة تحتاج إلى استخدامها.        يوجد ثلاثة أنواع أساسية من الحلقات التكرارية: FOR و WHILE و DO.. WHILE. إنها من أشهر وأكثر الحلقات التكرارية فائدة. سوف تستمر في تنفيذ الدالة والأكواد بداخلها إلى أن تتحقق الشروط المنصوص عليها في حلقة FOR. تحتاج هذه الحلقة التكرارية إلى ثلاثة شروط: القيمة الأولى للمتغير، والشرط المطلوب تحقيقه، والطريقة التي يتم بها تحديث قيمة المتغير. حتى إذا كنت لا تحتاج إلى أي من هذه الشروط، سوف تضطر إلى ترك مساحة فارغة مع إضافة فاصلة منقوطة، وإلا سوف تعمل الحلقة التكرارية للأبد.   #include <stdio.h>  int main() {   int y;    for ( y = 0; y < 15; y++;){     printf( "%d\n", y );   }   getchar(); }    في البرنامج السابق، المتغير y أخذ القيمة 0، والحلقة التكرارية تعمل طالما أن قيمة y أقل من 15. في كل مرة يتم عرض قيمة المتغير y ، يتم إضافة 1 إلى قيمته ، ثم يتم إعادة الحلقة التكرارية. ما أن تصل قيمة المتغير y إلى 15، سيتوقف تكرار هذه الحلقة. وهي أبسط من الحلقة التكرارية FOR. حيث تحتاج إلى شرط واحد فقط، والحلقة تتكرر طالما أن هذا الشرط صحيح "TRUE". لا تحتاج إلى وضع قيمة أولية للمتغير أو إلى تحديث قيمته، وإن كان من الممكن أن تقوم بذلك في الجزء الرئيسي من الحلقة التكرارية.    #include <stdio.h>  int main() {   int y;    while ( y <= 15 ){     printf( "%d\n", y );     y++;   }   getchar(); }    الأمر y++ يضيف 1 إلى المتغير y في كل مرة يتم تنفيذ الحلقة التكرارية. ما أن تصل قيمة المتغير y  إلى 16، فإن الحلقة تتوقف عن التكرار (لاحظ، أن هذه الحلقة التكرارية تعمل طالما أن قيمة المتغير y أقل من أو "تساوي" 15.) .WHILE. هذه النوع يكون مفيدًا للاستخدام مع الحلقات التي ترغب في التأكد من أنها ستعمل على الأقل لمرة واحدة. في الحلقات التكرارية FOR و WHILE، يتم التحقق من الشرط في بداية الحلقة، ما يعنى أن الحلقة قد لا تعمل إذا لم يتحقق الشرط في البداية. بينما في الحلقة التكرارية DO..WHILE يتم التحقق من الشرط في نهاية الحلقة، ما يضمن أن الحلقة سوف يتم تنفيذها على الأقل لمرة واحدة.    #include <stdio.h>  int main() {   int y;    y = 5;   do {     printf("This loop is running!\n");   } while ( y != 5 );   getchar(); }    هذه الحلقة سوف تعرض الرسالة حتى إذا كان الشرط غير متحقق وخاطئ. المتغير y له قيمة تساوي 5 و الحلقة التكرارية منصوص على أن تعمل عندما يكون المتغير y لا يساوي 5، ما ينهى الحلقة التكرارية ويمنعها عن مواصلة العمل. الرسالة يكون تم طباعتها بسبب أن الشرط لا يتم التحقق منه إلى في نهاية الحلقة التكرارية.  لاحظ أن الحلقة التكرارية WHILE في DO..WHILE يجب أن تنتهى بالفاصلة المنقوطة. هذه هي المرة الوحيدة التي تنتهى بها حركة تكرارية بالفاصلة المنقوطة. تساعدك المتغيرات في حفظ البيانات، سواء البيانات الخاصة بالبرنامج أم التي يقوم بإدخالها المستخدم. يجب أن يتم تعريف المتغيرات قبل أن تقدر على استخدامها، وهناك العديد من أنواع المتغيرات التي يمكنك الاختيار من بينها.        من أشهر أنواع المتغيرات: int و char و float. وكل نوع منها يقوم بتخزين شكل مختلف من البيانات. المتغيرات يجب أن يتم إنشائها أو الإعلان عنها، قبل بدء استخدامها في البرنامج. تقوم بالإعلان عن المتغير عن طريق كتابة نوع بيانات المتغير، متبوعًا باسمه. على سبيل المثال، الأكواد التالية تمثل عملية تعريف وإعلان صحيحة عن المتغيرات:    float x; char name; int a, b, c, d;    لاحظ أنه يمكنك أن تعلن عن عدة متغيرات في نفس السطر، طالما أنها من نفس النوع. فقط قم بالفصل بين أسماء المتغيرات بعلامة الفاصلة ",".  مثل غالبية السطور في لغة C ، يجب أن تنتهى سطور الإعلان عن المتغيرات بالفاصلة المنقوطة ";" يجب أن يتم إنشاء المتغيرات والإعلان عنها في بداية كل كتلة من التعليمات البرمجية (أجزاء الكود المحاطة بالأقواس {} ). إذا قمت بإنشاء المتغيرات في مكان متأخر من كود البرمجة، فعلى الأغلب أن البرنامج لن يعمل بطريقة صحيحة. ما أن تعرف أساسيات عمل المتغيرات، تصبح قادرًا على كتابة برنامج بسيط يقوم بتخزين البيانات الخاصة بالمستخدم. سوف نستخدم دالة جديدة، تسمى scanf. تقوم هذه الدالة بطلب إدخال البيانات اللازمة لتحديد قيمة شيء معين.    #include <stdio.h>  int main() {   int x;    printf( "Enter a number: " );   scanf( "%d", &x );   printf( "You entered %d", x );   getchar();   return 0; }    الأمر  "%d" يخبر الدالة scanf  أن تبحث عن أرقام صحيحة بين البيانات المدخلة بواسطة المستخدم.  بينما  & قبل اسم المتغير x  يخبر الدالة أن تجد هذا المتغير، وأن تغير قيمته، وتخزن القيمة المدخلة (العدد الصحيح المدخل) في هذا المتغير.   أمر printf الأخير يقوم بإعادة عرض العدد الصحيح المدخل للمستخدم. يمكنك أن تستخدم التعبيرات الرياضية لكي تقوم بمعالجة البيانات المخزنة في المتغيرات. الفرق الأهم الذي يجب عليك تذكره فيما يتعلق بالتعبيرات الرياضية، أن = تحدد قيمة المتغير، بينما == تقارن بين القيمة في الجهة الأخرى، لرؤية ما إذا كانت مساوية أم لا.    x = 3 * 4; /* sets "x" to 3 * 4, or 12 */ x = x + 3; /* adds 3 to the original value of "x", and sets the new value as the variable */ x == 15; /* checks to see if "x" equals 15 */ x < 10; /* checks if the value of "x" is less than 10 */
كتب تعلم البرمجة بلغة C. الانضمام إلى مجتمعات المبرمجين. حضور الدورات التدريبية. تعلم لغة C++ . تعلم أساسيات العبارات الشرطية. العوامل الشرطية الأساسية. كتابة جملة IF بسيطة. استخدام ELSE و  ELSE IF. أساسيات الدوال. البدء بوضع الإطار الرئيسي للدالة. إضافة الدالة إلى البرنامج. تحميل وتثبيت المترجم (المجمع). فهم الأساسيات. قم بفحص بعض الأكواد الأساسية. جرب تشغيل البرنامج. قم بالتعليق دائمًا على الأكواد. طريقة عمل الحلقات التكرارية. الحلقة التكرارية FOR. الحلقة التكرارية WHILE. الحلقة التكرارية DO. فهم وظيفة المتغيرات. تعلم كيفية الإعلان عن المتغيرات. المكان الصحيح لإنشاء المتغيرات. استخدام المتغيرات لحفظ البيانات الخاصة بالمستخدم. التعامل مع المتغيرات.
https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C https://www.wikihow.com/Learn-to-Program-in-C
Continuing to Learn Using Conditional Statements Using Functions Getting Ready Learning Loops Using Variables