با توجه به درخواست مکرر دانشجویان تصمیم گرفتم در چند پست جداگانه به آموزش ++c بپردازم. از ساده ترین مثالها شروع خواهم کرد و قدم به قدم پیش خواهیم رفت. در این آموزشها سعی شده است که نکات و آموزشهای لازم را در قالب مثالهای متعدد بیان شود.
شروع برنامه نویسی سی پلاس پلاس
داشتن یک نقشه راه مناسب در یادگیری یک زبان برنامه نویسی میتواند بسیار حائز اهمیت باشد. بنابراین خواندن این نوشته را به شما توصیه میکنم: (نقشه راه برنامه نویسی)
ابتدا کار را بایک برنامهنویسی ساده شروع میکنیم:
// My first program #include <iostream> using namespace std; int main() { cout<<"Hello world!"; return 0; }
توضیحات کد:
خط 1: این خط که به آن comment میگویند توضیحاتی در مورد این برنامه می دهد که بود و نبود آن تاثیری بر درستی اجرای کار این برنامه ندارد. برنامهنویسان حرفهای برای نوشتن توضیحات مختصری در مورد کدشان از آن استفاده میکنند.
خط 3: هر خطی که با # شروع میشود، نشاندهندهی خطوط پیشپردازشی است. این خط نشان میدهد که باید کتابخانه iostream به برنامه اضافه شود. در مورد کتابخانه های ++c در آینده بیشتر صحبت خواهیم کرد. فعلا در این حد بدانید کافی است که چنانچه شما در برنامه تان بخواهید از کاربر مقداری دریافت کنید و یا مقداری به کاربر نشان دهید باید از این خط از دستور در برنامهتان باشد. از آنجاییکه هر برنامه ای که شما مینویسید حداقل یک دستور ورودی و خروجی دارد بنابراین این خط در همه برنامه های شما باید نوشته شود.
خط 4: بهتر است این دستور را بعد از include های برنامه بنویسید، در غیراینصورت قبل از بیشتر خطوط برنامههایتان باید ::std را بنویسید. (این خط در حقیقت حوزهی نام یا namespace برنامه را مشخص میکند که درک آن برای کسی که تجربهی برنامهنویسی ندارد، کمی مشکل است و ترجیح میدهم از توضیح آن خودداری کنم.
خط 6: این خط مشخص کنندهی تابع اصلی در برنامه است. در ادامه با مفهوم تابع آشنا خواهید شد. تا اینجا کافیست بدانید که هر برنامه باید یک و فقط یک ()int main داشته باشد و اولین خطی از برنامه که اجرا میشود اولین خطیست که در ()int main است.
خط 8: این دستور Hello world! را در خروجی چاپ میکند. (توجه کنید که ” چاپ نمیشود)
خط 10: این دستور موجب اتمام برنامه میشود.
اگر مفاهیم مربوط به خطوط اولیه را درک نکردید، اصلا نگران نباشید. با دیدن و نوشتن کدهای بیشتر این مطالب را کاملا درک خواهید کرد. بهترین راه یادگیری برنامهنویسی، کد زدن زیاد میباشد. هر چه بیشتر کد بزنید، به نحوهی نوشتن برنامه مسلط تر و برای یادگیری مطالب جدید آمادهتر میشوید
با اجرای کد بالا خروجی زیر تولید میشود:
!Hello World
مثال 1: برنامهای بنویسید که خروجی زیر را تولید کند:
I love programming
++Specially, I love C
#include <iostream> using namespace std; int main() { cout<<"I love programming."; cout<<"Specially, I love C++."; return 0; }
با اجرای کد بالا خروجی زیر تولید میشود:
++I love programming. Specially, I love C
ممکن است تعجب کرده باشید که چرا با وجود اینکه دو جملهی بالا در دو خط مجزا نوشته شده است ولی در یک خط مجزا چاپ نشده است. توجه به این نکته مهم است که خروجی C++ همیشه در یک خط نوشته میشود مگر اینکه از دستور cout<<endl; استفاده کنید. بدین معنا که هر کجا که بخواهید در یک خط جدید در خروجی چاپ کنید از این دستور استفاده می کنید. بنابراین باید برنامه را به شکل زیر بنویسیم:
#include <iostream> using namespace std; int main() { cout<<"I love programming."; cout<<endl; cout<<"Specially, I love C++."; return 0; }
خروجی کد بالا همان خروجی مورد انتظار است.
مثال 2 : برنامهای بنویسید که دو عدد صحیح بگیرد و مجموع آنها را چاپ کند.
#include <iostream> using namespace std; int main() { int x; int y; cout<<"Please Enter 2 numbers:"; cin>>x; cin>>y; cout<<"Sum of them is:"; cout<<x+y; return 0; }
توضیحات کد:
خط 6 و 7: به x و y متغیر گفته میشود. هر متغیری که در برنامه بخواهید استفاده کنید ابتدا باید نوع آن تعریف شود که به طور مثال در این دو خط متغیرهای x و y تعریف شده است. int از integer و به معنی عدد صحیح گرفته شده است. برای مشخص نمودن اینکه x و y عدد صحیح هستند باید ابتدا آنها را از نوع int تعریف کنیم.
خط 8 تا 12: cin مخفف console input و برای گرفتن ورودی از کاربر میباشد. cout مخفف console output و برای چاپ خروجی است. توجه داشته باشید که جهت فلشها در cin و cout متفاوت است.
با اجرای کد بالا و وارد کردن اعداد 3 و 4، در انتها خروجی زیر تولید میشود:
Please Enter 2 numbers: 3
4
Sum of them is: 7
مثال 3: برنامهای بنویسید که 3 عدد صحیح بگیرد و میانگین آنها را چاپ کند.
#include <iostream> using namespace std; int main() { int x; int y; int z; cout<<"Enter first number:"; cin>>x; cout<<"Enter second number:"; cin>>y; cout<<"Enter third number:"; cin>>z; int sum=x+y+z; cout<<"Average of them is:"; cout<<sum/3.0; return 0; }
توضیحات کد
خط 15: هنگام تعریف متغیر میتوان مقدار آن را نیز مشخص کرد.
خط 17:
در مخرج کسر به این دلیل sum را بر 3.0 تقسیم میکنیم که نشان دهیم منظورمان تقسیم اعشاری است.. مثلا حاصل تقسیم 11 بر 3 که یک تقسیم صحیح است برابر 3 و حاصل عبارت 11/3.0 که یک تقسیم اعشاری است برایر 3.67 خواهد بود.
Enter first number: 8
Enter second number: 7
Enter third number: 12
Average of them is: 9
مثال 4: برنامهای بنویسید که شعاع دایرهای را دریافت کند و محیط و مساحتش را چاپ کند.
#include <iostream> using namespace std; int main() { double Pi = 3.14; double r; double S; double P; cout<<"Enter radius of a circle:"; cin>>r; S=Pi*r*r; P=2*Pi*r; cout<<"Area of the Circle:"; cout<<S; cout<<endl; cout<<"Perimeter of the circle is:"; cout<<P; return 0; }
توضیحات کد:
خط 6: برای تعریف اعداد اعشاری از نوع double استفاده میکنیم.
Enter radius of a circle:3
Area of the Circle:28.26
Perimeter of the circle is:188.4
در مثال قبل با نوع داده ای double آشنا شدیم و در مثال قبل از آن با نوع داده ای int. بد نیست که در اینجا لیستی از انواع دادهای مورد استفاده در ++c را با هم مرور کنیم.
نام | ……….. | دسته نوع داده ای |
int | ……….. | عدد صحیح |
float | ……….. | عدد اعشاری |
double | ……….. | عدد اعشاری |
char | ……….. | کاراکتر |
string | ……….. | رشته |
bool | ……….. | بولین |
در لیست بالا float و double در نوع عدد اعشاری دسته بندی شده اند. تفاوت این دو در دقت اعداد اعشار است. float تا 6 رقم اعشار دقیق است و double تا 10 رقم اعشار. با سایر انواع دادهای در ادامه آشنا خواهید شد.
مثال 5: برنامه ای بنویسید که نام یک شخص را دریافت و به صورت زیر یک پیغام خوشآمد گویی چاپ کند.
***Welcome to C++ programming , نام شخص ***
#include <iostream> #include <string> using namespace std; int main() { string name; cout<<"Please enter your name:"; cin>>name; cout<<"***"; cout<<name; cout<<", Welcome to C++ programing***"; cout<<endl; return 0; }
توضیحات کد:
خط 2: در این برنامه از نوع دادهای string استفاده شده است. به این دلیل که قرار است از ورودی یک نام دریافت کنیم و در یک متغیر ذخیره کنیم. در متغیرهایی از جنس string رشته ای از کاراکتر (مانند کلمه و جمله) میتوانند ذخیره شوند. در صورتی که در برنامه از string استفاده میکنید کتابخانه string را به برنامه اضافه کنید
Please enter your name: Ali
***Ali, Welcome to C++ programing***
تا کنون با طرح مثالهای خیلی ساده سعی بر معرفی مقدمات ++c داشتیم. این جلسه را با ذکر چند نکته به پایان میرسانیم:
1- نامگذاری متغیرها: نام هر متغیر میتواند شامل ارقام 9,…,1,0 و حروف کوچک و بزرگ انگلیسی و کاراکتر ‘_’ باشد، هیچ متغیری با عدد نباید شروع شود. مثلا متغیرهای a_b, ab، b، a متغیرهای مجاز و متغیر 1ab یک متغیر غیر مجاز و غیر قابل استفاده در ++c است.
2- تبدیل انواع دادهای: در زمان محاسبه عباراتی مثل 2.0/11 وقتی که عملوندها از یک نوع نیستند معمولا نوع محدودتر به نوع نامحدودتر تبدیل میشود. به طور مثال 11 صحیح است و 2.0 اعشاری و چون محدودیت اعداد اعشاری از اعداد صحیح کمتر است، 11 به 11.0 یعنی اعشاری تبدیل میشود و طرفین / هر دو اعشاری هستند و تقسیم اعشاری انجام میشود.
3- دستور getline: چنانچه با استفاده از دستور cin بخواهید ورودی کاربر را در متغیر از نوع string ذخیره کنید ممکن است به مشکلی بربخورید: مثلا اگر کاربر ali reza وارد کند مقداری که در متغیر شما ذخیره میشود ali است نه ali reza. (امتحان کنید) زیرا دستور cin ورودی را تاجایی میخواند که به space یا enter برسد. بنابراین اگر بخواهید کل خط را از ورودی دریافت کنید باید از دستور getline به صورت زیر استفاده کنید:
string s; getline(cin,s);
4- توضیحات: توضیحات برای وضوح بیشتر کد نوشته میشود. این خطوط در نحوهی اجرای برنامه هیچ تاثیری ندارند و فقط به منظور خواناتر شدن کد نوشته میشود که اگر شخص دیگری (یا خودتان) بعد از چند ماه به بررسی این کد از برنامه پرداخت راحتتر با نحوهی پیادهسازی کد آشنا شود. مثلا به برنامه زیر توجه کنید:
#include <iostream> using namespace std; int main() { int x; //This variable is used for user's salary cout<<"Enter the user's salary:"; cin>>x; return 0; }
خط 7: این توضیحات نشان میدهد که متغیر x جهت نگهداری میزان دستمزد کاربر به کار میرود.
نوشتن توضیحات اجباری نیست ولی بیشتر برنامهنویسان حرفهای (مخصوصا در پروژههای بزرگ) حتما توضیحات مختصر و مفیدی در کد برنامه مینویسند.
نحوهی نوشتن توضیحات:
دو روش برای این کار وجود دارد:
1- توضیحات یک خطی: برای این کار از // استفاده میکنیم و هر کجا که // قرار گیرد، هر آنچه که بعد از آن قرار گیرد، توضیحات برنامه محسوب میشود.
2- توضیحات چند خطی: هر آنچه بین /* و */ قرار گیرد، توضیحات بهحساب میآید. مثل:
/* This is a comment and this an another comment */
4- فایلهای سرآیند: برای استفاده از هر دستوری باید include# مربوط به آن را قرار دهیم. مثلا برای استفاده از تابع sin(x) باید <include<cmath# را در ابتدای برنام قرار دهیم، یا برای استفاده از string باید <include<string# را در ابتدای برنامه قرار دهیم. لیستی از فایلهای سرآیند که معمولا استفاده میشود در زیر آمده است:
در این نوشته مقدماتی از برنامه نویسی سی پلاس پلاس را به شما آموزش دادم، در نوشته بعدی به ساختار شرط در سی پلاس پلاس می پردازم:
اگه دوست دارید به آموزش کامل سی پلاس پلاس دسترسی داشته باشید میتونید از لینک زیر این دوره رو دریافت کنید:
یوتیوب پلاس سی پلاس پلاس
چرا یوتیوب پلاس ++C؟
اگر شما ویدیوهای سی پلاس پلاس من در یوتیوب رو دیده باشید از کیفیت و محتوای با ارزش ویدیوها اطلاع دارید و احتمالا به همین دلیل هم است که تصمیم گرفتید این دوره رو خریداری کنید. شما با خرید این دوره در واقع دارید کیفیت کدنویسی خودتون رو بالاتر میبرید، بعضی از تمرینهایی که برای هر جلسه در یوتیوب مشخص کردم نیاز به فکر و وقت بیشتری داره و بعضی های دیگه نیاز…