اطلاعیه

Collapse
No announcement yet.

آموزش زبان سی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : آموزش زبان سی و کدویژن

    قاعدتا نمیشه انتظار داشت که کاملش که سهله برای کد ویژن هم همه نکاتش گفته بشه. فعلا که دور همیم!!

    دیدگاه


      #17
      پاسخ : آموزش زبان سی و کدویژن

      نوشته اصلی توسط Foad-EMR
      هدف یادگیری زبان C به صورت کامله یا برای استفاده از میکرو و codevision ؟ oo: oo:
      اتفاقا به نظر من این مباحث می تونه خوب و به درد بخور باشه. یکم که پیش بریم تو همین مبانی گیر میآ‌کنیم و نمیآ‌فهمیم مشکل از کجاست. حسن این روش نسبت به آموزش یکطرفه همینه که در مورد مطلبی بحث میآ‌شه و ذهنیات غلط یا اشکالاتی که داریم رفع میآ‌شه.
      اما این رو هم نباید از نظر دور کرد که از هدف اصلی دور نشیم.
      از حضور اساتید معذرت میآ‌خام اگه پر حرفی کردم :biggrin:

      دیدگاه


        #18
        پاسخ : آموزش زبان سی و کدویژن

        سلام
        میدونم دیر شد ولی خوب پیش میاد دیگه :mrgreen:
        بخش دوم , آموزش دوم
        شناسه ها در C
        شناسه (identifier ) نامی است که به یک قسمت از برنامه مانند متغییر , تابع , ثابت , و یا ... داده می شود .
        برای نوشتن شناسه ها میتوان از علائم زیر استفاده کرد :
        حروف انگلیسی کوچک و بزرگ , ارقام , علامت خط پایین یا _
        نکته : شناسه ها به کوچکی و بزرگی حروف حساس است و نمی تواند یک شناسه با رقم شروع شود مثلا :
        Sum برابر نیست با sum و 2name مجاز نمی باشد زیرا با عدد شروع شده است .
        نکته : در زبان سی شناسه نمی تواند از کلمات کلید ی که برای منظورهای خاص در زبان C رزرو شده اند استفاده نمایید به عنوان مثال :
        If , int , do , for
        کلمات کلیدی 32 تا میباشند البته به تازگی کلمات دیگری نیز اضافه شده است .

        انواع داده ها در C

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

        بیت جزء داده های اصلی نیست ولی ...
        از آنجا که در متغییر های نوع char , کد اسکی کارکتر ذخیره می گردد از این متغییر ها را می توان به عنوان یک عدد صحیح کوچک نیز استفاده کرد و اعمال ریاضی برروی آنها مجاز است .
        اصلاح کنند ها در زبان C : اصلاح کننده ها به همراه زبان C به کار می روند و به ما اجازه می دهند دقت نوع داده ی مورد نظر را برای نیازهای مختلف خود تغییر دهیم و این اصلاح کننده ها عبارتند از :
        Short , long , signed , unsigned

        ثوابت :
        ثابت ها اشاره به مقادیر ثابتی دارند که مقدار انها تغییری نمی یابد و چند نوعند :
        1: ثابتهای صحیح , 2 : ثابتهای اعشاری , 3 : ثابتهای کارکتری مثل 'a'
        4 : ثابتهای رشته ای مثل "a" یا " iran"
        نکته : تعریف ثابتها با کلمه ی کلیدی const یا flash انجام میشود مثال :
        const int a = 33
        اعلان متغییرها
        شکل کلی متغییرها به صورت زیر است :
        ;<tape> <variable-list>
        که در آن <tayp> از نوع داده هایی است که گفته شد و <variable-list> لیستی از متغییرهاست که با گاما از یکدیگر جدا شده اند .
        مثال :
        ;int sum
        long int a,A,b,c;
        می توان در هنگام تعریف متغیرها به آن مقدار اولیه داد مثال : int d=0
        نکته : زبان C به طور خودکار به متغییر ها مقدار اولیه نمی دهد ( حتی 0 )
        نکته : برای تعیین محل تعریف متغییرها از عملگر @ استفاده می کنیم مثال :
        iint b@0xA3;
        پروژه ی برنامه فلاشر به همراه توضیحاتی مختصر برای آشنایی عزیزان
        پروژه فلاشر
        #include <mega16.h>
        #include <delay.h>
        #difine xtal 1000000
        Int i ;
        Void main ( void )
        {
        DDRA = 0xFF;
        While(1)
        {
        for ( i=1; i<=128 ; i=i*2 )
        {
        PORTD = i ;
        delay_ms(100);
        }
        for ( i=64 ; i>1 ; i=1/2 )
        {
        PORTD = i;
        delay_ms(100);
        }
        }
        }
        توضیحات برنامه
        سه خط اول جزو دستورات پیش پردازنده می باشند زیرا با علامت # شروع شده اند . خط چهارم متغییر ه را از نوع int تعریف کرده است . خط پنجم , هر برنامه سی دارای تابعی به نام main است که اجرای برنامه از آن شروع می شود . خط ششم , شروع یک بلوک . خط هفتم , پین های میکرو رو خروجی تعریف کرده زیرا برابر با FF یا به عبارتی 11111111 کرده است در نتیجه زمانی که همه 1 باشد همه پین ها خروجی میباشند .
        خط هشتم , یک دستور تکرار حلقه است و تا زمانی که شرط برقرار باشد تکرار می گردد . خط 9 شروع بلوکی دیگر .
        خط دهم , for نیز یک حلقه است که دارای محدوده می باشد و i=0 مقدار دهی اولیه به متغییر حلقه و i<=128 شرط تکرار حلقه و i=i*2 نحوه ی افزایش متغییر حلقه .
        خط یازدهم , شروع بلوکی دیگر . خط دوازدهم , متغییر را در پورت D قرار می دهد . خط سیزدهم , یک تاخیر است . خط چهاردهم , پایان یکی از بلوکهاست . خط پانزدهم , یک حلقه است که طوری نوشته شده است که زمانی که لامپ های فلاشر تا آخر روشن می رود مجدد برگردد . خط شانزدهم , شروع بلوک دیگر . خط 17 و 18 , همانند خط 12 و 13 . خط 19 و 20 و 21 , نیز پایان سه بلوک می باشد .

        فقط نمیدونم چرا من کدویژنم نصب نمیشه
        امید است که بتونم بیشتر و سریعتر ادامه بدهم :wow:
        اگر می بینید کمی بی نظمی رخ داده است و ; در سمت چپ قرار گرفته بدانید که باید در سمت راست قرار دهید این مشکلاتی است که زمان کپی کردن پیش میاید :mrgreen:
        مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

        دیدگاه


          #19
          پاسخ : آموزش زبان سی و کدویژن

          اینایی که شما فرمودین C نیست! یک نمونه خاص از C هست که روی کد ویژن پیاده سازی شده. مثلا:
          در C نوعی بنام bit نداریم. این از ابداعات کد ویژن هست.
          داده های اصلی فقط شامل اینهایی که شما میگین نیست. مثلا long یا long long هم بعضی جاها تعریف شده.
          ضمنا نوع long double هم داریم.
          flash هم ابداع کد ویژن هست و نه زبان C.
          کاراکتر @ اصولا در C جایی ندارد.
          مقدار دهی ربطی به زبان ندارد. بنا براین حتی در صورت صحت ظاهری حرف شما کل جمله غلط هست. مثلا صفر شدن متغیر های عمومی در زبان C جزء کاری زبان نیست. بلکه RTL قبل از اجرای تابع main کلیه حافظه متعلق به محدوده متغیر های عمومی مقدار اولیه داده نشده رو صفر میکنه.

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

          دیدگاه


            #20
            پاسخ : آموزش زبان سی و کدویژن

            حرفهایی که آقا رضا می زنن درسته، اصولاً کامپایلرهایی که برای میکرو ها نوشته میشن، یک سری توابع، ثابت ها و موارد این شکلی دارند که برای اینکه کار با میکرو راحتتر بشه اونها رو تعریف می کنند؛ و همین باعث میشه زبونی مثل c در کدویژن بعضی اوقات تفاوت های اساسی با c استاندارد داشته باشند. میشه کار رو با کتاب های برنامه نویسی c شروع کرد و هر جا لازم شد اضافات کدویژن رو هم بیان کرد. اما نکته ای که بهتره باهاش کنار بیاید اینه که بهتره همون ابتدایی که دارید متغیر رو تعریف می کنید اگر مقدار اولیه لازم باشه این کار رو انجام بدید، گرچه خود کامپایلر محل متغیر ها رو صفر میکنه، اما اگه شما برای کامپیوتر برنامه بنویسید و محل متغیری رو روی RAM قرار بدید، ممکنه مقدار اولیه درست تعیین نشه و اونوقت به مشکل بر بخورید.

            تعریف flash برای میکروها وجود داره، که یه حافظه به همین نام دارند. و تا اونجائیکه یادمه متغیری رو اگر براش مکان خاصی مشخص نکنید بصورت پیشفرض روی flash تعریف میشه.

            اما در مورد کدی که نوشتید، اکثر غلط هاش رو وقتی یه بار کامپایل کنید متوجه میشید، اما باز هم تاکید می کنم که Int با int فرق داره و شما متغیر i رو از نوع Int تعریف کردید.

            و ضمناً توی کدویژن اجباری نیست که مقدار کریستال رو تعریف کنید. توی خود تنظیمات اولیه این کار رو انجام بدید کافیه.

            ضمناً برای کتاب آموزشی c من توی نمایشگاه کتاب "راهنمای جامع برنامه نویسی c" مال کانون نشر علوم رو دیدم که به نظرم کتاب خوب و کاملی میومد. بد نیست اگر به اون هم نگاهی داشته باشید.
            دانش فنی تا به عمل تبدیل نشده، ذره ای ارزش نداره. اما بعضی وقت ها باید از دانش برای باز کردن مرزهای جدیدی در علم استفاده کرد، نه اینکه اونها رو صرفاً فقط به عمل تبدیل کرد.

            دیدگاه


              #21
              پاسخ : آموزش زبان سی و کدویژن

              نوشته اصلی توسط reza_agha
              اینایی که شما فرمودین C نیست! یک نمونه خاص از C هست که روی کد ویژن پیاده سازی شده. مثلا:
              در C نوعی بنام bit نداریم. این از ابداعات کد ویژن هست.
              داده های اصلی فقط شامل اینهایی که شما میگین نیست. مثلا long یا long long هم بعضی جاها تعریف شده.
              ضمنا نوع long double هم داریم.
              flash هم ابداع کد ویژن هست و نه زبان C.
              کاراکتر @ اصولا در C جایی ندارد.
              مقدار دهی ربطی به زبان ندارد. بنا براین حتی در صورت صحت ظاهری حرف شما کل جمله غلط هست. مثلا صفر شدن متغیر های عمومی در زبان C جزء کاری زبان نیست. بلکه RTL قبل از اجرای تابع main کلیه حافظه متعلق به محدوده متغیر های عمومی مقدار اولیه داده نشده رو صفر میکنه.

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

              اما در مورد کدی که نوشتید، اکثر غلط هاش رو وقتی یه بار کامپایل کنید متوجه میشید، اما باز هم تاکید می کنم که Int با int فرق داره و شما متغیر i رو از نوع Int تعریف کردید.
              ممنون که اشتباهو گفتین
              ولی خوب این اشتباهات سایته که زمان کپی کردنو و .... پیش میاد :mrgreen:
              درستش می کنم
              کتاب رو هم میرم می بینم


              کاش یک نفر پیدا میشد به من می گفت چرا کدویژنم نصب نمیشه و یک قفل مزاحم پیداش میشه و بعد از اون دیگه نمیشه کاری کرد ؟ :mrgreen:

              به هر حال من بهتر از این نمیتونم ادامه بدم اگر دوستان میخوان ادامه میدم اگرم نمیخوان ادامه نمیدیم فقط در صورتی که مشکلی بود توی این تایپیک مشکلاتمونو عرض می کنیم :mrgreen:
              مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

              دیدگاه


                #22
                پاسخ : آموزش زبان سی و کدویژن

                نوشته اصلی توسط reza_agha
                اینایی که شما فرمودین C نیست! یک نمونه خاص از C هست که روی کد ویژن پیاده سازی شده

                باز هم جسارتا. اینایی که دارین روش بحث میکنین خیلیاش به C مربوط میشه ولی جزء C استاندارد نیست. اگر میخوایین بعدا سوء تفاهمی پیش نیاد و دردسری حادث نشه C استاندارد رو پیش ببرین و هر جا رسیدین بگین این مورد به چی ربط داره و جزء امکانات کدوم کامپایلره.
                با سپاس از آقا رضا
                منظوره من در پست قبلی که دادم همین بود چون معلومه که به 2راهی کشیده میشه
                Regards,
                Foad.R

                دیدگاه


                  #23
                  پاسخ : آموزش زبان سی و کدویژن

                  متاسفانه مشکل بزرگی که وسط هست C یا بیسیک نیست. مشکل بزرگتر عدم اطلاع از نوشتن درست برنامه هست که بیشتر باعث دردسر دوستان میشه. خیلی وقتا میشه با زبونی مثل بیسیک هم کدی نوشت که بخوبی کار کنه. و همینطور با C کدی نوشت که اصلا کار نکنه. منتهی مراتب کدی که با C نوشته میشه از طرفی برای بعضی کارها خیلی راحتتره و برای بعضی کارها خیلی مشکل تر. بدتر از این موارد دید غلطی هست که اغلب دوستان دارن وقتی با وقفه ها سر و کله میزنن. نمونه اش که کم هم نیست اینه که میرن وسط روال وقفه wait میدن یا عملیات زمانگیر انجام میدن یا حتی بدتر از اون روالی رو call میکنن و خیال میکنن این برنامه نویسی درسته. دلیلشون هم اینه که میشه این کارو کرد. فکر میکنم این تاپیک به یکی دو تا درد بیشتر نمیخوره (البته نظر شخصی):

                  1- آقای سبز خودمون لطف کنن ادامه بدن. مسلما ایشون نیتشون خیره. بابت همین مسئله هم از ایشون باید تشکر هم کرد البته حضوری نه با این دکمه مزخرف تشکر. اما اگر اشتباهی هم صورت میگیره میتونیم یه hint بدیم و فقط مسیر رو تصحیح کنیم.

                  2- میشه وسط این الطاف "آقای سبز" یک سری مشکلات رو مطرح کرد تا کم کم این ایده ها و روش های درست توی ذهن دوستان جا بیفته. چرا گفتم الطاف؟ به خاطر اینکه من خودم اصلا اینکاره نیستم که بیام این چیزا رو اینجوری بریزم بیرون. من بیشتر ممکنه مسئله حل کن باشم. تا مسئله طرح و سعی در حل کن. متاسفانه این روش بیشتر مسیر شروع شده رو به نا کجا آباد میبره. و باید در استفاده ازش نهایت دقت رو کرد.

                  3- این یکیش یادم رفت.

                  خلاصتا امیدوارم آقای "ایران سبز" بزرگواری کنن ادامه بدن. من هم این وسط میام به امید خدا هم به ایشون و هم به بقیه دوستان گیر سه پیچ میدم بلکه چیزی از توش دراومد.
                  (راجع به این یکی هم لطفا به من گیر ندین. تقصیر من نیست. اقتضای طبیعته!!!)


                  راستی اون چیزی که من راجع به C استاندارد میدونم اونیه که در کتاب مرجع زبان C نوشته آقایان ریچی و کرنیگان نوشته شده. به اضافه تمامی دیدهایی که در پس این زبون هست و هیچ کجا هم ممکنه همش نوشته نشده باشه.

                  دیدگاه


                    #24
                    پاسخ : آموزش زبان سی و کدویژن

                    با سلام به آقای ایران سبز و آقای رضای گل در مورد این تاپیک یک نظر دارم حالا که آقای ایران سبز زحمت کشیدن واین تاپیک را راه انداختن آقا رضا و بقیه اساتید هم زحمت بکشن و طرز صحیح برنامه نویسی را آموزش بدن از پایه-به نظرم اینجوری یک تاپیک خوب وآموزنده میشه چون آموزش عادی کدویژن که 200 تا کتاب و کلی هم تو اینترنت درباره اش مطلب هست من میگم آقای ایران سبز ادامه بده و اساتید هم در مورد روش صحیح برنامه نویسی راهنمایی بفرمایند ممنون

                    دیدگاه


                      #25
                      پاسخ : آموزش زبان سی و کدویژن

                      توی این تاپیک هم در مورد c داره بحث میشه. البته بحثش فعلاً موردیه و در مورد اشاره گر و نوع متغیر unsigned. می تونید از اون هم استفاده کنبد:
                      http://www.eca.ir/forum2/index.php?topic=51201.msg267311#msg267311
                      دانش فنی تا به عمل تبدیل نشده، ذره ای ارزش نداره. اما بعضی وقت ها باید از دانش برای باز کردن مرزهای جدیدی در علم استفاده کرد، نه اینکه اونها رو صرفاً فقط به عمل تبدیل کرد.

                      دیدگاه


                        #26
                        پاسخ : آموزش زبان سی و کدویژن

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

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

                        دیدگاه


                          #27
                          پاسخ : آموزش زبان سی و کدویژن

                          نوشته اصلی توسط khandani
                          به ته خط امتیازات ECA رسیدن
                          دوست عزیز ته خط برای کاربرهای کامل هست، این مدل طراحی کاربر فعال نشون میده ما به ته خط رسیدیم، اما در واقع تازه همون ابتدای خطیم!

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

                          دیدگاه


                            #28
                            پاسخ : آموزش زبان سی و کدویژن

                            بخش دوم , آموزش سوم
                            عملگرها :
                            عملگر نمادی است که به کامپایلر می گوید تا عملیات محاسباتی یا منطقی خاصی را بر روی یک یا چند عملوند انجام دهد .
                            مثال : 125- , 125 یک عملوند است و منفی یک عملگر است
                            [hr]
                            عملگرهای محاسباتی در C

                            نکته : عملگر % فقط برروی نوع داده های صحیح عمل می کند.
                            نکته : مهمتر , نحوه ی کار عملگر تقسیم است که برروی دو عملوند صحیح جواب صحیح می دهد و برروی دو عملوند اعشاری جواب اعشاری می دهد.
                            نکته: به مثال زیر توجه کنید :
                            10 / 4 = 2 ------------------ 10 / 4.0 = 2.5
                            عملگر قالب ریزی میتواند یک نوع را به نوع دیگر تبدیل نماید که به صورت زیر است
                            (<type&gt <expression>
                            در این جا type نوع داده است و expression عبارتی است که قصد تبدیل آن به type را داریم
                            مثال :
                            int a ; a = 10 ; (float) a / 4;
                            در این حالت یک نسخه ی اعشاری ایجاد شده در نتیجه حاصل اعشاری است .
                            نکته : به طور کلی اگر در یک عبارت دو متغیر یا چند متغیر از داده های متقاوت باشند پاسخ تبدیل تبدیل به داده های بزرگ تر و در متغیر قرار میگیرد .
                            نکته : اولویت عملگرها نیز در C مهم است . اولویت عملگرهای محاسباتی از بالاترین به پایین ترین اولیت به شرح زیر است :
                            1 : عملگر های یکانی – و +
                            2 : عملگرهای * و / و %
                            3 : عملگرهای + و –
                            چنانچه بخواهیم یک عمل با اولویت پایین زودتر انجام شود , باید از پرانتز استفاده کنیم . در مورد پرانتزهای متداخل , ابتدا پرانتز داخل محاسبه می شود . اما در مورد پرانتزهای هم سطح ابتدا پرانتز سمت چپ محاسبه می شود.
                            چنانچه اولویت دو عملگر یکسان باشد این عملگر ها از چپ به راست محاسبه خواهند شد.

                            نمونه ای از نحوه ی تبدیل متغیرها و ثابت ها به یک نوع داده ی یکسان را در زیر مشاهده می کنید.


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


                            عملگرهای انتساب
                            عملگر = (مساوی) ساده ترین نوع عملگر انتساب است و اولویت عملگر = از عملگرهای ریاضی کمتر است .
                            مثال :
                            int a; a=2.5*5.0;
                            پس در این مثال ابتدا محاسبات صورت گرفته و در پایان درa قرار می گیرد.
                            و در صورت لزوم نوع عبارت سمت راست به نوع سمت چپ تبدیل شده وقرار می گیرد مثلا a = 12 می شود.
                            علاوه بر این زبان C دارای یک سری عملگرهای انتساب خلاصه شده می باشد که باعث می شوند در بعضی موارد بتوانیم عبارات کوتاهتری را بنویسیم . این عملگرها را در جدول زیر می بینید



                            اولین و دومین عملگر عملگرهای یکانی هستند که به ترتیب عملگر افزایش و کاهش نامیده می شوند.
                            نکته : این عملگرهای یکانی افزایشی و کاهشی اگر به صورت زیر استفاده شوند معنای دیگری میدهند
                            a - - و a++
                            که ابتدا مقدار فعلی متغیر در عبارت مورد نظر استفاده میشود و سپس مقدار آن افزایش یا کاهش داده می شود
                            پنج عملگر دیگر در شرایط خاصی استفاده می شوند به عنوان مثال : عملگر += , اگر قصد داشته باشیم یک متغیر را با یک عبارت جمع نموده و حاصل را در همان متغیر اولیه قرار دهیم مثلا به جای دستور زیر
                            Sum = Sum+10; می توان از دستور Sum+=10; استفاده کرد.
                            چهار عملگر دیگر نیز شبیه به همین عملگر هستند.

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



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



                            حاصل این عملگرها نیز مانند عملگرهای مقایسه ای , درست ( غیرصفر ) یا ناردست (صفر) می باشد .

                            عملگر شرطی
                            گاهی لازم است که ابتدا یک شرط بررسی شده و سپس برمبنای نتیجه حاصل یکی از دو عبارات ممکن بازگردانده شود.
                            شکل کلی این عملگر به صورت زیر است
                            <conditiom> ?<exp1> :<exp2>
                            که در آن <condition> شرط مورد نظر , <exp1> عبارت بازگشتی در صورت درست بودن شرط و <exp2> عبارت بازگشتی در صورت نادرست بودن شرط است.
                            به عنوان مثال :
                            a = (k>10) ?100 :50;
                            در دستور بالا چنانچه k کوچکتر از 10 باشد , a مساوی 100 و در غیر این صورت a مساوی 50 می شود.

                            چند نکته در مورد عملگرها:
                            - در یک عملوند میتوان بین عملوند ها و عملگرها از فضاهای خالی به میزان دلخواه استفاده کرد در نتیجه میزان خوانایی بالا می رود.
                            - در عبارات پیچیده از پرانتز برای نشان دادن ترتیب اجرای عملگرها استفاده می شود.
                            - در عبارات پیچیده باید از اولویت همه عملگرها گاه بود پس به جدول زیر رجوع شود.



                            دوستان تصحیح شد مجدد
                            و آیا کسی نیست به من بگه چرا کدویژنم نصب نمیشه
                            مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                            دیدگاه


                              #29
                              پاسخ : آموزش زبان سی و کدویژن

                              سلام به همه فعالان عزیز
                              اول از همه باید بگم که منم تو برنامه نویسی صفر کیلومترم ولی تا هرجا که برین منم میام. :sad:
                              چندتا اموزش درباره c تو لینک پایین گذاشتم.البته خوندمشون ولی چیز زیادی دستگیرم نشد.
                              از همه دوستانی که تلاش میکنن تشکر میکنم :applause:
                              یه پیشنهاد هم دارم:یه مقدار روانتر توضیح بدین چون من هیچی نگرفتم(این نوع توضیحات مثل یاداوری میمونه تا اموزش)
                              http://www.4shared.com/file/WRcyZY-J/part1_llc_.html

                              دیدگاه


                                #30
                                پاسخ : آموزش زبان سی و کدویژن

                                خوبه، فقط من طبق معول غلط های املایی و احیاناً تایپی رو می گیرم تا مشکلی نداشته باشه:

                                نوشته اصلی توسط iranesabz
                                نکته : این عملگرهای یکانی افزایشی و کاهشی اگر به صورت زیر استفاده شوند معنای دیگری میدهند
                                --a و ++a
                                منظور ایشون a-- و a++ بود که یعنی اول ++ زده بشه و بعد a.

                                نوشته اصلی توسط iranesabz
                                عملگرهای مقایسه ای ( رابطه ای )

                                مورد بعدی توی این عکس بود که در مورد عملگر مساوی هست. اولاً به نظرم بهتره به جای مساوی گفته بشه برابر، چون این عبارت اگر دو طرف با هم برابر باشند نتیجه رو یه عنوان True یا 1 میده و اگر نباشند False و یا 0 میده.
                                ثانیاً که از اولاً مهم تر هست، شکل درست این عبارت بدون فاصله هست. یعنی "==" درسته، نه = =.

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

                                دیدگاه

                                لطفا صبر کنید...
                                X