اخوانى المهتمين بلغه البرمجه c++ لدى هنا على جهازى مجموعه دروس عن هذه اللغه من كتابه احد المبرمجين يسمى (محمد حسن) بصراحه لقد اعجبنى اسمه لانه مماثل لاسم اخى دعونى لا اطيل عليكم هذه اول صفحه من الدرس حتى اذا عجبتكم تقوموا بتنذيل الشرح كاملا __________________________________________________ _________________________________________تعلم سي بلس بلس
الدرس الاول اساسيات سي بلس بلس مساء الخير
انا اقول مساء الخير لانني لا افتح الانترنت الا في المساء واظنكم جميعا كذلك سنبدء اليوم سلسلة دروس عن لغة سي بلس بلس انها لغة صعبة ولكنها قوية جدا اريدك ان تعرف معلومة هامة كلمة كانت لغة البرمجة صعبة كلما كانت قوية واذا كنت تتعلم لغة الآن واحسست بسهولتها فيجب ان تعلم انها لغة ليست قوية هذا رأيي الخاص واظنه شئ صحيح احب ان تعرف معلومة اخرى ان لغة سي بلس بلس ليست هي لغة سي مع التشابه الكبير لاوامر ودوال اللغتين المهم معنا الآن اننا نتعامل مع لغة سي بلس بلس واضيف شئ اخير انك اذا لم تفهم هذه الدروس فمعنى ذلك انني اخفقت في الشرح والتوضيح وتأكد حينها ان العيب عندي انا وليس عندك ولكي نبدء دروسنا يجب عمل الآتي. 1- اذا لم تكن قد قرأت مقالي على هذه الصفحة عن كيف تتعلم لغة برمجة جديدة للمبتدئين فمن فضلك أقرأه الآن2- ارجو ان تغفر لي اي اخطاء املائيه فأنا اكتب بسرعة 3- ارجو ألا تعتبر كتابتي لمصطلحات انجليزية بحروف عربية جهل او غباء مني ولكن فقط لاسباب خاصة بتحرير الصفحة فالسهل عندي كتابة كل شئ باللغة الانجليزيه ولكن لن تكون هذه الدروس مفيد – ألست معي في ذلك – ارجو ذلك متطلبات العمل 1- كومبايلر للغة ودعني اقول لك ماهو الكومبايلر حتى وان كنت تعرفه انه البرنامج الذي يحول البرنامج الذي تكتبه الى برنامج تنفيذي قابل للتشغيل والتوزيع والبيع الى آخر ذلك وهناك انواع كثيرة مثل Borland C++ Microsoft Visual C++ Watcom C/386 DJGPP. انا انصح بالكومبايلر الاول او الثاني أما الثالث والرابع فلم اجربهم ولست في حاجة اليهم ولست اقصد بذلك الا تستعملهم ولكن فقط لم اجربهم
استعد انت الآن لبداية التعلم اما انا من ناحيتي فسوف اطفئ سيجارتي (ادعو لي بالاقلاع عن التدخين) لكي نبدء فورا عن تعلم لغة كومبيوتر جديده اصبحت عادة ان تقوم بطبع رسالة هالو ورلد Hello World
بالطبع هم يخاطبون العالم ولهم الحق في ذلك ولكن انا سوف اطبع رسالة هالو آراب
Hello Arab
مع عدم وجود اي عنصرية مني فأنا لست كذلك ولن أكون ولكن اسمحو لي بتحية من اكتب لهم لا تنزعج معي دائما قد اكون رغاي بعض الوقت ولكن ليس كل الوقت
// This is the 1st lesson #include int main() { cout<<"HEY, Hello ِArabs"; return 0; } دعونا نشرح ما كتبنا لقد بدأت بالعبارة الآتية
// This is the 1st lesson عند كتابة // معناها انني اكتب ملاحظات وبالتالي كل ما يليها لايهم الكومبايلر عند الترجمة وفائدة الملاحظات عظيمة فكلما كتبت جزء من البرنامج وضحت هاتين العلامتين وبعدها ماتريد ان تقوله لنفسك او لمن يراجعون بعدك ماذا تفعل فاءذا عدت لتعديل البرنامج بعد فترة من الزمن سيكون ذلك رائع ان تتذكر افكارك في البرنامج موضع التعديل والآن الى التعليمة التالية لقد كتبنا
#include العلامة # يليها امر include هي من تعليمات المعالج المبدئي Preprocessor directiveلاحظ ان اوامر اللغة تكتب بالحروف الانجليزية الصغيرة
يلي ذلك مابين القوسين <> اسم ملف ينتهي بالامتداد hهذا النوع من الملفات يسمى header filesوهي ملفات تأتي مع كومبايلر اللغة وان كنت ستتعلم في مرحلة متقدمة من هذه الدروس عملية انشاء ملفاتك الخاصة وهي عبارة عن ملفات يوجد بها تعريف لاوامر اللغة المستخدمة داخل برنامجك وبالتالي لكل مجموعة اوامر ملفاتها الخاصة لا تقلق سوف تعرف كل ذلك قريبا اذا الاوامر المستخدمة في مثالنا السابق يحتاج الملف iostream.hوهذا الملف هام جدا ورئيسي دائما ضم هذا الملف باستخدام الامر #include ملخص
#include
من اوامر لغة سي ++ (المعالج المبدئي)iostream.h ملف او هدير فايل لتعريف الاوامر المستخدمة<>اقواس لوضع الملف المطلوب ضمه او تحميله بينهماببساطة شديدة الامر cout الذي سيلي شرحة يحتاج الملف
iostream.h
ننتقل الآن لشرح التعليمة التالية int main()ومعناها الاعلان عن الدالة او جسم البرنامج الرئيسي الذي من خلاله نستدعي كل شئ ونعمل كل شئ وسوف نضع بداخله الاوامر كلها
ولكن ما هو الامر intانه من اوامر الاعلان عن نوع المتغيرات ودعني اوضح ذلك امر اللغة الذي يعلن عن المتغير
نوع المتغير
int الاعلان عن اعداد صحيحةfloat الاعلان عن اعداد عشريةchar الاعلان عن حروفvoid لاشئ وسوف نتعرض للانواع الاخرى فيما بعد وكمثال int x = 5;int y = 65; float z = 4.677777; float q = 77.5443; char *b = “Mohamad Hasan”; char *c = "My Home Page”;لقد اعلنا ان الدالة الرئيسية للبرنامج نوعها او ستعيد في نهاية عملياتها عدد صحيح فقد تحتاج مثلا لعمل دالة لضرب عددين في بعضهما والنتيجة تعيدها الدالة حسب نوع الاعلان
ويحدد ذلك الامر return وكما ترى اعاد الامر القيمة صفر وهو بالطبع عدد صحيح نتيجة الاعلان عن دالة تعيد اعداد صحيحةفمثلا لو انشأنا دالة لاعادة اعداد عشرية يجب ان تعيد في نهايتها اعداد عشرية مثلا float NewFunc (){ float x , y , z; x = 10.5; y = 11.67887; z = x * y; return z; } لقد اعادت الدالة حاصل ضرب 10.5 * 11.67887 وحاصل الضرب هو عدد عشري لان نوع الدالة اعداد عشرية وهكذا دعنا نعود لبرنامجنا الاصلي
int
نوع الدالة تعيد اعداد صحيحة
main اسم الدالة الرئيسية اساسي وهام
()
قوسين مغلقين لايوجد داخلهم شئ في هذه المرحلة
الى التعليمة التالية القوس {يجب ان يفتح به الدالة وتنتهي به ايضا لاحظ الاتجاه الى اليسار في بداية الدالة والى اليمين في نهايتها لتحديد بلوك الاوامر والآن الى التعليمة التالية cout<<"HEY, Hello ِArabs";الامر cout يليه القوسين << مفتوحين الى اليمين معناها اخراج ما بين علامتي الاقتباسCout <<
امر طباعة على الشاشة" "علامات اقتباس لطبع الرسالة التي بينهما كما هيالى الامر الاخير return 0; وقد شرحناه اثناء تناولنا لموضوع انواع البيانات اخيرا ينتهي البلوك الرئيسي للبرنامج باعادة قيمة صفر وهو العدد الصحيح حسب الاعلان مع الدالة الرئيسيه بالامر intوتتفق معى انه لايجب ان يكون صفر دائما ولكن كيفما تريد وحسب العمليات ولكن المهم ان يكون عدد صحيح 1 او 2 او غيرها لاننا اعلنا عن ذلك وعلينا الالتزام به والا سوف يعطي الكومبايلر رسالة خطأ والى الامر الاخير }انه قوس نهاية البلوك ولاحظ انه الى اليسار ليغلق البلوك الذي فتح بمثله ولكن الى اتجاه اليمين والآن انتهى برنامجنا الافتتاحي والى ملاحظاتنا تذكر أن 1- اوامر اللغة تكتب بحروف صغيرة small letters2- البرنامج يبدء بأوامر المعالج المبدئي لضم الملفات # include3- الدالة الرئيسية main يجب ان تكون موجودة4- يفتتح البرنامج بالقوس} ويغلق بالقوس{5- الملف الذي انشأته سيقوم برنامج التحرير بحفظه باسم ينتهي بالامتداد cpp6- جميع سطور البرنامج وبعد نهاية الاوامر والاعلانات نضع الفاصلة المنقوطة ;بعد اقواس افتتاح البرنامج وبعد اوامر المعالج المبدئي وبعد اسم الدالة حاليا اقول لك نضعها فقط بعد الاوامر داخل بلوك الدالة ومعناها نهاية الامر اهتم بذلكماذا لو اعلنا عن نوع الدالة الرئيسية بالامر void ومعناه غير مطلوب منها اعادة شئ سيكون الامر return بدون قيم بالطبع او كما يلي // This a modification no. 1#include void main() { cout<<"HEY, Hello ِArabs"; return ; } لاحظ الامر return لم يوضع بعده قيم
وتذكر ان مايلي // هي عبارة عن ملاحظات لسطر واحد فقط وكلما وضعت سطر ملاحظات ضع هاتين العلامتين في بداية السطر // This is a remark no. 1// And this is the remark no. 2 // It is no. 3 وهناك اسلوب اخر لكتابة الملاحظات في عدة سطور بأن تبدء بالعلامة /*
ثم تكتب ما شئت من ملاحظات في اي عدد من السطور ثم تنهيها بالعلامة */ مع ملاحظة الاتجاهات وتكون الملاحظات السابقة بالاسلوب الذي شرحناه كما يلي /*This is a remark no. 1 And this is the remark no. 2 It is no. 3 */ __________________________________________________ ___ما رأيكم هل اعجبكم بدايه الشرح اذا لمن اعجبه ولمن هو مهتم بهذه اللغه اليكم الشرح كامل وهو مكون من 15 صفحهعلى الرابط التالىحجم الشرح 136 كيلوبيت فقط مضغوط بال rarhttp://www.megaupload.com/?d=20BMBSCA
__________________