وقتی صحبت از برنامه به زبان ++C می کنیم، می توانیم آن را مجموعه ای از اشیا که از طریق احضار متدها(method) با هم ارتباط برقرار می کنند درنظر بگیریم. حال بگذارید نگاهی خلاصه به معنای کلاس، شی، متد، متغیرهای نمونه(instant variable) بیندازیم.
- شی – اشیا دارای وضعیت(state) و رفتار(behavior) هستند.مثال: یک سگ دارای وضعیت – رنگ، نام، گونه می باشد و همچنین دارای رفتار – تکان خوردن، پارس کردن و خوردن است. یک شی نمونه ای از یک کلاس است.
- کلاس – یک کلاس را می توان به عنوان یک الگو/طرح اولیه(blueprint) تعریف کرد که رفتار/وضعیت های شی از آن نوع را توصیف می کند.
- متد – متد در اصل یک رفتار است. یک کلاس می تواند شامل متدهای زیادی باشد. در متدها است که منطق کلاس نوشته شده، داده دستکاری شده و همه عملیات ها انجام می گیرد.
- متغیرهای نمونه – هر شی یک مجموعه یکتا از متغیرهای نمونه دارد.وضعیت یک شی را با مقداری که به این متغیرهای نمونه نسبت می دهیم، ایجاد خواهیم کرد.
ساختار برنامه ++C
اجازه دهید یک کد ساده که کلمات Hello World را چاپ می کند را بررسی کنیم.
#include <iostream> using namespace std; // main() is where program execution begins. int main() { cout << "Hello World"; // prints Hello World return 0; }
حال نگاهی به بخش های مختلف این برنامه می اندازیم.
- زبان ++C چندین هدر(header) تعریف میکند، که شامل اطلاعاتی ضروری یا مفید برای برنامه هستند. برای این برنامه، هدر <iostream.h> ضروری است.
- خط ;using namespace std به کامپایلر اعلام می کند که از فضای نام std استفاده کند. فضای نام اخیراً به ++ Cاضافه شده است.
- خط بعدی ‘// main() is where program execution begins.‘ یک کامنت تک خطی در ++C است. کامنت های تک خطی با // آغاز شده و در انتهای آن خط به پایان می رسند.
- خط بعدی ;“cout << “Hello World پیام “Hello World” را بر روی صفحه نمایش نشان می دهد.
- خط بعدی ;return 0 تابع ()main را پایان داده و مقدار 0 را به پروسس(process) فراخواننده بازمی گرداند.
کامپایل و اجرای برنامه ++C
اجازه دهید نحوه ذخیره فایل، کامپایل و اجرای برنامه را بررسی کینم. لطفاً مراحل زیر را دنبال کنید
- یک ویرایشگر متن باز کرده و کد بالا را به آن اضافه کنید.
- فایل را با نام hello.cpp ذخیره کنید.
- ‘g++ hello.cpp’ را تایپ کرده و دکمه enter را بزنید تا کد شما کامپایل شود. اگر هیچ خطایی در کد شما وجود نداشته باشد، خط فرمان به خط بعدی رفته و یک فایل اجرایی با نام a.out تولید می کند.
- اکنون، ‘a.out’ را تایپ کرده تا برنامه شما اجرا شود.
- عبارت ‘Hello World” را بر صفحه نمایش مشاهده خواهید کرد.
$ g++ hello.cpp $ ./a.out Hello World
اطمینان حاصل کنید که ++g در PATH شما قرار داشته و ترمینال درست در پوشه ای قرار دارد که فایل hello.cpp ذخیره شده است. اگر در مور ++g اطلاعاتی ندارید جلسه دوم آموزش را از لینک زیر ببینید:
اگر لینوکسی هستید می توانید برنامه های ++C/C را با استفاده از makefile کامپایل کنید. برای جزئیات بیشتر، آموزش Makefile را ملاحظه کنید. اگر نمیدونید makefile چیت است ولش کنید و ادامه را بخونید.کلیت داستان مهم است و پایه زبان ++C یکی است.
سمیکولونها و بلوک ها در ++C
در ++C، سمی کولون(;) پایان دهنده دستور می باشد.یعنی، هر دستور مجزا باید به یک سمی کولون ختم گردد. سمی کولون پایان یک هویت منطقی(Logical Entity) را نشان می دهد.
برای مثال، عبارت های زیر سه دستور مجزا هستند
x = y; y = y + 1; add(x, y);
یک بلوک مجموعه ای از عبارت های منطقی متصل به هم هستند که به وسلیه آکلاد({}) باز و بسته احاطه شده اند. برای مثال:
{ cout << "Hello World"; // prints Hello World return 0; }
++C انتهای خط را به عنوان پایان دهنده دستور تشخیص نمی دهد. به همین دلیل، هیچ اهمیتی ندارد که شما یک دستور را در یک خط قرار دهید یا نه. برای مثال
x = y; y = y + 1; add(x, y);
دقیقاً مشابه
x = y; y = y + 1; add(x, y);
است.
شناسه ها در ++C
شناسه در ++C نامی است که برای شناسایی یک متیغر، تابع، کلاس، ماجول یا هر آیتم تعریف شده توسط کاربر به آن اختصاص می یابد.یک شناسه با یک حرف از A تا Z یا a تا z و یا یک زیرخط(_) آغاز شده و می توان پس از آن چند حرف، زیرخط یا اعداد(0-9) نوشت یا هیچ چیزی ننوشت.
++C اجازه استفاده از کارکترهای نگارشی مانند @، $ و % را درون شناسه ها نمی دهد. ++C یک زبان برنامه نویسی حساس به حروف بزرگ و کوچک است.بنابراین، MELEC و melec دو شناسه متفاوت در ++C به حساب می آیند.
چند مثال از شناسه های قابل قبول در زیر لیست شده است:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
کلیدواژه های ++C
لیست زیر واژه های رزور در ++C را نشان می دهد. این کلمات رزرو را نمی توان به عنوان متغیر یا ثابت(const) یا هر شناسه دیگری بکار برد.
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template |
حروف رمز سه گانه(Trigraph)
برخی از کارکترها وجود دارند که برای بیان آنها می توان از یک روش جایگزین استفاده کرد. این روش جایگزین تری گراف نام دارد. یک تری گراف یک دنباله سه کارکتری است که بیان کننده یک کارکتر منفرد است. این دنباله ها همیشه با یک علامت سوال آغاز می شوند.
تری گراف ها در هرجایی که ظاهر شوند(از عبارات رشته ای گرفته تا عبارات کارکتری، در کامنت ها یا در اعلان های پیش پردازنده) بسط می یابند.
لیست زیر پرکاربردترین دنباله های تری گراف را نشان می دهد.
Trigraph | Replacement |
??= | # |
??/ | \ |
??’ | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
همه کامپایلرها از تری گراف ها پشتیبانی نمی کنند و بنابراین توصیه می شود به دلیل طبعیت گیج کننده ای که دارند از آنها استفاده نکنید.
فضاهای خالی در ++C
خطی که تنها شامل یک فضای خالی، احتمالاً یک کامنت باشد به عنوان خط خالی شناخته شده و کامپایلر ++C آن را به طور کلی نادیده می گیرد.
فضای خالی واژه ای برای توصیف جای خالی، تب ها، کارکترهای خط جدید و کامنت ها در ++C می باشد. فضای خالی یک بخش از دستور را از بخش دیگر آن جدا کرده و کامپایلر را قادر می سازد تا تشخیص دهد کجا یک المان از دستور، مانند int ، پایان یافته و المان بعدی شروع می شود.
دستور 1
int age;
در دستور فوق، حداقل باید یک کارکتر فضای خالی (معمولاً یک space) بین int و age وجود داشته باشد تا کامپایلر بتواند آنها را از یکدیگر تشخیص دهد.
دستور 2
fruit = apples + oranges; // Get the total fruit
در دستور بالا، هیچ کارکتر فضای خالی بین fruit و =، یا بین = و apples نیاز نیست، اما برای خوانایی بهتر شما مجاز هستید که از فضای خالی استفاده کنید. الان که دستور زبان پایهای ++C را مطالعه کردید در ادامه نحوه کانت گذاری در Cpp را یاد میگیریم.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.