نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: آموزش برنامه نویسی به زبان ++ c

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #4
    عضو انجمن abbas141 آواتار ها
    تاریخ عضویت
    Nov 2012
    محل سکونت
    تهران
    نوشته ها
    284
    تشکر تشکر کرده 
    546
    تشکر تشکر شده 
    472
    تشکر شده در
    283 پست

    پیش فرض قسمت چهارم ( ثوابت )

    باسلام

    با قسمت چهارم آموزش سی پلاس پلاس در خدمتتون هستم ، در این قسمت قصد دارم به اعلام ثوابت بپردازم

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


    1. استفاده از دستور #define
    2. استفاده از دستور const


    1) برای اعلام ثوابت از طریق دستور #define به روش زیر عمل میکنیم

    کد PHP:
    #define مقدار     نام ثابت 
    نکته 1 : دقت داشته باشید در انتهای دستور #define ، سیمیکلون ( ; ) قرار نمیگرد ، چرا ؟

    زیرا که این دستور از دستورات پیش پردازنده است نه دستورات زبان سی پلاس پلاس !

    نکته 2 : بهتر است برای تفیکیک این گونه ثوابت از متغیر های برنامه، نام آن ها با حروف بزرگ انتخاب شود

    برای اعلان ثوابت با دستور const به صورت زیر عمل میشود

    کد PHP:
    const مقدار نام ثابت   نوع داده 
    توجه : اگر پس از اعلان ثوابت در ادمه برنامه سعی کنید مقادیر آن ها را عوض کنید ، کامپایلر خطایی را به شما نمایش خواهد داد

    مثال از define :
    کد HTML:
    # include <iostream>
    #define ONE 1
    #define TWO 2
    #define THREE 3
    #define FOUR 4
    #define FIVE 5
    using namespace std;
    int main ()
    {
    cout<<"-- start Program --"<<endl<<endl;
    cout<<"one   = 1"<<endl<<endl;
    cout<<"two   = 2"<<endl<<endl;
    cout<<"three = 3"<<endl<<endl;
    cout<<"four  = 4"<<endl<<endl;
    cout<<"five  = 5"<<endl<<endl;
    cout<<"plus  = ONE+TWO+THREE+FOUR+FIVE " <<endl<<endl;
    cout<<"chap  = "<<ONE+TWO+THREE+FOUR+FIVE<<endl<<endl;
    cout<<"-- end Program --";
        return 0 ;
    }

    مثال از const :


    کد HTML:
    # include <iostream>
        const char v = 'v';
        const char b = 'b';
        const char i = 'i';
        const char r = 'r';
        const char a = 'r';
        const char n = 'n';
    using namespace std;
    int main ()
    {
        cout<<"-- start Program --"<<endl<<endl;
        cout<<"chap : " <<v<<b<<i<<r<<a<<n<<endl<<endl;
        cout<<"chap : "  <<v<<b<<i<<r<<a<<n<<"."<<i<<r<<endl<<endl;
        cout<<"-- end Program --";
        return 0 ;
    }

    - - - Updated - - -
    قسمت پنجم ( عملگر ها ) - بخش اول :

    باسلام

    با قسمت پنجم آموزش سی پلاس پلاس در خدمتتون هستم در این قسمت قصد دارم به عملگر ها در سی پلاس پلاس بپردازم

    عملگرد ها نماد هایی هستند که اعمال خاصی را انجام می دهند . به عنوان مثال : نماد " + "عملگری است که دو مقدار را باهم جمع میکند ( عمل جمع را انجام میدهد ) به طور کلی پس از اعلان متغیرها و مقدار دهی به آن ها باید بتوانیم عملیاتی را روی آن ها انجام داد ، برای انجام این عملیات باید از عملگرها استفاده کرد

    عملگر ها در زبان سی پلاس پلاس به چند دسته تقسیم میشنوند :

    1. عملگر های محاسباتی
    2. عملگر های رابطه ای
    3. عملگر های منطقی
    4. عملگر های ترکیبی
    5. عملگر های بیتی
    6. عملگر های متفرقه


    1) عملگر های محاسباتی :

    عملگر نام
    مثال
    - تفریق x - y
    + جمع x + y
    * ضرب x * z
    / تقسیم x / z
    % باقیمانده تقسیم x % j
    -- کاهش x-- یا --x
    ++ افزایش y-- یا --y



    یکی از نکته های بسیار مهمی که در بحث عملگر ها میتونم به آن اشاره کنم ، تقدم عملگر های محاسباتی و شرکت پذیری عملگر ها می باشد ، بهتره با یک مثال ساده توضییح بدهم

    به نظرم شما حاصل این عبارت چه خواهد بود ؟


    کد HTML:
    int x=3,y=6,k=12,j;
    j= x + y / 3 * k;

    اگر ابتدا " x " را با " y " جمع شود و سپس تقسیم بر " 3 " شود و سپس با " k " ضرب شود حاصل 36 خواهد بود

    و یا اگر ابتدا " y " بر " 3 " تقسیم شود و در " k " ضرب شود و سپس حاصل با " x " جمع شود ، حاصل 27 خواهد بود

    اما کدام پاسخ درست است ؟ !!!

    برای یافتن پاسخ باید به نکته زیر توجه کنیم :

    نکته مهم : وقتی در عبارتی چندین عملگر با هم ترکیب میشوند ، ترتیب اجرای آن ها با دو ویژگی زبان برنامه سازی سی پلاس پلاس تغیین میشود :


    1. تقدم عملگر ها
    2. شرکت پذیری عملگر ها


    1) تقدم عملگر ها را میتوانید در جدول زیر مشاهده کنید

    بالاترین تقدم ( ++ ) و ( -- )
    - (منهای یکانی)
    ( % ) و ( / ) و ( * )
    پایین ترین تقدم ( - ) و ( + )



    2) تقدم عملگر هایی که تقدم آن ها یکسان است مثل ( + ) ، ( - ) ، ( % ) ، ( / ) یا ( * ) ترتیب اجرای آن ها براساس قاعده شرکت پذیری زبان سی پلاس پلاس تعیین می شود که در سی پلاس پلاس از چپ به راست می باشد ، یعنی وقتی دو عملگر با تقدم یکسان به طور متوالی قرار گیرند عملگر سمت چپ زودتر انجام میشود

    در نتیجه طبق توضیحات فوق در مثال بالا " ابتدا " y " بر " 3 " تقسیم شود و در " k " ضرب شود و سپس حاصل با " x " جمع شود ، حاصل 27 خواهد بود " صحیح می باشد


    2) عملگر های رابطه ای :

    عملگر ها
    نام مثال
    < بزرگتر x > y
    > کوچکتر y < x
    =< بزرگتر یا مساوی x >= y
    => کوچکتر یا مساوی y <= x
    == متساوی x == y
    =! نامساوی x != y


    3) عملگر های منطقی :

    عملگر های منطقی به ترتیب تقدم ( ترتیب قرار گرفتن آن ها در جدول از تقدم بالا به پایین است )

    عملگر نام مثال
    ! نقیض (not) x!
    && و (and) x > y && m > p
    || یا ( or ) x > y || m > p

    امیدوارم از این بخش از آموزش نیز لذت برده باشید

    - - - Updated - - -

    قسمت پنجم ( عملگر ها ) - بخش دوم :

    با سلام

    با بخش دوم بحث عملگر ها در خدمتتون هستم ، در بخش اول آموزش ، سه تا از عملگر ها رو با هم بررسی کردیم اما هنوز سه عملگر دیگر باقی مانده که در این پست بررسی خواهیم کرد

    4) عملگر های ترکیبی :

    از ترکیب عملگر های محاسباتی و عملگر انتساب ( = ) مجموعه دیگری از عملگر های ایجاد می شود که عمل محاسباتی و انتساب را انجام میدهند ، لیست این عملگر ها را در جدول زیر میتوانید مشاهده کنید

    عملگر
    نام
    مثال
    معادل
    =+ انتساب جمع x += y x = x + y
    =- انتساب تفریق x -= y x = x - y
    =* انتساب ضرب x *= y x = x * y
    =/ انتساب تقسیم x /= y x = x / y
    =% انتساب باقیمانده تقسیم x %= y x = x % y

    5) عملگر های بیتی :

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

    عملگر
    نام
    #
    & و (AND)
    | یا (OR)
    ^ یای انحصاری (XOR)
    ~ نقیض (NOT)
    << شیفت به راست (RIGHT SHIFT)
    >> شیفت به چپ (LEFT SHIFT)

    6) عملگر های متفرقه »

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

    این عملگر ها شامل :

    • عملگر های ( & و * )
    • عملگر علامت سئوال ( ? )
    • عملکر کاما ( , )
    • عملگر Sizeof
    • عملگر پردانتز باز و بسته ()


    1) عملگر های ( & و * ) :

    همان طور که میدانید متغیر ها نامی برای کلمات حافظه هستند و کلمات حافظه نیز دارای شماره ی ردیف می باشند که ما آن ها را آدرس می نامیم .

    با استفاده از عملگر & میتوانیم به آدرس متغیر ها دسترسی داشته باشیم .

    عملگر * نیز برای دسترسی غیر مستقیم به حافظه مورد استفاده قرار میگیرد .

    این عملگر های مربوط به اشاره گر ها هستند که در قسمت های انتهایی سی پلاس پلاس به آن خواهیم پرداخت


    2) عملگر علامت سئوال ( ? ):

    این عملگر عبارتی را ارزیابی کرده ، بر اساس ارزش آن عبارت ( درستی یا نادرستی ) ، نتیجه ی عبارت دیگری را متغیری قرار می دهد :

    مثال :
    کد:
    عبارت 3 : عبارت 2 ؟ عبارت 1 = متغیر;
    توضیحات : اگر "عبارت 1 " دارای ارزش درستی باشد ، مقدار ارزیابی شده ی "عبارت 2 " در متغیر قرار خواهد گرفت و گرنه مقدار ارزیابی شده ی " عبارت 3 " در متغیر قرار خواهد گرفت

    به عنوان مثال دستورات زیر را در نظر بگیرید :

    کد:
    int x,y;
    x = 5 ;
    y = x > 5 ? x * 2 : x * 5
    طبق توضیحات فوق دستورات بالا را بررسی میکنیم

    ابتدا " دستور اول ( x > 5 ) " بررسی میشود و با توجه به این که نادرست است از " دستور دوم ( x * 2 ) " صرف نطر میشود ،

    در نتیجه " مقدار دستور سوم ( x * 5 ) " در متغییر قرار میگرد و مقدار y برابر 25 میشود


    3) عملگر کاما ( , ) :

    از این عملگر برای انجام چند عمل در یک دستور استفاده میشود و کاربرد آن به صورت زیر می باشد :
    کد:
    متغیر = (عبارت 2, عبارت 1);

    4) عملگر Sizeof :

    این عملگر در واقع یک عملگر زمان ترجمه است و میتواند طول یک متغیر یا نوع داده را بر حسب بایت تعیین کند ، اگر با کامپیوتری کار میکنید و نمی دانید انواع آن مثلا نوع int چند بایتی است ،

    با این عملگر میتوانید به آن پی ببرید ، این عملگر به صورت زیر کار میکند
    کد:
    sizeof متغیر ;
    sizeof (نوع داده) ;
    5) عملگر پردانتز باز و بسته () :

    پرانتز ها عملگر هایی هستند که تقدم عملگر های داخل خود را بالا می برند ، به عنوان مثال ، عبارت زیر را در نظر بگیرید

    کد:
    y = 4 * 2 / (3 + 1) + (6 + (7-2))
    برای ارزیابی این عبارت باید ابتدا عبارت موجود در داخلی ترین پرانتز را ارزیابی کرد ، در عبارت فوق ترتیب انجام عملیات به صورت زیر خواهد بود

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

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

    و حاصل آن ها پنج با شش جمع میشود و در نهایت حاصل 13 خواهد شد که در y قرار میگرد

    امیدوارم این قسمت از آموزش هم مفید واقع شده باشد
    ویرایش توسط abbas141 : February 24th, 2015 در ساعت 11:09

  2. تعداد تشکر ها ازabbas141 به دلیل پست مفید


اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. منبع اصلی آموزش برنامه نویسی
    توسط Mr1 در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: October 13th, 2014, 20:37
  2. پاسخ ها: 0
    آخرين نوشته: April 19th, 2013, 03:30
  3. پاسخ ها: 0
    آخرين نوشته: February 18th, 2013, 20:31
  4. پاسخ ها: 0
    آخرين نوشته: January 14th, 2012, 14:19

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •