• اگر سمپادی هستی همین الان عضو شو :

    ثبت نام عضویت

آموزش زبان‌برنامه‌نویسی سی‌پلاس‌پلاس

ارسال‌ها
2,232
امتیاز
5,591
نام مرکز سمپاد
شهید بهشتی
شهر
کرمانشاه - تهران
سال فارغ التحصیلی
1389
مدال المپیاد
شاید
دانشگاه
دانشگاه
رشته دانشگاه
مهندسی کامپیوتر
سلام و وقت بخیر.

الان که اینترنتا قطعه و بیکار هستید بنظرم وقت خوبیه که یه مهارتی یاد بگیرید.

حالا من اینجا زبان برنامه‌نویسی سی‌پلاس‌پلاس رو آموزش می‌دم، ( از صفر )، شاید بدردتون خورد.


اول یه تاریخچه‌ای از زبان سی‌پلاس‌پلاس می‌گم.


- زبان سی‌پلاس‌پلاس یه زبان مبتنی بر زبان سی هست که توسط بیارنه استروستروپ توی سال ۱۹۷۹ ساخته شد.
این زبان درواقع ایرادات زبان سی رو رفع می‌کرد و یک نسخه‌ی بهتر از سی بود.

دانستی جالب : علت انتخاب ++ برای اسم جدید این هست که توی زبان سی از ++ برای اضافه کردن یک به یه عددی استفاده می‌شه.

توی پست های بعدی قدم به قدم زبان سی‌پلاس‌پلاس رو یادتون می‌دم.
 
اول زبان برنامه‌نویسی چی هست؟

زبان برنامه‌نویسی درواقع راهی برای ارتباط با کامپیوتر هست.

کامیپوتر اصلا زبان آدمیزاد رو نمی‌فهمه و فقط زبان مختص خودش که اسمش ماشین‌کد هست رو می‌فهمه.
ماشین‌کد درواقع همون 0 و 1 هست.
که این صفر و یک ها کنار هم قرار می‌گیرن و یه دستوری رو می‌سازن.
برای مثال یه دستوری توی زبان اسمبلی ( Assembly ) هست که یه چیزی رو کپی می‌کنه ( یه داده خیلی کم که توی یه حافظه‌ی رم کپی می‌شه )
این دستور رو به صورت
MOV destination, source
هست.
move خود دستور و destination جایی که داده قرار می‌گیره ( ریجستر یا mem loc باشه )
و سورس هم جایی هست که داده رو از اون میخونن.
حالا این دستور به ظاهر سخت توی زبان ماشین کد اینجوری‌ه.


01001000 dec. src.
اینجوری

همچی رو باید به باینری تبدیل می‌کردن.

هدف زبان برنامه‌نویسی حرف زدن با کامپیوتر بود که ول اینجوری سخت بود ولی کم کم داره ساده تر می‌شه.



این یه مقدمه‌ای بود که بنظرم بدونیدش بد نیست.

توی پست بعدی می‌ریم سراغ سی‌پلاس‌پلاس.
 
خب اول باید یه چیزی رو بگم.

هر زبانی نیاز به یک مترجم داره که به زبان پایین تر خودش ترجمه شه.
هر زبانی از یه زبانی ساخته شده و باید ترجمه شه و اون مترجم اسمش کامپایلر ( Compiler ) هست.

زبان سی‌پلاس‌پلاس هم نیاز به کامپایلر داره.

همچنین شمام نیاز به یه IDE ( محیطی برای کدنوشتن دارید ) که بنظر من برای شروع Dev-CPP خیلی خوبه ( کامپایلر و IDE رو همزمان داره و محیط ساده‌ای داره.
میتونید از این لینک دانلود کنید برای ویندوز ( بالای ویندوز هفت ) و رمز فایل هم www.yasdl.com هست.
https://dl.yasdl.com/2021/Software/Dev-Cpp.6.3_YasDL.com.rar?aa2bb

توی پست بعدی یه آموزش کار با Dev-CPP میذارم.
 
محیط نرم‌افزار Dev-CPP
9108dd0a-b80c-4bfb-9f52-9a04b413080d


1 - ساختن یک فایل
2- باز کردن فایل

3- کامپایل کردن فایل
4- اجرا کردن کد

شماره‌ی 3 درواقع چک می‌‎کنه کدتون رو برای ارور و یه خروجی می‌ده ولی اجرا نمی‌شه به این فرایند کامپایل کردن گفته می‌شه.
 
آماده‌ید بریم خود زبان رو تدریس کنیم یا بیشتر با نرم‌افزار Dev-CPP کار کنیم؟
 
خب بریم سراغ آموزش خود زبان.

هر کد/برنامه‌ای توی سی‌پلاس‌پلاس باید توی این چهار چوب باشه.

C++:
#include <iostream>

int main() {
    محل نوشتن کد برنامه
    return 0;
    
}

شاید ترسناک بنظر برسه اما قدم به قدم بررسی میکنیم.

بخش اول دستور
C++:
#include
رو داریم، این دستور چی می‌کنه؟
اول شما مثلا بهتون می‌گن حاصل 2 + 2 رو حساب کنید.
شما توی دبستان یاد گرفتید که علامت + یعنی جمع پس می‌آین 2 رو با 2 جمع می‌کنین که می‌شه 4
حالا کامپیوتر هم یک‌سری دستور رو نمی‌فهمه و برای اینکه بفهمه این دستور چیه باید به کتابخانه‌ای که دستور توش تعریف شده برای کامپیوتر بره و دستورو بفهمه و اجرا کنه.
توی زبان سی‌پلاس‌پلاس کتابخانه رو با دستور
C++:
#include <اسم کتابخانه>
به کامپیوتر نشون می‌دیم.

بخش بعدی int main() هست که لازم نیست بدونید چیه و چیکار می‌کنه اما بدونید که هردستوری که می‌خوایید اجرا شه باید توی int main() باشه یعنی اینجوری :
C++:
int main() {
    محل کد
}
باشه.
اما برنامه نیاز داره که بفهمه که کجا کد تموم می‌شه و باید از دستور return 0 کنیم.
اینم لازم نیست بدونید چیه بعدا می‌فهمید اما بدونید که دستوری بعد return 0 اجرا نمی‌شه.

و بخش آخر سمی‌کالن یا همون ;
توی زبان سی‌پلاس‌پلاس برای اینکه به کامپایلر یا همون مترجم نشون بدیم که دستور تموم شده و باید بره دستور بعدی ( خط بعدی ) از علامت ; استفاده می‌کنیم.
درواقع این دستور می‌آد می‌گه این تموم شده و برو خط بعدی رو اجرا کن.

پس چهارچوب کد برای سی‌پلاس‌پلاس شد این :
C++:
#include <iostream>

int main() {
    محل کد
    return 0;
    
}


یه نکته!
کتابخانه iostream توی سی‌پلاس‌پلاس برای گرفتن ورودی ( در آینده آشنا می‌شیم ) و خروجی گرفتن استفاده می‌شه.
 
چند نکته :

این آموزش ویراست نشده و لحنش بیان بد هست به زودی من اینو ویراستاری‌ش می‌کنم تا بهترین کامل متوجه شید.
این آموزش تنهایی به هیچ دردی نمی‌خوره وخودتون باید ( مجبورید ) که تمرین کنید.
هر مشکلی که داشتید می‌تونید بهم توی بانگ یا پ.خ بگید.

یک سری بخش ها هست به عنوان تمرین که باید انجام بدید، و جواب هر تمرین آخر هفته مشخص می‌شه ( اول هفته تمرین مشخص می‌شه )

بعد از این می‌ریم سراغ خروجی گرفتن.
 
خب حالا می‌ریم سراغ چاپ خروجی.

به طور کلی دستور چاپ یه چیزی توی زبان س‌پ‌پ اینجوری‌ه :
C++:
cout << چیزی که می‌خوایید

حالا برای اینکه چی بنویسیم یک اصولی نیازه.
اول اینکه اگه می‌خوایید یه متنی رو چاپ کنید باید توی " " ( دابل کوتیشن ) باشه.
دوم اینکه باید توی چهارچوب استاندارد س‌پ‌پ باشه و دستور خالی رو بنویسیم غلطه

حالا برای مثال اینجا من چاپ می‌کنم Hello Sampadia

C++:
#include <iostream>
using namespace std;

int main() {
    cout << "Hello Sampadia";
    
    return 0;
}

اگه این کد رو اجرا کنید میبینید که برنامه می‌گه Hello Sampadia
پیشنهاد می‌کنم خودتون هم بنویسید یه کدی رو که خروجی بده ولی مراقب باشید که سمی کالن رو جا نذارید و using namespace std رو هم جا نندازید.
 
بخش دوم رفتن به خط بعدی.


C++:
#include <iostream>
using namespace std;

int main() {
    cout << "Hello";
    cout << "Iran";
    
    return 0;
}

این کد رو اجرا کنید به نظرتون خروجی چیه؟

HelloIran
اما چرا؟
اول اینکه زبان س‌پ‌پ دقیقا دقیقا دقیقا هرچیزی که توی کوتیشن ها باشه رو خروجی می‌ده یعنی حتی اسپیس هم حساب می‌شه.

دوم اینکه س‌پ‌پ به طور عادی خط بعدی نمی‌ره مگه اینکه از endl استفاده کنیم.

که اونم باید بازم از اوپراتور >> استفاده کنیم.

یعنی مثلا اگه بخوایم بگیم
کد:
I'm Learning
C++
باید بنویسیم
C++:
cout << "I'm learning" << endl;
cout << "C++";
حالا این دستوره ولی اگه کامل به صورت کد بنویسیم می‌شه
C++:
#include <iostream>
using namespace std;

int main() {
    cout <<"I'm learning " << endl;
    cout << "C++";
    
    return 0;
    
}

دو نکته.
اول اینکه باید اسپیس رو داشته باشید.
دوم اینکه باید سمی کالن رو هم جا نندازید.
 
الانم می‌ریم سراغ اولین تمرین

تمرین شما این هست که
یه برنامه‌ای بنویسید که می‌گه

کد:
I like Programming
I'm learning C++

دقیقا همینجوری با اسپیس و...
جواب تمرینو اگه خواستید بفرستید و اینکه جواب تمرین هم هفته‌ی بعد ارسال می‌شه.
 
Back
بالا