تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 10 12345 ... آخرآخر
نمايش نتايج 1 به 10 از 96

نام تاپيک: آموزش ++C

  1. #1
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض آموزش ++C

    سلام ...
    به انجمن هاي برنامه نويسي ديگه (دلفي و ويژوال بيسيک و ويبي.نت ) که مي رفتم ديدم هر کدوم يه تاپيک دارن در مورد آموزش زبان برنامه نويسي اون انجمن . گفتم خوب بهتره انجمن C هم يکي داشته باشه .
    من از امروز ان شاءالله شروع مي کنم . بهتره دوستاي ديگه هم که در مورد Syntax اين زبان مشکل دارن سوالاتشونو تو اين تاپيک مطرح کنن و وقتي هم که مي خوان در مورد مشکل برنامه اي که نوشتن راهنمايي بخوان اون موقع تاپيک جديد ايجاد کنن .
    اميدوارم به کمک دوستان به تاپيک مفيدي تبديل بشه ...

  2. 8 کاربر از sin2x=2sinxcosx بخاطر این مطلب مفید تشکر کرده اند


  3. #2
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    بدون هيچ حاشيه اي شروع مي کنم .
    فقط قبلش اينکه بحث راجع به کلاس ها رو به آخر موکول مي کنم . فعلا بيشتر روي ساخت يافته ( Structured ) بحث مي کنم .
    نکاتي هم که مهم تر هستن با رنگ قرمز نشون ميدم .
    سعي مي کنم مطالب رو به مرور با گذاشتن يکي دو تا فايل PDF ، منظم تر کنم .
    ضمنا از دوستان محترم هم درخواست دارم از کوچکترين اشکال علمي يا املايي چشم پوشي نکرده و گوشزد کنند .


    فصل اول : مباحث پايه اي ++C

    خوب مي خوايم برنامه بنويسيم . به زبان ++C ! تقريبا هر برنامه اي تو ++C ، چه به صورت ساخت يافته نوشته بشه و چه به صورت شي گرا ، حداقل از يک تابع تشکيل ميشه که يکيشون دقيقا اسمش بايد main باشه . اجراي برنامه از تابع main ‌شروع ميشه . يعني کامپايلر مياد و دستورات داخل اين تابع رو خط به خط اجرا مي کنه و اين تابع هست که تابع و کلاس هاي ديگه رو براي انجام کارهاي ديگه فراخواني مي کنه .
    خوب حالا تابع چيه ؟
    اين بمونه براي فصول بعد ....

    مي خوايم سريعا اولين برنامه مونو بنويسيم . پس همون طوري که اشاره شد تابع main مون رو مي نويسيم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اين تعريف تابع main هست . کلمه int ميگه که نوع داده برگشتي اين تابع int هستش . ( در مورد نوع داده بعدا بحث ميشه . ) پرانتزهاي باز و بسته ليست پارامترهاي تابع رو نشون ميدن . ( پارامتر هم بمونه براي چند فصل بعد . چون ما فعلا راجع به تابع main بحث مي کنيم و اين ليست پارامتر ها براي main هميشه خالين . ) اين ليست پارامتر خالي به ما ميگه اين تابع براي انجام کارش هيچ داده يا اطلاعاتي رو دريافت نمي کنه . نوع داده برگشتي هم بمونه براي بعد ولي فقط اينو بدونين که هميشه سعي کنين شکل تعريف تابع main تون اينجوري باشه .
    حالا ما دستوراتمونو تو تابع main مي نويسيم .
    به عنوان مثال مي خوايم يه متني رو چاپ کنيم . کافيه تو تابع main بنويسيم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    هر عبارتي که داخل " " باشه تو خروجي ( که به طور پيش فرض صفحه نمايش هست ) چاپ ميشه .
    اين cout چيه ؟ اين cout يک شي متعلق به کلاس ostream هست که کار چاپ اطلاعات تو صفحه نمايش رو انجام ميده .
    ostream چيه ؟ اين بمونه براي آخر آخر .... شايد هم نرسيديم ...
    >> يه عملگر گفته ميشه که طرف راست خودش رو تو cout قرار ميده و اين کار باعث ميشه که عبارت طرف راستي تو خروجي چاپ بشه . الگوريتم کار براي چاپ اطلاعات تو خروجي در کتابخانه استاندارد ++C وجود داره . بنابراين ما بايد اينو به کامپايلر هم نشون بديم . اين کار با قرار دادن عبارت زير در اول برنامه انجام ميشه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ما گفتيم که از يک شيء به نام cout که متعلق به فضاي نام std هست هم استفاده کرديم . بنابراين اينو هم بايد به کامپايلر گفت . با اين دستور :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    چون گفتيم قبل از تابع main يه int بذارين ، آخر تابع main هم يدونه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بذارين که معلوم بشه اجراي برنامه به پايان رسيده .

    بنابراين برنامه مون به شکل زير در مياد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خروجي برنامه اين ميشه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  4. 4 کاربر از sin2x=2sinxcosx بخاطر این مطلب مفید تشکر کرده اند


  5. #3
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    خوب ادامه مطالب :

    ديديم که مي تونيم با استفاده از شيء cout که معمولا به صفحه نمايش وصله يه چيزي رو تو خروجي چاپ کنيم . حالا برعکس اون اينکه از ورودي يه چيزي بگيريم از cin استفاده مي کنيم . cin هم به طور معمول به صفحه کليد وصله . cin يه مقداري رو از صفحه کليد مي گيره و تو يه متغير ذخيره مي کنه . حالا متغير چيه ؟
    متغير چيزيه که تغيير مي کنه . برنامه نويسان از متغيرها استفاده مي کنن تا مقاديرشون رو طي اجراي برنامه تو اونا ذخيره کنن . هر متغير يه نوع داده داره ، يه مقدار ، يه اسم و يه اندازه .
    انواع داده اصلي ++C عبارتند از :
    int, char, float, double .
    int ، اعداد صحيح رو نگه مي داره . تا اونجايي که يادمه از منفي دو ميليارد تا مثبت دو ميليارد . 4 بايت حافظه اشغال مي کنه .
    char ، کاراکتر ذخيره مي کنه . ( فقط يک کاراکتر ) . 1 بايت هم حافظه مي گيره .
    توضيح : تو ++C ، يه نوع داده هم اضافه شده به اسم string که مي تونه دنباله اي از کاراکترها يا همون رشته ها رو تو خودش ذخيره کنه که جزو انواع داده اي اصلي محسوب نمي شه . ( پرانتز بسته ! )
    float هم اعداد اعشاري رو مي تونه تو خودش ذخيره کنه . ايشون هم 4 بايت حافظه مي گيرن .
    double هم مثل float ولي با کمي Range‌ بيشتر . ( کمي بيشتر از کمي ) مي تونين دو برابر فرض کنين چون 8 بايت حافظه مي گيره .

    خوب براي تعريف يه متغير ، اول نوع داده بعد اسم متغير و بعد سمي کالن ( ; ) .
    راستي يادم رفت بگم که تو ++C براي اينکه بگيم يه دستوري تموم شده آخرش يه سمي کالن مي ذاريم . يه استثناء وجود داره که اون هم دستورهاي پيش پردازنده هستن . همون include ها .

    مثلا مي خوايم يه متغير از نوع int به اسم num بگيريم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    يه متغير يا مقدارشو از صفحه کليد مي گيره و يا توسط دستورهاي انتساب يا assignment .
    حالت اول :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در اينجا با همون cin اي که قبلا اشاره شد يه مقداري از صفحه کليد گرفته ميشه و تو num ذخيره ميشه .

    حالت دوم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در اينجا هم num مقدار 124 رو ميگيره .

    نکته : هر متغيري که تعريف ميشه ، قبل از اينکه مقداري توش گذاشته بشه يه مقدار زايد به خودش ميگيره . مثل 858993460 - . پس حتما قبل از اينکه يه همچين مقداري توش جاي بگيره خودتون يه مقداري مثل صفر بهش بدين .
    براي جمع و ضرب و اينا هم فرض کنين num1 و num2 دو متغير از نوع int هستن . براي جمع و تفريق و ضرب و تقسيم به ترتيب :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تو ++C يه عملگر هم داريم که باقيمانده تقسيم دو عدد صحيح ( int ) رو به ما ميده . اون هم % هستش .
    مثلا اگه num1 برابر 23 باشه و num2 برابر 7 ، 7 % 23 ميشه 2 .........
    راستي num1 / num2 هم ميشه 3 . نه 3.28 . چرا ؟ چون هر دو عدد صحيح بودن و جواب هم بايد عدد صحيح باشه .
    اگه هر دو float يا double بودن چي ؟
    جواب : بله اون وقت ميشد 3.28 .
    براي مقايسه هم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که به ترتيب :
    بزرگتر
    بزرگتر يا مساوي
    کوچکتر
    کوچکتر يا مساوي
    برابر
    نابرابر

  6. 5 کاربر از sin2x=2sinxcosx بخاطر این مطلب مفید تشکر کرده اند


  7. #4
    اگه نباشه جاش خالی می مونه IP007's Avatar
    تاريخ عضويت
    May 2009
    محل سكونت
    Esfahan
    پست ها
    482

    پيش فرض

    سلام خیلی ممنون،
    بهتره اول از شیء گرایی شروع کنیم

  8. #5
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

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

  9. این کاربر از sin2x=2sinxcosx بخاطر این مطلب مفید تشکر کرده است


  10. #6
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    سلام .
    در مورد کلاس ها و اشياء و برنامه نويسي شيء گرا
    در برنامه نويسي ساخت يافته ، واحد برنامه نويسي تابع است . يعني هر برنامه ساخت يافته از يک يا چند تابع تشکيل مي شوند .
    در برنامه نويسي شيءگرا ، واحد برنامه نويسي ، قطعاتي به نام کلاس هستند . يعني هر برنامه شيءگرا از يک يا چند کلاس تشکيل مي شود .
    هر کلاس رو به قول آقاي ديتل ميشه يه نقشه فرض کرد . فرض کنين يه کلاسي براي ماشين نوشتيم . ( يعني نقشه ماشين ) . اين کلاس رو مي نويسيم تا بتونيم بعدا از اين کلاس ( نقشه ) يه ماشين درست کنيم . به اين ماشينه ميگيم شيء . يعني هر چيزي که از کلاس ( نقشه ) نمونه سازي بشه ، شيء ناميده ميشه .
    کلاس يا نقشه ماشين ما ، تعدادي خصيصه يا attribute و تعدادي رفتار يا behavior داره . مثلا از خصيصه ها ميشه به رنگ ، تعداد در ، تعداد چرخ و ... اشاره کرد . رفتار ها هم مثلا سرعت گرفتن ، ايستادن ، تک چرخ زدن و ... . براي هر رفتار يک دستگيره يا handle در نظر گرفته ميشه که کاربر بتونه با اون دستگيره اين اعمال رو انجام بده . مثلا تو ماشين واقعي براي سرعت گرفتن ، دستگيره پدال گاز در نظر گرفته شده و کاربر يا همون راننده ماشين مي تونه با فشار پا بر روي اون ، ماشين رو وادار به سرعت گرفتن کنه . تو نقشه ماشين يا همون کلاس ، همچين دستگيره اي وجود نداره . فقط الگوريتم اون کار نوشته شده . بنابراين براي تست بايد ما يه ماشين يا شيء از اون کلاس يا نقشه داشته باشيم و پدال گاز مربوط به اونو فشار بديم .

    يه مثال از کلاس مي زنم و مطالبي که گفتم تو اون مشخص مي کنم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    براي تعريف کلاس از کلمه کليدي class استفاده مي کنيم و بعد از اون اسم کلاس . با آکلاد باز بدنه کلاس رو مشخص مي کنيم . کلمه :public رو مي بينين . اين کلمه نشون ميده که توابع move و stop و jump حالت عمومي دارن و هر جايي خارج از کلاس مي شه بهش به طور مستقيم دسترسي داشت . يعني کاربر مي تونه تابع move مربوط به يک شيء از کلاس رو اجرا کنه تا ماشين سرعت بگيره . سه تابع اشاره شده ، توابع عضو کلاس ناميده ميشن . بعد کلمه private رو مي بينين . اين کلمه هم نشون ميده که متغيرهاي color و اون دو تاي ديگه حالت خصوصي دارن و فقط در داخل کلاس ميشه بهش دسترسي داشت . يعني قرار نيست کاربر بخواد به طور مستقيم بياد و تعداد درهاي يک ماشين رو عوض کنه . ( در عمل هم همچين کاري غير منطقيه ) بنابراين به طور خصوصي تعريف ميشن . پايان کلاس با يه آکلاد بسته به همراه ; تموم مي شه . البته فرض ميشه که توابع move و stop و jump قبلا تعريف شدن . حالا ميايم تو تابع main اين کارارو مي کنيم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ماشين حرکت مي کنه ، مي ايسته ، مي پره .
    به اون سه تا تابع ميگيم رفتار ( behavior )
    به اون سه تا متغير که خصوصيات ماشين رو مشخص مي کردن مي گيم خصيصه ( attribute ) .
    تو تابع main يک شيء به نام c ( يک ماشين به نام c ) ايجاد کرديم و از اون سه تا دستگيره براي انجام کارامون استفاده کرديم .

  11. 5 کاربر از sin2x=2sinxcosx بخاطر این مطلب مفید تشکر کرده اند


  12. #7
    داره خودمونی میشه DaneshD's Avatar
    تاريخ عضويت
    May 2009
    محل سكونت
    Sweden
    پست ها
    196

    پيش فرض

    خیلی جالب بود. من حدودا 15 سال هست که مرتبا با مفاهیم Object Oriented کار میکنم اما توضیحی که دادی خیلی روشن بود. ممنون.

  13. این کاربر از DaneshD بخاطر این مطلب مفید تشکر کرده است


  14. #8
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    ادامه ....................

    توابع عضو يا همون توابعي که داخل يک کلاس تعريف شدن عملياتي رو روي داده هاي عضو ( يا همون داده ها و متغيرهايي که در داخل کلاس تعريف شدن ) انجام مي دن . تمام توابع عضو کلاس به طور مستقيم مي تونن به داده هاي عضو دسترسي داشته باشن و مقداراشونو تغيير بدن .
    مطلب ديگه اي که در مورد کلاس ها به ذهنم مي رسه سازنده يا Constructor هست .
    سازنده چيه ؟
    يه تابع عضوه که حتما بايد همنام با کلاس باشه . سازنده ها هيچ وقت نمي تونن يه مقدار برگردونن . بنابراين هيچ وقت نبايد نوع داده برگشتي براشون مشخص بشه . حتي void .
    فعلا اينجا من يه پرانتز باز ايجاد مي کنم و توضيحاتي در مورد توابع ميگم . پرانتز بسته رو هم ميگم تا مطالب رو از اينجا پي بگيرين .
    پرانتز باز :
    خب تو رياضيات که تابع ديدين ؟ تابع ++C هم تقريبا همونه . يعني يه چيزي يا يه چيزايي بهش مي ديم و اون هم يه چيزي بعد از محاسبات به ما ميده . چيزهايي که ما بهش ميديم آرگومان يا Argument ناميده ميشن . حالا تابع رو چجوري تعريف مي کنيم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    foo : اسم تابعه .
    int قبل از اسم تابع : ميگه اين تابع يه متغير از نوع int به عنوان نتيجه کار برمي گردونه .
    سه متغير تعريف شده داخل پرانتز هاي بعد از نام تابع : پارامترهاي تابع رو مشخص مي کنن . يعني اين تابع براي انجام کارش سه تا آرگومان مي گيره که همش از نوع int هستن .
    داخل تابع اين سه تا رو در هم ضرب کرديم و برگردونديم . با دستور return يه مقداري رو از تابع بر مي گردونيم .
    شايد بپرسين آرگومان چيه ، پارامتر ( Parameter ) چيه ؟
    تقريبا ميشه گفت پارامتر اون چيزيه که تو تعريف تابع ظاهر ميشه . مثل بالا . يعني a و b و c پارامترهاي تابع هستن .
    حالا آرگومان .
    وقتي مي خوايم تابعي رو فراخواني کنيم که يه کاري رو براي ما انجام بده ما آرگومان رو بهش مي فرستيم و اين آرگومان يا آرگومان ها تو پارامترها قرار مي گيرن و نتيجه برگردونده ميشه .
    مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اينجا به تابع foo سه تا آرگومان فرستاديم که اين آرگومان ها مي رن تو تابع به جاي a و b و c قرار مي گيرن و نتيجه برمي گرده و داخل result‌ قرار مي گيره .
    فعلا پرانتز بسته .

    وقتي مي خوايم يه شيئي از کلاسمون نمونه سازي يا instancing کنيم سازنده به طور اتوماتيک فراخواني ميشه و کاراشو انجام ميده . بنابراين جز اينجا ، جاي ديگه نمي تونيم به طور صريح سازنده رو فراخواني کنيم .
    حالا اگه سازنده مون آرگومان داشته باشه ، هنگام تعريف شيء اين آرگومان ها رو براش مي فرستيم . ( بعد از نام شيء و داخل پرانتز )
    سازنده اي که آرگومان نداشته باشه توسط کامپايلر به اسم Default Constructor‌ شناخته ميشه . ( خيلي مهمه اين سازنده پيش فرض )

    فعلا کمي هم در مورد ساختار هاي کنترلي يا Control Structures :
    هر برنامه ++C با استفاده از سه ساختار کنترلي نوشته ميشه .
    1 - ساختار ترتيبي يا Sequence Structure‌ : کامپايلر به ترتيب با هر دستوري که با اون مواجه مي شه اونو اجرا مي کنه .
    2 - ساختار انتخابي يا Selection Structure : بسته به انتخاب کاربر يک دستور در شرايطي اجرا ميشه و در غير اين صورت يه دستور ديگه . حالت ديگه اي هم که هست اينه که يک دستور از ميان چند حالت موجود اجرا ميشه .
    سه حالت داريم . حالت اول اينه که يه دستوري يا اجرا ميشه و يا نه . مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در دستور فوق اگه a برابر 22 باشه چاپ مي شه و در غير اين صورت از شرط مي پره و ميره سراغ دستورات بعدي .
    حالت دوم اينه که اگه شرط برقرار باشه يه کاري و در غير اينصوري يه کار ديگه و همين طور تا آخر ... . مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه a برابر 22 باشه چاپ ميشه ، اگه کمتر از 22 باشه يه چيزه ديگه چاپ ميشه و اگه هيچ کدوم نباشه يه چيزه ديگه .
    نکته : گذاشتن آکلاد در مواقعي که فقط يه دستور در داخل بدنه شرط داريم نياز نيست . ولي اگه بيش از يه دستور باشه بايد حتما گذاشته بشه .
    حالت سوم هم دستور switch هست که يه کاري از بين چند حالت موجود اجرا ميشه .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    فهميدين چي شد ؟
    a رو ميذاريم داخل يه ظرفي . اگه 1 بود one چاپ ميشه . اگه 2 بود two چاپ ميشه ، اگه 3 بود three چاپ ميشه و در غير اينصورت يه عدد ديگه .
    اين break ها رو هم بذارين . اگه مثلا تو دستور اولي نذاريم ، وقتي a ، برابر 1 باشه ، دستور مربوط به اون و دستور مربوط به بقيه case ها همه اجرا ميشن . يعني هم one و هم two والي آخر ... با گذاشتن ;break از اين کار جلوگيري ميشه . حالا اگه گفتين چرا براي default نذاشتيم ؟

    حالت 3 هم که حلقه هاي تکرار هستن بمونه براي بعد .
    فعلا ............

  15. 5 کاربر از sin2x=2sinxcosx بخاطر این مطلب مفید تشکر کرده اند


  16. #9
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    خوب حالا حالت سوم :
    تو ++C ، سه نوع حلقه تکرار داريم . while ، do ... while و for
    اولي ( يعني while )‌ :
    ميگيم تا زماني که اين شرط داخل پرانتز while درست باشه ، يعني true باشه و يا هر مقدار غير صفر باشه ، اين عمليات داخل آکلاد باز و بسته بعد از پرانتز بسته شرط داخل حلقه رو انجام بده .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    راستي يه توضيحي در مورد =- بدم .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا a++ با ++a چه فرقي داره ؟ وقتي ميگيم ++a يعني بعد از اينکه مقدار a تو عملياتي به کار برده شد ، بعد از اون يدونه بهش اضافه بشه . مثلا فرض کنيد a = 2 :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اينجا اول 2 چاپ ميشه بعد a ميشه 3 .
    وقتي بگيم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اول a برابر 3 ميشه و بعد چاپ ميشه .
    در مورد - هم همين طور .

    حالا دومي ( يعني do ... while )‌ :
    در حالت قبل امکان داشت شرط حلقه همون اول غلط باشه و اصلا دستورات حلقه براي يکبار هم اجرا نشه . ولي تو do ... while همون طور که از اسم اون هم پيداست اول يه کاري يا يه کارايي انجام ميده و بعد شرط رو چک ميکنه و اگه شرط درست باشه بعد ميره دوباره همون کارو تکرار مي کنه .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا سومي که معمولا پراستفاده ترين هست . يعني حلقه for :
    تقريبا ساختار کليش اين جوريه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    &&‌ هم همون "و" هست تو رياضيات . || هم معادل "يا" هست و ! هم علامت نقيض هست . يعني ( a == 3 )! يعني a != 3 .
    در اين حلقه for ، اول به متغيرها مقدار اوليه داده ميشه . يعني i = 0 و j = 0 و k = 4 . بعد شرط رو چک مي کنه و بعد ميره داخل دستورات بدنه رو اجرا مي کنه . وقتي به آکلاد بسته رسيد بر مي گرده اول هر کدوم رو يدونه ++ مي کنه و بعد دوباره شرط رو چک مي کنه و اگه درست باشه دو باره ميره سراغ دستورات .



    خوب حالا توابع تا اينجا بمونن . ميريم سراغ آرايه ها و مختصري از اشاره گرها و بعد هم ديگه آخرين مفاهيم شيءگرايي .

  17. 5 کاربر از sin2x=2sinxcosx بخاطر این مطلب مفید تشکر کرده اند


  18. #10
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    پيش فرض

    سلام.
    عالیه دوست من.
    ادامه بده....خیلی عالیه...
    ممنونم.

  19. این کاربر از عــــلی بخاطر این مطلب مفید تشکر کرده است


صفحه 1 از 10 12345 ... آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •