اساسيات لغة سي بلس بلس c++ دالة الطباعة و التعليقات
اولا دالة الطباعة cout في لغة سي بلس بلس c++
أفضل طريقة لتعلم لغة البرمجة هي كتابة البرامج. عادةً ما يكون أول برنامج يكتبه المبتدئين هو برنامج يسمى "Hello World" ، والذي يقوم ببساطة بطباعة "Hello World" على شاشة جهاز الكمبيوتر الخاص بك. على الرغم من أنه بسيط للغاية ، إلا أنه يحتوي على جميع المكونات الأساسية لبرامج C ++:
|
| Hello World! |
تظهر اللوحة اليمنى أعلاه كود / تعليمات C ++ لهذا البرنامج. تظهر اللوحة اليسرى النتيجة عندما يتم تنفيذ البرنامج بواسطة الكمبيوتر او كما يسمى خرج البرنامج .
الأرقام الرمادية على اليمين عبارة عن أرقام أسطر لتسهيل مناقشة البرامج والبحث عن الأخطاء. هم ليسوا جزء من البرنامج.
الأرقام الرمادية على اليمين عبارة عن أرقام أسطر لتسهيل مناقشة البرامج والبحث عن الأخطاء. هم ليسوا جزء من البرنامج.
- السطر 1:
// my first program in C++
تشير علامتان مائلتان إلى أن باقي السطر عبارة عن تعليق تم إدخاله بواسطة المبرمج ولكن ليس له أي تأثير على سلوك البرنامج. يستخدمها المبرمجون لتضمين تفسيرات أو ملاحظات موجزة بشأن الكود أو البرنامج. في هذه الحالة ، هو وصف تمهيدي موجز للبرنامج.
السطر 2:
#include <iostream>
الأسطر التي تبدأ بعلامة التجزئة ( #) عبارة عن توجيهات تتم قراءتها وتفسيرها بواسطة ما يعرف باسم المعالجة المسبقة . إنها سطور خاصة يتم تفسيرها قبل بدء تجميع البرنامج نفسه. في هذه الحالة ،
- #include <iostream>
- يوجه التوجيه المعالج المسبق لتضمين قسم من كود C ++ القياسي ، والمعروف باسم header iostream ، والذي يسمح بإجراء عمليات الإدخال والإخراج القياسية ، مثل كتابة إخراج هذا البرنامج (مرحبا بالعالم) على الشاشة.
السطر 3: سطر فارغ. لا تؤثر الأسطر الفارغة على البرنامج. إنهم ببساطة يحسنون قابلية قراءة الكود.
السطر 4: int main ()
يبدأ هذا السطر في إعلان الدالة الاساسية ،
- الدالة :عبارة عن مجموعة من عبارات الكود التي يتم إعطاء اسم لها: في هذه الحالة ، يعطي هذا الاسم "main" لمجموعة عبارات الكود التالية. ستتم مناقشة الوظائف بالتفصيل في فصل لاحق ، ولكن بشكل أساسي ، يتم تقديم تعريفها مع نوع بيانات من النوع ( int) ، والاسم ( main) وزوج من الأقواس ( ()) ، بما في ذلك بشكل اختياري القيم الممرة ليس عليك ان تفهم كل شيء خاص بالدوال الان.
- الدالة المسماة main هي دالة خاصة في جميع برامج C ++ ؛ إنها الدالة التي تنفذ عند تشغيل البرنامج. يبدأ تنفيذ جميع برامج C ++
- من الدالة main ، بغض النظر عن مكان وجود الدالة بالفعل داخل الكود
-
السطر 5 و 7: {و}يشير القوس المفتوح ( {) في السطر 5 إلى بداية تعريف الدالة main ، ويشير قوس الإغلاق ( }) في السطر 7 إلى نهايتها. كل شيء بين هذه الأقواس هو جسم الدلة الذي يحدد ما ينفذ عندما يتم استدعاء الدالة main. تستخدم جميع الدوال الأقواس للإشارة إلى بداية ونهاية تعريفاتها.
السطر 6:
std::cout << "Hello World!";
هذا الخط هو عبارة C ++. البيان هو تعبير يمكن أن ينتج عنه بعض التأثير. إنه أساس البرنامج ، يحدد سلوكه الفعلي. يتم تنفيذ العبارات بنفس الترتيب الذي تظهر به داخل جسم الدالة.
هذا البيان من ثلاثة أجزاء: أولا، std::coutالذي يعرف الحادي والذي يقوم باستدعاء دالة الطباعة من فضاء الاسم (للطباعة على شاشة الكمبيوتر).
- ثانيًا ، عامل الإدخال ( <<) ، والذي يشير إلى تمرير محتواه الى std::cout.
- أخيرًا ، الجملة داخل علامتي الاقتباس ("Hello World!") ، هي المحتوى المُدرج في الإخراج القياسي.
لاحظ أن التعليمة تنتهي بفاصلة منقوطة (;). يمثل هذا الحرف نهاية التعليمة ، تمامًا كما تنتهي الفترة بجملة باللغة الإنجليزية. يجب أن تنتهي كافة عبارات C ++ بحرف فاصلة منقوطة. من أكثر الأخطاء النحوية شيوعًا في لغة C ++ نسيان إنهاء تعليمة بفاصلة منقوطة.
ربما لاحظت أنه ليست كل سطور هذا البرنامج تنفذ إجراءات عند تنفيذ الكود. يوجد سطر يحتوي على تعليق (يبدأ بـ //). هناك سطر مع توجيه للمعالج (يبدأ بـ #). هناك سطر يحدد الدالة (في هذه الحالة ، main الدالة). وأخيرًا ، سطر بعبارات تنتهي بفاصلة منقوطة (الإدراج في cout) ، والتي كانت داخل الكتلة المحددة بواسطة الأقواس ( { }) للدالة main .
تم تنظيم البرنامج في سطور مختلفة وتم وضع مسافة بادئة له بشكل صحيح ، من أجل تسهيل فهمه لقراءته. لكن C ++ ليس لديها قواعد صارمة بشأن المسافة البادئة أو كيفية تقسيم التعليمات في سطور مختلفة. على سبيل المثال ، بدلاً من
|
|
|
|
في لغة ++ C ، يتم تحديد الفصل بين العبارات بفاصلة منقوطة (
الآن ، دعنا نضيف عبارة إضافية إلى برنامجنا الأول:;
) ، مع عدم أهمية الفصل إلى أسطر مختلفة على الإطلاق لهذا الغرض. يمكن كتابة العديد من العبارات في سطر واحد ، أو يمكن أن تكون كل عبارة في سطر خاص بها. يعمل تقسيم الكود في سطور مختلفة فقط على جعله أكثر وضوحًا وتخطيطًا للبشر الذين قد يقرؤونه ، ولكن ليس له أي تأثير على السلوك الفعلي للبرنامج.
|
|
|
|
|
|
|
توجيهات المعالج المسبق (تلك التي تبدأ بـ #) خارج هذه القاعدة العامة لأنها ليست بيانات. وهي عبارة عن خطوط يقرأها المعالج ويعالجها قبل أن يبدأ التجميع المناسب. يجب تحديد توجيهات المعالج المسبق في السطر الخاص بها ، ولأنها ليست عبارات ، فلا يلزم أن تنتهي بفاصلة منقوطة ( ;).
استخدام اسم فضاء الاسماء في لغة سي بلس بلس C++ او كما تسمى مساحة الاسماء
إذا كنت قد رأيت كود C ++ من قبل ، فربما تكون قد رأيت cout استخدامه بدلاً من
cout هو جزء من المكتبة القياسية ، ويتم الإعلان عن جميع العناصر الموجودة في مكتبة C ++ القياسية ضمن ما يسمى مساحة الاسم او فضاء الاسم namespace: مساحة الاسم std.std::cout
. كلاهما يسميان نفس الكائن: يستخدم الأول اسمه غير المؤهل ( cout) ، بينما يؤهله الثاني مباشرةً داخل مساحة الاسم std (as std::cout).للإشارة إلى العناصر في stdمساحة الاسم ، يجب على البرنامج إما أن يؤهل كل استخدام لعناصر المكتبة (كما فعلنا من خلال البادئة
cout
بـstd::
) ، أو تقديم رؤية لمكوناته. الطريقة الأكثر شيوعًا لتقديم رؤية هذه المكونات هي عن طريق استخدام الإعلانات :
|
|
مع وضع هذا في الاعتبار ، يمكن إعادة كتابة المثال الأخير لاستخدامات غير مشروطة coutمثل:
|
| Hello World! "I'm a C++ program |
كلتا الطريقتين للوصول إلى عناصر stdمساحة الاسم (التأهيل الصريح واستخدام الإعلانات) صالحة في C ++ وتنتج نفس السلوك بالضبط. للتبسيط ولتحسين قابلية القراءة ، ستستخدم الأمثلة في هذه البرامج التعليمية هذا الأسلوب الأخير في كثير من الأحيان مع استخدام الإعلانات ، على الرغم من ملاحظة أن التأهيل الصريح هو الطريقة الوحيدة لضمان عدم حدوث تضارب في الأسماء.
تم شرح مساحات الأسماء بمزيد من التفصيل في فصل لاحق دمتم في رعاية الله.
التعليقات في لغة سي بلس بلس C++
كما لوحظ أعلاه ، لا تؤثر التعليقات على عمل البرنامج ؛ ومع ذلك ، فإنها توفر أداة مهمة للتوثيق مباشرة داخل الكود المصدري لما يفعله البرنامج وكيف يعمل.يدعم C ++ طريقتين للتعليق على التعليمات البرمجية:
دعنا نضيف تعليقات إلى برنامجنا الثاني:
Hello World! "I'm a C++ program
إذا تم تضمين التعليقات في الكود المصدري لبرنامج ما دون استخدام مجموعات أحرف التعليق //، /*أو */، فإن المترجم يأخذها كما لو كانت تعبيرات C ++ ، مما يؤدي على الأرجح إلى فشل التجميع مع رسالة خطأ واحدة أو عدة رسائل خطأ.