C++
هـي لغـة برمجـة كائنيـة ،متعـددة أنمـاط البرمجـة تضـم العديـد مـن ميـزات لغـات البرمجـة عاليـة المسـتوى ومنخفضـة المسـتوى تـم تطويـر
هـذه اللغـة مـن قبـل بيـارن ستروسـتروب فـي مختبـرات بـل عـام 1979عندمـا كان يقـوم بالتحضيـر لرسـاله الدكتـوراه الخاصـة بـه
وتـم إضافـة العديـد مـن الميـزات الأخـرى لاحقـ ًا وتغيـر الاسـم عـام 1983وقـد اسـتخدمت علـى نطـاق واسـع في بنـاء أنظمة التشـغيل تسـتخدم
لعمـل برامـج الكومبيوتـرو تطبيقـات الفـن ومشـغلات الموسـيقى وحتـى العـاب الفيديوأحـد أكثـر اسـتخدامات سـي ++إثـار ًة للإعجـاب حسـب رأي
ستروسـتروب هـو اسـتخدام سـي ++فـي كتابـة قسـم كبيـر مـن أنظمـة القيـادة الأوتوماتيكيـة للعربـات التـي تجولـت علـى سـطح المريخ
مزايا لغة ++C
القـوة و الفعاليـة :لغـة C++غنيـة بعمليـات مختلفـة ،و إجـراءات عديـدة متوفـرة فـي مكتباتهـا المرفقـة مـع المترجـم ،ممـا يم ّكـن المبرمـج
مـن كتابـة البرامـج الكبيـرة بطريقـة ميسـرة وموجـزة ،و يكـون البرنامـج سـريع ورائـع فـي الأداء.
• التوفر :مترجم C++متوفر على جميع أنواع الأجهزة الكبيرة منها و الصغيرة.
• الانتقاليـة :البرامـج أو التطبيقـات المكتوبـة بلغـة C++علـى جهـاز مـا يمكـن نقلهـا إلـى جهـاز أو نظـام أخـر بعـد عمـل تغيـرات بسـيطة جـداً أو
دون الحاجـة إلـى عمـل أي تغييـر.
• المرونـة :لغـة C++لغـة مرنـة جـداً فمث ـ ًا يمكنـك كتابـة تعبيـر رياضـي باسـتخدام متغيـرات مختلفـة مـن حيـث النـوع ،كأن تكتـب تعبيـراً
يجمـع متغيـر مـن نـوع الأعـداد الصحيحـة [دون كسـور] مـع متغيـر مـن نـوع الأعـداد الحقيقيـة [مـع كسـور] .حيـث أنـه فـي بعـض لغـات البرمجـة
الأخـرى لا يتـم الجمـع إلا فـي حالـة كان طرفـي عمليـة الجمـع مـن نفـس نـوع الأعـداد !!!
هيكل البرنامج
افضل طريقة لتعلم أي لغة برمجه هي بكتابة برنامج بسيط يسمى «»hello world
شرح البرنامج
// my first program in C++
عندمـا نضـع //مقابـل أي سـطر سـيتم اعتبارهـا كتعليـق ويتـم تجاهلهـا اثنـاء تنفيـذ البرنامـج هـذه التعليقـات مهمـه لمعرفـة الغـرض مـن
الكـود حيـث يسـتخدمها المبرمجـون عنـد كتابـة الاكـواد
>#include <iostream
السـطر الـذي سـيبدأ بعلامـة ( )#سـيكون موجـه وسـيتم تفسـيره عبـر المفسـر بانـه سـطر خـاص يفسـر قبـل ترجمـة البرنامـج نفسـه فـي
هـذه الحالـه >include <iostream#يوعـز المعالـج بتضميـن جـزء مـن كـود ++Cالاساسـي يعـرف ب header iostreamوالـذي سيسـمح بلقيـام
بعمليـات الادخـال والاخـراج مثـل طباعـة الكلمـة ( )Hello Worldعلـى الشاشـة
)( int main
هـذا السـطر ينشـيء تعريـف للدالـه (الدالـه هـي مجموعـة مـن جمـل الاكـواد تعطـى اسـم معيـن ليتـم اسـتدعائها لاحقـا ) التـي اسـمها هنـا
))mainوهـي دالـه خاصـة بجميـع برامـج ++Cيتـم اسـتدعائها عنـد تنفيـذ البرنامـج بغـض النظـر عـن مكانهـا فـي الكـود
الاقواس { }:
تمثل بداية ونهاية الداله وان أي شيء بينها يعتبر جسم الدالة
;!»std::cout << «Hello World
هذا السطر سيكون له تاثير حيث سيتم طباعة !Hello Worldعلى الشاشة
std::cout
تعني ,device standard character outputوالعلامة (<<)كل ما بعدها يدخل ضمن std::cout
كل الجمل في سي بس بس يجب ان تنتهي ب(;) وان اكثر اسباب ال C++ syntax errors inهي نسيان هذه العلامة
اسيل سعد مجيد التكريتي 14
Comment
هو سطر او اسطر ليس لها تاثير على تنفيذ البرنامج لكنها تفيد المبرمج لمعرفه كيفية عمل البرنامج لوضع كومنت في ++Cنستخدم
( )//قبل بداية السطر المطلوب عمله ك commentاذا اردنا لعدد من الاسطر ان نجعلها ك commentنضيف العلامة (* )/وعند الانتهاء
نضيف(*)/
line comment //
/* block comment */
الفائدة من كتابة كل جملة على حدة لجعل البرنامج اسهل عند قراءتها
} ;»!int main () { std::cout << «Hello World
ممكن عمل نفس البرنامج السابق لكن بكتابته بسطر واحد ويفصل بين كل سطر العلامة (;)سيكون كالتالي
namespace std
في بعض برامج ++Cنجد انه تم استخدام coutبدلا من std::coutكلاهما تابعان لنفس الكائن الاول coutالذي هو جزء من المكتبة الأساسية
وكل العناصر في مكتبة ++Cمعرفة تحت المسمى . .the namespace std
; using namespace std
لذلك عند تعرف العناصر الموجودة في std namespace a program shallاما عن طريق سبق ال coutب :stdعند كل استخدام او عن طريق
تعريف باننا سنستخدم هذه المكونات بكتابه
وبهذ ا يكتب البرنامج كالتالي
اسيل سعد مجيد التكريتي 15