آموزش سی پلاس پلاس

آموزش سی پلاس پلاس – جلسه اول

بنام حق

دوستان سلام، همونطور که می دونید برنامه نویسی به زبان سی پلاس پلاس در اکثر دانشگاه های ایران و در رشته های صنعتی مختلف و همچنین رشته های مرتبط با فناوری اطلاعات تدریس می گردد. از این رو تصمیم گرفتم که آموزش های این زبان برنامه نویسی رو به صورت جلسه به جلسه برای شما عزیزان علاقه مند آماده کنم.

نظرات شما کمک شایانی به بهبود مطالب خواهد داشت.

 

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

زبان برنامه نویسی سی پلاس پلاس یکی از زبان های برنامه نویسی کاربردی شی گراء است. در مورد شی گرایی به زودی در همین سایت مطلبی را ارائه خواهم نمود. این زبان برنامه نویسی از دسته زبان های سطح بالاست که در این مورد هم به زودی در همین سایت مطالبی رو ارائه خواهم کرد.

برای نوشتن کدهای سی پلاس پلاس و کامپایل اون ها شما نیاز به نصب برنامه ای دارید که توانایی کامپایل این گونه کدها رو داشته باشد. برای همین منظور ما از نرم افزار ویژال استدیو ۲۰۱۲ استفاده می کنیم.

برای آشنایی بیشتر با این نرم افزار و نصب و راه اندازی اولین پروژه می توانید به وب سایت رسمی این نرم افزار مراجعه نمایید.

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

 

همونطور که می بینید در کادر بالایی سورس کدها درج شده اند و در کادر پایینی خروجی برنامه قابل مشاهده است. اعداد کنار کدها فقط برای نشان دادن شماره خط و اطلاع رسانی است و کاربرد خاصی ندارند. برای اجرای کدها بسته به کامپایلر بایستی از روش خاصی استفاده کنید. در ویژال استدیو ۲۰۱۲ بعد از نوشتن کدها کلید F5 را بزنید.

این برنامه ای که در کادر سفید رنگ بالا ملاحظه می کنید یک برنامه کامل در زبان سی پلاس پلاس است. در واقع این برنامه بسیار ساده است و کار آن چاپ عبارت “Hello World!”  در خروجی است. شما می توانید خروجی برنامه را در کادر سیاه رنگ بالا ملاحظه نمایید. اما در عین حال این برنامه تمامی اجزاء مورد نیاز یک برنامه سی پلاس پلاس را داراست.

تا اینجا شما با کلیات این برنامه آشنا شدید حالا می خواهیم خط به خط این برنامه را بررسی نماییم.

در خط اول ما دستور زیر را داریم.

این دستور توضیحات کوتاهی در مورد برنامه ی ما را اعلام می کند. این خط دستور در زمان اجرا هیچ عملی را انجام نمی دهد. به خطوطی که با علامت // شروع شده باشند خطوط توضیحات یا comment گفته می شود. در واقع این خطوط فقط برای اطلاع رسانی قسمت های مختلف برنامه برای مراجعات بعدی استفاده می گردند.

 

در خط سوم ما دستور زیر را داریم

 این دستور معمولا توسط نرم افزار ویژال استدیو نوشته می شود و در واقع کتابخانه ای که برای اجرای برنامه لازم هست را به برنامه اضافه می کند. در مورد کتابخانه ها در جلسات بعدی بیشتر صحبت خواهیم کرد.

 

در خط چهارم و پنجم دستورات زیر را داریم

 در خط اول یکی دیگر از کتابخانه های مربوط به سی پلاس پلاس به برنامه افزوده شده است. از این کتابخانه برای چاپ اطلاعات در خروجی استفاده می گردد. در خط پایینی یک namespace معرفی شده است. برخی از دستورات سی پلاس پلاس دارای namespace هستند. مثلا اگر ما این خط را ننوشته باشیم باید در زمان استفاده از دستور cout از این روش استفاده کنیم. std.cout که برای کوتاه تر شدن برنامه ها در ابتدای برنامه این namespace را به برنامه اعلام می نماییم.

در خط هفتم دستور زیر را داریم

 این خط در واقع شروع بدنه اصلی برنامه سی پلاس پلاس ماست. این خط توسط ویژال استدیو ۲۰۱۲ ایجاد شده است. معمولا در کتاب های آموزشی به جای این دستور از دستور زیر استفاده می شود.

 که در واقع بین این دو دستور تفاوت آنچنانی وجود ندارد. در واقع دستوراتی که بعد از این دستور و در داخل {} قرار می گیرند دستورات اصلی برنامه را شامل می شوند.

در خط نه دستور زیر را داریم

 با استفاده از این دستور یک متن یا متغییر را می توان در خروجی نمایش داد. در اینجا عبارتی که داخل “” قرار می گیرد در خروجی نمایش داده می شود. شکل کلی دستور به همین صورت بوده و در جای جای برنامه می توان از آن استفاده نمود.

در خط ده دستور زیر را داریم

 همانطور که گفته شد ما در ویژال استدیو ۲۰۱۲ کار می کنیم و خروجی دستور در یک صفحه سیاه رنگ شبیه به داس نمایش داده می شود. اگر از این دستور استفاده نکنیم برنامه به سرعت اجاره شده و بسته می شود. این دستور برنامه را منتظر نگه داشته تا کاربر کلیدی را بفشارد و بعد از آن برنامه بسته خواهد شد.

در خط یازده دستور زیر را داریم

 همانطور که ملاحظه کردید در دستور خط هفتم در ابتدا با استفاده از دستور int خروجی فانکشن مشخص شده است. int به معنای متغییر عددی است. از آنجایی که دستور return به معنای برگرداندن یک مقدار را برمیگرداند و اینکه در اینجا عدد ۰ را برمیگرداند بدین معنی است که برنامه کار خود را به درستی انجام داده و کار تمام هست. در واقع با وجود این دستور و رسید برنامه به این خط برنامه پایان می یابد.

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

(۵۱۸۱)

17 پاسخ
    • محسن سمسارپور
      محسن سمسارپور says:

      سپاس از شما – این آموزش ها خیلی ادامه دار نیست دوست عزیز منظور از جلسه اول این بوده که بتونید شروع خوبی داشته باشید بقیه موارد رو موردی در صورت نیاز قرار دادم روی وب سایت مثل حلقه های تکرار یا گرفتن میانگین که می تونید با یه جستجو پیداشون کنید.

      پاسخ دادن
  1. sajjad
    sajjad says:

    با سلام و عرض خسته نباشید
    یه سوال از کتاب دایتل بود که نتوانستم راه حلی از آن پیدا کنم.لطفا کد آن را به من بگویید:
    ۴-۱۹(پیدا کردن دو عدد بزرگ) با استفاده از روش به‌کار رفته در تمرین۴-۱۷، دو عدد بزرگ را در میان ۱۰ عدد پیدا کنید (نکته: باید هر عدد را یک بار وارد کنید.)
    -۱۷ (پیدا کردن بزرگ‌ترین عدد) فرآیند یافتن بزرگ‌ترین عدد از جمله برنامه‌های پرکاربرد است. برای مثال، برنامه‌ای می‌تواند بهترین فروشنده را بر اساس میزان فروش تعیین کند. کسی که بیشترین فروش را داشته است، به عنوان برنده انتخاب می‌شود. شبه‌کدی نوشته، سپس برنامه C++ آنرا ایجاد کنید که با استفاده از عبارت while مبادرت به تعیین و چاپ بزرگترین عدد از بین ۱۰ عدد وارد شده توسط کاربر کند. برنامه باید از سه متغیر به شرح زیر استفاده نماید:
    counter: یک شمارنده برای شمارش تا ۱۰
    number: عدد جاری وارد شده به برنامه.
    largest: بزرگترین عدد دریافت شده تا بدین جا.

    #include
    using namespace std;
    int main()
    {
    int counter=10,i=1,largest,num,temp;
    cout<<"please enter a number:"<>largest;
    while(i<counter){
    cout<<"please enter a number:"<>num;
    if(num>largest){
    temp=largest;
    largest=num;
    temp=largest;
    }
    i++;
    }
    cout<<"the bigest of numbers is:"<<largest<<endl;

    return 0;
    }

    پاسخ دادن
  2. ساناز
    ساناز says:

    سلام یه سوال دارم که ازتون خواهش دارم بهم کمک کنید
    برنامه ای بنویسید که یک گراف را پیاده سازی نماید؟ سپس قطعه کدی بنویسید که الگوریتم جستجوی سطحی را روی گراف پیاده سازی کند؟
    صحت خروجی حاصل از اجرای برنامه را بررسی کنید.

    پاسخ دادن
  3. فاطمه
    فاطمه says:

    سلام دوستان چندتا سوال داشتم اگه پاسخ بدید و توضیح بدید ممنون میشم ۱- برنامه ای که یه عدد بگیره و اعداد اول قبل اونو چاپ کنه این کدو پیدا کردم ولی نمیدونم متغییر k کارش چیه [BODYCLR]int main ()
    {
    {int n,x=2,i,k;
    cin>>n;
    do
    {

    for (i=2,k=0;i<=x/2&&k==0;++i)
    if(x%i==0)
    k++;
    if(k==2)
    cout << x<<endl;
    x++;

    }
    while(x<=n);[/BODYCLR]

    ۲-یه عدد چند رقمی بگیره بعد مرتب سازیش کنه از کوچیک به بزرگ بعد چاپ کنه
    ۳-دوتا رشته بگیره جستجو کنه رشته دوم تو رشته اول هست یا نه

    دوستان اگه میشه توضیح بدید کدشم بدید بعد مبتدیانه بگید 🙂 دستتون درد نکنه

    پاسخ دادن

دیدگاه خود را ثبت کنید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *