در این مقاله به آموزش برنامه نویسی سی پلاس پلاس ++C پرداخته میشود. این آموزش شامل توضیحات کامل همراه با مثالهای کاربردی برای شروع و یادگیری زبان برنامه نویسی ++C است. این مجموعه تحت نظارت مستقیم جناب مهندس امین جلیل زاده مدرس دانشگاه ملی مهارت منتشر شده و هر روز بر مقالات جدید این آموزش افزوده می شود. در ابتدا به معرفی زبان قدرتمند برنامه نویسی ++C میپردازیم.
مقدمه
زبان برنامه نویسی C یک زبان همه منظوره است. دستورالعملهای این زبان بسیار شبیه عبارات جبری و نحو آن شبیه جملات انگلیسی می باشد. این امر سبب میشود که C یک زبان سطح بالا باشد که برنامهنویسی در آن آسان است. ++C که از نسل C است، تمام ویژگیهای C را به ارث برده است. اما برتری فنی دیگری هم دارد: ++C اکنون شیگرا «Object Oriented» است. میتوان با استفاده از این خاصیت، برنامههای شیگرا تولید نمود. برنامههای شیگرا منظم و ساختیافتهاند، قابل روزآمد کردناند، به سهولت تغییر و بهبود مییابند و قابلیت اطمینان و پایداری بیشتری دارند.
تاریخچه برنامه نویسی ++C
در دهه ۱۹۷۰ در آزمایشگاههای بل زبانی به نام C ایجاد شد. انحصار این زبان در اختیار شرکت بل بود تا این که در سال ۱۹۷۸ توسط Kernighan و Richie شرح کاملی از این زبان منتشر شد و به سرعت نظر برنامهنویسان حرفهای را جلب نمود. هنگامی که بحث شیگرایی و مزایای آن در جهان نرمافزار رونق یافت، زبان C که قابلیت شیگرایی نداشت ناقص به نظر میرسید تا این که در اوایل دهۀ ۱۹۸۰ دوباره شرکت بل دست به کار شد و Bjarne Stroustrup زبان ++C را طراحی نمود.
++C ترکیبی از دو زبان C و Simula بود و قابلیتهای شیگرایی نیز داشت. از آن زمان به بعد شرکتهای زیادی کامپایلرهایی برای ++C طراحی کردند. این امر سبب شد تفاوتهایی بین نسخههای مختلف این زبان به وجود بیاید و از قابلیت سازگاری و انتقال آن کاسته شود. به همین دلیل در سال ۱۹۹۸ زبان C++ توسط موسسۀ استانداردهای ملی آمریکا (ANSI) به شکل استاندارد و یکپارچه درآمد.
شروع کار با سی پلاس پلاس
یک برنامه یا Program دستورالعملهای متوالی است که میتواند توسط یک کامپیوتر اجرا شود. برای نوشتن و اجرای هر برنامه به یک ویرایشگر متن و یک کامپایلر احتیاج داریم. بستۀ ++Visual C محصول شرکت میکروسافت و بستۀ C++ Builder محصول شرکت بورلند نمونههای جالبی از محیط مجتمع تولید برای زبان C++ به شمار میروند. که می توانید این محیط ها را نصب کرده و در آنها شروع به کدنویسی کنید. اما خبر خوب این است که در این سایت امکان اجرای کدهای ++C فراهم گردیده و با استفاده از سرویس ابری می توانید در همین جا از هر دستگاهی کدهای خود را اجرا کنید.
مثال ۱ : اولین برنامه “سلام دنیا”
اولین برنامهای که در آموزش برنامه نویسی ++C مینویسیم به محض تولد، به شما سلام میکند و عبارت “Hello, World!” را نمایش میدهد.
#include <iostream> using namespace std; int main() { cout << "Hello, world!\n"; return 0; }
اولین خط از کد بالا یک «راهنمای پیشپردازنده» است. راهنمای پیشپردازنده شامل اجزای زیر است:
- کاراکتر # که نشان میدهد این خط، یک راهنمای پیشپردازنده است. این کاراکتر باید در ابتدای همۀ خطوط راهنمای پیشپردازنده باشد.
- عبارت include
- نام یک «فایل کتابخانهای» که میان دو علامت <> محصور شده است.
خط دوم برنامه یک فضای نامی با نام std را تعیین می کند تا در این فضا بتوان عملیات های ورودی و خروجی را انجام داد.
خط سوم برنامه نیز باید در همه برنامههای ++C وجود داشته باشد. این خط به کامپایلر میگوید که «بدنۀ اصلی برنامه» از کجا شروع میشود. این خط دارای اجزای زیر است:
- عبارت int که یک نوع عددی در C++ است.
- عبارت main که به آن «تابع اصلی» در C++ میگویند.
- دو پرانتز () که نشان میدهد عبارت main یک «تابع» است.
توجه: هر برنامه فقط باید یک تابع ()main داشته باشد.
چهار خط آخر برنامه، «بدنۀ اصلی برنامه» را تشکیل میدهند. دستورات برنامه از خط چهارم شروع شده است و دستور خط چهارم با علامت سمیکولن ; پایان یافته است.
دستور خط پنجم یعنی اینکه تابع اصلی هیچ چیزی را برنمی گرداند.
توضیح یا comment
توضیح یا کامنت، متنی است که به منظور راهنمایی و درک بهتر به برنامه اضافه میشود و تاثیری در اجرای برنامه ندارد. کامپایلر توضیحات برنامه را قبل از اجرا حذف میکند. استفاده از توضیح سبب میشود که سایر افراد کد برنامۀ شما را راحتتر درک کنند. به دو صورت میتوانیم به برنامههای ++C توضیحات اضافه کنیم:
- با استفاده از دو علامت اسلش // : هر متنی که بعد از دو علامت اسلش بیاید تا پایان همان سطر یک توضیح تلقی میشود .
- با استفاده از حالت C : هر متنی که با علامت /* شروع شود و با علامت */ پایان یابد یک توضیح تلقی میشود.
عملگر خروجی
علامت >> عملگر خروجی در C++ نام دارد (به آن عملگر درج نیز میگویند). یک «عملگر» چیزی است که عملیاتی را روی یک یا چند شی انجام میدهد. عملگر خروجی، مقادیر موجود در سمت راستش را به خروجی سمت چپش میفرستد. به این ترتیب دستور:
cout<< 66 ;
مقدار ۶۶ را به خروجی cout میفرستد که cout معمولا به صفحهنمایش اشاره دارد. در نتیجه مقدار ۶۶ روی صفحه نمایش درج میشود.
لیترالها و کاراکترها
یک «لیترال» رشتهای از حروف، ارقام یا علایم چاپی است که میان دو علامت نقل قول ” ” محصور شده باشد. یک «کاراکتر» یک حرف، رقم یا علامت قابل چاپ است که میان دونشانۀ ‘ ‘ محصور شده باشد. پس ‘w’ و ‘!’ و ‘۱’ هر کدام یک کاراکتر است. به تفاوت سه موجودیت «عدد» و «کاراکتر» و «لیترال رشتهای» دقت کنید: ۶ یک عدد است، ‘۶’ یک کاراکتر است و “۶” یک لیترال رشتهای است.
متغیرها و تعریف آنها
«متغیر» مکانی در حافظه است که چهار مشخصه دارد: نام، نوع، مقدار، آدرس. وقتی متغیری را تعریف میکنیم، ابتدا با توجه به نوع متغیر، آدرسی از حافظه در نظر گرفته می شود، سپس به آن آدرس یک نام تعلق میگیرد. در ++C قبل از این که بتوانیم از متغیری استفاده کنیم، باید آن را اعلان نماییم.
نحو اعلان یک متغیر
type name initializer
عبارت type نوع متغیر را مشخص میکند. نوع متغیر به کامپایلر اطلاع میدهد که این متغیر چه مقادیری میتواند داشته باشد و چه اعمالی میتوان روی آن انجام داد. عبارت name نام متغیر را نشان میدهد. این نام حداکثر میتواند ۳۱ کاراکتر باشد، نباید با عدد شروع شود، علایم ریاضی نداشته باشد و همچنین «کلمۀ کلیدی» نیز نباشد.
مقداردهی اولیه
عبارت initializer عبارت «مقداردهی اولیه» نام دارد. با استفاده از این عبارت می توان مقدار اولیهای در متغیر مورد نظر قرار داد. دستور زیر تعریف یک متغیر صحیح را نشان میدهد:
int n = 50;
مقداردهی اولیه به متغیرها
در بسیاری از موارد بهتر است متغیرها را در همان محلی که اعلان می شوند مقداردهی کنیم. استفاده از متغیرهای مقداردهی نشده ممکن است باعث ایجاد دردسرهایی شود. دردسر متغیرهای مقداردهی نشده وقتی بزرگتر میشود که سعی کنیم متغیر مقداردهی نشده را در یک محاسبه به کار ببریم. مثلا اگر x را که مقداردهی نشده در عبارت ;y = x + 5 به کار ببریم، حاصل y غیر قابل پیشبینی خواهد بود. برای اجتناب از چنین مشکلاتی عاقلانه است که متغیرها را همیشه هنگام تعریف، مقداردهی کنیم.
int x=45; int y=0;
ثابتها
در ادامه آموزش برنامه نویسی ++C به مبحث ثابت ها می رسیم. در بعضی از برنامهها از متغیری استفاده می کنیم که فقط یک بار لازم است آن را مقداردهی کنیم و سپس مقدار آن متغیر در سراسر برنامه بدون تغییر باقی میماند. مثلا در یک برنامۀ محاسبات ریاضی، متغیری به نام PI تعریف میکنیم و آن را با ۳.۱۴ مقداردهی میکنیم و میخواهیم که مقدار این متغیر در سراسر برنامه ثابت بماند. در چنین حالاتی از «ثابتها» استفاده میکنیم.
یک ثابت، یک نوع متغیر است که فقط یک بار مقداردهی می شود و سپس تغییر دادن مقدار آن در ادامۀ برنامه ممکن نیست.
تعریف ثابتها مانند تعریف متغیرهاست با این تفاوت که کلمه کلیدی const به ابتدای تعریف اضافه میشود.
مثال تعریف ثابتها
int main() { // defines constants; has no output: const char BEEP ='\b'; const int MAXINT=2147483647; const float DEGREE=23.53; const double PI=3.14159265358979323846 return 0; }
برنامه فوق خروجی ندارد.
عملگر ورودی
برای این که بتوانیم هنگام اجرای برنامه مقادیری را وارد کنیم از عملگر ورودی << استفاده میکنیم. استفاده از دستور ورودی به شکل زیر است:
cin >> variable;
- variable نام یک متغیر است.
مثال ۲: استفاده از عملگر ورودی
برنامۀ زیر یک عدد از کاربر گرفته و همان عدد را دوباره در خروجی نمایش میدهد:
int main() { // reads an integer from input: int m; cout << "Enter a number: "; cin >> m; cout << "your number is: " << m << endl; return 0; }
عملگر ورودی نیز مانند عملگر خروجی به شکل جریانی رفتار میکند. یعنی همان طور که در عملگر خروجی میتوانستیم چند عبارت را با استفاده از چند عملگر << به صورت پشت سر هم چاپ کنیم، در عملگر ورودی نیز میتوانیم با استفاده از چند عملگر << چند مقدار را به صورت پشت سر هم دریافت کنیم. مثلا با استفاده از دستور:
;cin >> x >> y >> z
سه مقدار x و y و z به ترتیب از ورودی دریافت میشوند. برای این کار باید بین هر ورودی یک فضای خالی (space) بگذارید و پس از تایپ کردن همۀ ورودیها، کلید enter را بفشارید. آخرین مثال این جلسه، این موضوع را بهتر نشان میدهد.
مثال ۳: چند ورودی روی یک خط
برنامۀ زیر مانند مثال ۲ است با این تفاوت که سه عدد را از ورودی گرفته و همان اعداد را دوباره در خروجی نمایش میدهد:
int main() { // reads 3 integers from input: int q, r, s; cout << "Enter three numbers: "; cin >> q >> r >> s; cout << "your numbers are: " << q << ", " << r << ", " << s << endl; return 0; }
سخن آخر
در این آموزش به صورت خلاصه و کاربردی زبان برنامه نویسی ++C را معرفی کردیم. برای آموزشهای بیشتر میتوانید به مجموعه آموزشهای سی پلاس پلاس مراجعه نمایید. در درس بعدی با مقاله تاریخچه سی پلاس پلاس در خدمت شما عزیزان خواهیم بود.
خوب بود