القواعد الأساسية لـ C ++ || تعلم c++ خطوة بخطوة

 

يمكن تعريف تطبيق C ++ على أنه مجموعة من object التي تتواصل مع بعضها البعض عن طريق استدعاء method. سنشرح بإيجاز مفهوم class, object, method و instant variables أدناه.


لاحظ أن التعريفات التالية عامة وشاملة وسنكون أكثر دراية بها في المستقبل.


object

object لها خصائص وسلوكيات مختلفة. على سبيل المثال، للكلب خصائص مثل اللون والاسم والسلالة والسلوكيات مثل الحركة والنباح والأكل والشرب. الكائن هو في الواقع مثيل لفئة class.

الفئة أو class

يمكن تعريف الفئة على أنها قالب أو مخطط مدعوم بسلوك الكائن أو الأوضاع. 

الطريقة  أو method

الطريقة هي في الأساس سلوك، ويمكن أن تحتوي الفئة على عدة طرق. في الواقع، في الأساليب، يتم كتابة المنطق، ومعالجة البيانات أو تعديلها، ويتم تنفيذ جميع الإجراءات.

متغيرات العينة

كل كائن لديه مجموعة فريدة من عينة المتغيرات. يتم إنشاء حالة الكائن من خلال القيم المخصصة لهذه المتغيرات النموذجية. يتم تحديد متغيرات العينة داخل class ولكن خارج method.


هيكل ++Structure  C

ألق نظرة على رمز بسيط يطبع الكلمات hello world:


الآن دعنا نلقي نظرة على الأجزاء المختلفة من هذا الرمز:

 تحدد  لغة C ++ عدة  headers تحتوي على معلومات أساسية أو غير ضرورية لتطبيقك، و header المطلوب لهذا التطبيق هو <iostream>.

 يخبر السطر الذي تمت كتابة مساحة اسم std فيه المترجم باستخدام مساحة اسم std.

 // main () حيث يبدأ تنفيذ البرنامج.  هذا السطر عبارة عن وصف من سطر واحد متاح في C ++. تبدأ التعليقات أحادية السطر بـ //.

 السطر int main () هو الوظيفة الرئيسية التي يبدأ تشغيل البرنامج عندها.

 السطر التالي cout << "Hello World" ؛ يجعل الرسالة "Hello World" تظهر على الشاشة.

 السطر التالي ينهي الدالة main () ويعيد القيمة صفر.


compiler وتشغيل تطبيقات ++C 

لنلق نظرة على كيفية حفظ ملف وتجميع وتشغيل برنامج. يرجى اتباع الخطوات التالية:

 افتح محرر نصوص (text editor) وأضف نموذج التعليمات البرمجية أعلاه.

 احفظ الملف باسم: hello.cpp (ضعه في ملف باسم Project)

 افتح command prompt وانتقل إلى الدليل الذي تم حفظ الملف فيه. (اكتب  في مربع بدء البحث Start في Windows عبارة command prompt وقم بتشغيل البرنامج).

في موجه الأوامر اكتب  'g++ hello.cpp ' واضغط على Enter لتجميع التعليمات البرمجية الخاصة بك. إذا لم يكن هناك خطأ في التعليمات البرمجية الخاصة بك، سينقلك موجه الأوامر إلى السطر التالي وإنشاء ملف a.out القابل للتنفيذ أو ملف a.exe في مجلد البرنامج.

 الآن، اكتب "a.out a.exe" لتشغيل البرنامج.

 ستتمكن من طباعة "Hello World" على النافذة.





انتبه: تأكد من وجود g ++ في مسارك وتشغيله في المجلد الذي يحتوي على ملف hello.cpp.


الكتلة والفاصلة المنقوطة في ++C

فاصلة منقوطة أو "؛" تستخدم في ++C كمنهي الأوامر. وهكذا، يجب أن ينتهي كل أمر بفاصلة منقوطة.

على سبيل المثال، راجع الأوامر الثلاثة المختلفة التالية:


الكتلة هي مجموعة من الأوامر المنطقية المتصلة محاطة بأقواس مفتوحة ومغلقة "{}". مثال:


لا يتعرف ++C على نهاية السطر كنهاية للأمر. لهذا السبب، لا يهم مكان وضع الأوامر على السطر. مثال:


التساوي:


المعرفات في ++Identifiers in C

المعرف هو اسم يتم استخدامه من قبل المستخدم لتحديد متغير أو وظيفة أو فئة أو وحدة أو أي شيء آخر. 

يبدأ المعرف بحرف من (A إلى Z) أو (a إلى z) أو شرطة سفلية underscore (_) بحروف صفر أو كبيرة، وشرطة سفلية ورقم (من 0 إلى 9).

لا تدعم ++C الأحرف الخاصة مثل @ و $ و٪ في تحديد المعرّفات، وهي أيضًا لغة برمجة حساسة للحروف. على سبيل المثال، تختلف  Manpower عن manpower  وهما معرفان منفصلان.


فيما يلي بعض الأمثلة على المعرفات المقبولة:


الكلمات الرئيسية  C++ Keywords

تعرض القائمة أدناه قائمة الكلمات المخزنة في ++C. هذه الكلمات محجوزة على شكل ثابت (constant) أو متغيرات (variable) أو معرفات  (identifier).

alignas (since C++11)
double
reinterpret_cast
alignof (since C++11)
dynamic_cast
requires (since C++20)
and
else
return
and_eq
enum
short
asm
explicit
signed
atomic_cancel (TM TS)
export(1)
sizeof(1)
atomic_commit (TM TS)
extern(1)
static
atomic_noexcept (TM TS)
false
static_assert (since C++11)
auto(1)
float
static_cast
bitand
for
struct(1)
bitor
friend
switch
bool
goto
synchronized (TM TS)
break
if
template
case
import (modules TS)
this
catch
inline(1)
thread_local (since C++11)
char
int
throw
char16_t (since C++11)
long
true
char32_t (since C++11)
module (modules TS)
try
class(1)
mutable(1)
typedef
compl
namespace
typeid
concept (since C++20)
new
typename
const
noexcept (since C++11)
union
constexpr (since C++11)
not
unsigned
const_cast
not_eq
using(1)
continue
nullptr (since C++11)
virtual
co_await (coroutines TS)
operator
void
co_return (coroutines TS)
or
volatile
co_yield (coroutines TS)
or_eq
wchar_t
decltype (since C++11)
private
while
default(1)
protected
xor
delete(1)
public
xor_eq
                       do
                  register(2)


Trigraphs

في برمجة الكمبيوتر، تكون digraphs and trigraphs عبارة عن تسلسلات من حرفين وثلاثة أحرف، على التوالي، تظهر في الكود المصدري، ووفقًا لمواصفات لغة البرمجة، يجب معاملتها كما لو كانت أحرفًا فردية.

Trigraphs هي أحرف خاصة متسلسلة تُستخدم كملفات ISO عندما لا يدعم النظام ASCII، مثل ISO  646. على سبيل المثال، trigraph '= ؟؟' يولد أحرفًا خاصة مثل "#". هناك العديد من الأحرف البديلة الخاصة تسمى متواليات مثلثية. 


لماذا توجد Digraphs و Trigraphs؟

توجد أسباب مختلفة لاستخدام digraphs و trigraphs: قد لا تحتوي لوحات المفاتيح على مفاتيح لتغطية مجموعة الأحرف الكاملة للغة، وقد يكون إدخال الأحرف الخاصة أمرًا صعبًا، وقد يحتفظ محررو النصوص ببعض الأحرف للاستخدام الخاص وما إلى ذلك.

Trigraphs 

يستبدل المعالج المسبق C جميع تكرارات التسلسلات التسعة التالية من trigraph بمكافئاتها من حرف واحد قبل أي معالجة أخرى.

لماذا توجد Digraphs و Trigraphs؟


؟؟؟ ليس في حد ذاته تسلسل trigraph، ولكن عندما يتبعه حرف مثل - سيتم تفسيره على أنه ؟ + ؟؟ -


➋ Digraphs

على عكس trigraphs، يتم التعامل مع digraphs أثناء الترميز، ويجب أن تمثل Digraph دائمًا رمزًا كاملاً بحد ذاته، أو تؤلف الرمز المميز%:%: استبدال رمز تسلسل ما قبل المعالج ##. إذا حدث تسلسل Digraph داخل رمز آخر، على سبيل المثال سلسلة مقتبسة، أو حرف ثابت ، فلن يتم استبداله.


مساحة حرة أو مسافة بيضاء في ++C

الفضاء الفارغ في ++C هو مصطلح يستخدم لوصف (comments) و (new line) وعلامات (Tabs) والمسافات.


يتجاهل ++compiler C  سطر به مساحة فارغة فقط أو (comment).


من خلال إنشاء مسافة بين الأوامر، يمكنك فصل الأجزاء المختلفة من الأوامر، وبالتالي تمكين compiler من اكتشاف أي من العناصر في التعبير، مثل int، و end و بداية العنصر التالي.  


مثال 1


في المثال أعلاه، يجب أن يكون هناك مسافة واحدة على الأقل بين int و age بايت حتى يتمكن compiler من التمييز بينهما.


مثال 2


في المثال 2، المسافة بين الفاكهة و =، = والتفاح غير مطلوبة وتتم إضافتها فقط لمزيد من سهولة قراءة البرنامج.


كلمات مفتاحية: