القائمة الرئيسية

الصفحات

ماهي لغة ++c ؟ شرح أساسيات لغة ++c بشكل مبسط

لغة ++c

بسم الله الرحمن الرحيم . لغة ++c هي لغة برمجة غنية عن أي تعريف و ذات شعبية كبيرة في عالم البرمجة إذ لا يعقل أن تكون من هواة البرمجة و لم تصادف في مسارك لغة ++c بالرغم من وجود عشرات اللغات البرمجية بل و بعضها ظهر منذ عدة عقود إلا أنها لا وجود لها اليوم و لا تكاد تذكر . فما الذي جعل لغة ++c تحتل هذه المكانة في عالم البرمجة ؟ و ما الداعي لتعلمها ؟

ما هي لغة ++C :

ماهي لغة ++c

هي لغة برمجة تحتوي على مزايا اللغات العالية المستوى و اللغات المنخفضة المستوى و هذا ما جعل البعض يصنفها ضمن اللغات المتوسطة المستوى . تعتبر تطويرا للغة c و قد جاءت مكلمة لها أي لتغطية نقائقصها . و هي لغة عامة الإستخدام و لا تقتصر على مجال محدد . بدأ تطويرها سنة 1979 من قبل الدنماركي بيارن سروستروب في مختبرات شركة bell في نيوجرسي بأمريكا و كانت تحمل الإسم c with classes أي سي مع الأصناف قبل أن يتم تسميها بشكل رسمي بالإسم الحالي سنة 1983 .
إسم ++c يعني في اللغة ذاتها معامل الزيادة أي أنه عندما تضيف للمتغير ++ أنك تزيد 1 لقيمته و لعل إختيار هذا الإسم يرجع لروح الدعابة لمبتكرها و المقصود أن c تليها ++c .
تعتبر لغة برمجة كائنية التوجه أي (object oriented programming) و تسمى أيضا البرمجة الشيئية و تعتبر نمط برمجة متقدم يسمح بتقسيم البرنامج إلى العديد من الكائنات (object) بحيث تخزن فيها المعلومات المختلفة للكائن مثل السرعة أو الطول و غيره .
إن أهم ما يميز ++c أنها قريبة من العتاد و لها القدرة على التعديل و حجز الأماكن في الذاكرة من خلال خاصية pointers بالإضافة لقدرتها على التعامل مع العتاد بصفة عامة مما جعلها الخيار الأمثل لبرمجة الروبوتات و مختلف الأجهزة الذكية .
لغة ++c لغة سهلة للتعلم و بسيطة و لا تحتوي على الكثير من المفاهيم مقارنة ببعض اللغات . و يستحسن تعلمها أولا قبل أي لغة برمجة لفهم عدة أمور هامة و تطبيقها يدويا و التي لا توجد في اللغات الحديثة على غرار لغة بايثون و غيرها . و لتوضيح أكثر ليس هذا معناه أن باقي اللغات الحديثة لاتحتوي على وظائف معينة بالعكس و لكن غالبا ما تكون جاهزة و لا يتمكن المبتدأ من فهم ماذا يجري بشكل مفصل عند كتابة البرامج بواسطتها . 
تم بواسطة اللغة بناء مشاريع ضخمة كأنظمة التشغيل مثل (windows) و  (mac ox) و الكثير من البرامج المعروفة على غرار برامج أدوبي  و أهم المتصفحات المعروفة كـ (mozilla firefox) و (google chrome) .

كتابة أول برنامج ++C :

لكتابة أول برنامج بإستخدام ++c يجب تحميل بيئة العمل أو ما يعرف بـ IDE و هو بكل بساطة محرر النصوص الذي سنكتب بداخله البرنامج , لكن يختلف عن محرر النصوص العادي بحيث يحتوي على مترجم (compiler) . و من أهم بيئات العمل :

برنامج code blocks : 

برنامج code blocks

و يعتبر من أهم بيئات ++c و أشهرها على الإطلاق وهو برنامج مفتوح المصدر إلى أنه في بعض الأحيان لا يكون ملائما للمبتدئين ربما بسبب بعض تعقيداته و بسبب واجهته المرعبة نوعا ما و إذا نظرنا إلى المدى البعيد فإن هذا البرنامج لا يدعم سوى لغتي c و ++c و لن تستطيع مستقبلا من خلاله كتابة برامج بلغات أخرى . لكن أنا شخصيا أستخدمه حاليا و كتبت أول برنامج بإستخدامه و أبشرك بأن هذا الشعور تجاه واجهة البرنامج لن يدوم طويلا لتتجاوزه . و قد تحدثنا عن البرنامج بشكل مفصل أكثر في هذا المقال .  إليك رابط التحميل :

برنامج  ++microsoft visual c:

   






هذا البرنامج مملوك لشركة مايكروسوفت و له واجهة مريحة أكثر و يدعم لغات برمجية عديدة بخلاف لغة c و c++ و ما يجعله أقوى من البرنامج الأول هو أنه يتم تمويله و تحديثه من قبل شركة ضخمة تدرس بدقة إحتياجات المبرمجين . إليك رابط التحميل :
الآن نشرع في كتابة أول برنامج يطبع جملة "hello world" على شاشة الكونسول .
أولا نفتح مشروع جديد في المحرر بالضغط على create new project .
code blocks






ثم نختار من الأعلى console application .
code blocks console

ثم نختار التالي إلى أن نصل إلى هذه الواجهة console application نقوم بحفظ الملف على سطح المكتب كالآتي :
code blocks
ثم نختار finish في الصفحة التي تليها . آخر شيء نقوم بالضغط على الملف المبين في الصورة عندما يظهر البرنامج نضغط في الأعلى على زر run .
++the first program by c




شرح أساسيات c++ :


لا تحتوي اللغة على الكثير من المفاهيم و لا تعتمد على المفردات و الجمل الطويلة على غرار لغة java . و يمكن أن نلخص الأساسيات فيما يلي :

عبارة الطباعة:

تتم عملية الطباعة أو الإخراج عن طريق عبارة ;<< cout بحيث تكتب العبارة قبل الفاصلة المنقوطة و هنا نفرق بين نوعين من الطباعة إما تطبع المتغير مباشرة ( سنشرح المتغير في العنوان التالي ) و إما تضيف " " في المكان المحدد للطباعة فتصبح  
;"جملة الطباعة"<< cout .
الطباعة cout لغة c++

المتغيرات :

و يطلق عليها الـ variables و هي عبارة عن حاويات تخزن فيها معلومات من نوع محدد و يوجد عدة أنواع من المتغيرات .
int : و هي إختصار لكلمة integer أي عدد صحيح و نخزن من خلاله قيمة عدد صحيح كأن نكتب int a=5 .
double : و يسمح بتخزين قيمة عدد عشري كأن نقول double=5.5 .
float : نفس المتغير السابق بحيث يخزن قيمة عدد عشري . و يكمن الفرق بينهما أن double أكثر دقة من float من حيث عدد 
الأرقام بعد الفاصلة .
string : و هذا النوع لتخزين النصوص على الشكل التالي ;"string text="hello .
char :إختصار لكلمة character و نخزن من خلاله قيمة حرف كأن نقول 'char='a .
boolean : هذا النوع من المتغيرات مختلف قليلا حيث يخزن إما true أو false و بالتالي فإنه يطبع إما 1 أو 0 على الترتيب .
المتغيرات c++

الإدخال:

العبارة ;>>cin تستخدم لإدخال قيمة من طرف المستخدم . لنفرض أننا قمنا بتعريف متغير دون إعطائه قيمة . فمثلا نكتب int a و نختم السطر بالفاصلة المنقوطة (;) ثم نكتب في السطر الذي يليه ;>>cin و نضع إسم المتغير قبل الفاصلة المنقوطة . فعند تشغيل البرنامج يطلب من المستخدم إدخال قيمة للمتغير .
الإدخال output لغة c++

العمليات (operations):

هناك العديد من العمليات التي يمكن إجرائها بإستخدام البرمجة عموما و ++c على وجه الخصوص لكن في مجملها بسيطة و ليس فيها أي تعقيد .  
العمليات الأربعة المعروفة لا داعي لشرحها : الجمع + , الطرح - , الضرب * , القسمة / .
عملية % أو ما يسمى modiling أي باقي القسمة . عندما نكتب 5%2 =1 أي نقوم بإستخراج باقي قسمة العدد على الآخر .
معامل الزيادة ++ عند إضافته للمتغير فإن البرنامج يضيف القيمة التي تليها مباشرة كأن تكتب int x=5 ثم x++ فإن x=6 .
معامل النقصان -- و هو بكل بساطة يقوم بعملية عكسية لمعامل الزيادة .
بالإضافة إلى عمليات المقارنة كالآتي :
== معناه العدد يساوي المتغير مثلا . أي a==5 و يكمن الفرق بينها وبين العلامة الواحدة = هو أن العلامة الواحدة تستخدم لتعريف المتغيرات و غيرها أي لإسناد قيمة لها أما العلامة == فتستخدم للدلالة على أن العنصرين متساويان في القيمة .  
=! علامة لا تساوي كأن نكتب 5=!b معناه أن قيمة  b ليست 5 .
علامة أصغر من < و علامة أكبر من > .
علامة أصغر من أو تساوي =< و علامة أكبر أو تساوي => .

الحلقات loops :

أي الحلقات التكرارية و تستخدم في البرمجة عموما لإختصار الكود البرمجي و إجتناب تكرار نفس السطر عدة مرات . و تنقسم الحلقات إلى ثلاثة أنواع :
for : هذا النوع من الحلقات نستخدمه لتكرار عملية معينة عدد مرات معلوم .
while : هذا النوع يستخدم لتكرار الأمر ما لم يتحقق شرط معين فإذا تحقق إنتهى الأمر . مثلا نكتب a < 5 فإذا أدخل المستخدم عدد أكبر من 5 إنتهى الشرط .
do/while : و تختلف عن السابقة في أن هذه الحلقة تنفذ الأمر على الأقل مرة واحدة . أي أنها تنفذ الأمر ثم تتحقق من الشرط 
الأمر أشبه بألعاب الفيديو بحيث أن الألعاب المجانية تضعك في المستوى الأول لكن لن تصل إلى المستوى الثاني إلى إذا أنهيت الأول . أما الألعاب المدفوعة فلن تستطيع الوصول إلى المستوى الأول إلى إذا إشتريت اللعبة .
الحلقات loops لغة c++

الشرط condition :

من أهم الأوامر في البرمجة على الإطلاق الشرط . و تستخدم فيه الكلمة if لتحديد شرط معين كأن نكتب 100<if a إطبع على الشاشة عبارة you are win . و يمكن أن نضيف شرط آخر else if a<1 إطبع على الشاشة you are lose  و أخيرا بإمكانك أن تحدد الآخر يعني ما بين 1 و 99 أي كل ما يختلف عن الشرطان السابقان بإضافة else لا تطبع شيء .
الشرط if condition لغة c++

عبارة التبديل switch :

إذا كنت تود كتابة برنامج متفاعل أكثر فالمفاهيم التي تم ذكرها لا تعد كافية فهي غير قادرة على تغطية جميع الحالات التي يمكن إدخالها من طرف المستخدم لذلك لابد من إستخدام (switch (a و بجانبه إسم المتغير ثم نكتب بداخل الأمر مجموعة من الحالات أو case . مثلا تود برمجة آلة حاسبة تضع أربع حالات للعمليات الأربعة الجمع و الضرب و الطرح و القسمة فأي عملية سيدخلها المستخدم سيؤديها البرنامج . كما هو موضح في الصورة .
++switch c

المصفوفات :

تشبه المتغيرات لكن المصفوفات تتضمن أكثر من قيمة من نفس النوع . و تعتبر من المفاهيم الأساسية جدا في البرمجة و في أي لغة كانت . المصفوفات تسهل العمل إلى حد كبير بحيث تختصر إعادة الكتابة و تعريف كم كبير من المتغيرات من نفس النوع . و يوجد نوعين من المصفوفات . الأحادية التي تتضمن صف واحد من القيم . و المزدوجة التي تتضمن أكثر من صف و بداخل كل صف مجموعة من القيم . على الشكل التالي .
المصفوفات array لغة c++


كانت هذه أهم الأساسيات الواجب تعلمها في البرمجة عموما و في لغة ++c على وجه الخصوص . 





















هل اعجبك الموضوع :

تعليقات