SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

آموزش زبان برنامه نویسی c به زبان ساده

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • آموزش زبان برنامه نویسی c به زبان ساده

    به نام خدای بزرگ
    با سلام خدمت همه ی دوستان.

    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot.png مشاهده: 0 حجم: 466.8 کیلو بایت

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

    چه خوب هست که مفاهیم برنامه نویسی رو با زبان C یاد بگیرید.
    این زبان انتخاب اول خودم هم برای یادگیری برنامه نویسی بود.
    و با تسلط بر اون می تونید پایه های برنامه نویسی رو در ذهنتون تقویت کنید.

    برای این آموزش من از ویندوز ۱۱ و همین طور ویرایشگر Code::Blocks استفاده می کنم.
    که در واقع یک IDE هست و هم برای ویرایش کدها و هم کامپایل و اجرای اون ها استفاده میشه.
    با یک جست و جوی کوچیک تو اینترنت می تونید اون رو پیدا کنید.
    البته شما از هر سیستم عامل و ویرایشگری که دوست دارید می تونید استفاده کنید.
    ولی خودم شخصا با Code::Blocks راحت تر هستم.
    این تاپیک به مرور زمان کامل میشه.
    فعلا یا علی
    ویرایش توسط Reza.Black : https://www.iranhack.com/forum/member/8206-reza-black در ساعت 12-21-2022, 02:16 PM

  • #2
    (آشنایی با ساختار زبان C)

    با سلام

    زبان C توسط Dennis Ritchie در سال 1972 در آزمایشگاههای بل ایجاد شد.
    و ارتباط تنگاتنگی بین این زبان و سیستم عامل یونیکس وجود داره چون هر دو به صورت همزمان تکامل پیدا کردند.

    بریم سراغ آموزش
    من یک برنامه ی ساده به زبان C آماده کردم که در واقع ساده ترین برنامه به زبان C هستش.
    و یک عبارت ساده !Hello World رو در خروجی برای ما چاپ می کنه.

    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 0 حجم: 12.6 کیلو بایت


    خط به خط توضیح میدم.

    خط اول از برنامه ما یک باینری فایل هدر هستش که یک دستور پیش پردازنده هست.
    قبل از اینکه برنامه کامپایل بشه این دستور فایل هدر خودش رو به برنامه اضافه می کنه.
    stdio.h این فایل هدر ورودی و خروجی استاندارد هست I/O
    برای مثال تابع ()printf که برای چاپ پیام هست داخل همین فایل هدر تعریف شده.

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

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

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

    خط پنجم هم تابع ()printf هست که برای چاپ پیام به کار میره.
    فعلا بدونید که تابع مجموعه ای از چند خط کد و دستور هست.
    در واقع printf مخفف prints formatted هستش.
    اگر به آخر این عبارت دقت کنید کاراکتر n\ رو مشاهده می کنید.
    که به معنای خط جدید هست که اصطلاحا به اون کاراکتر گریز هم میگن.
    و رفتار عادی دستور رو تغییر میده یعنی برو به خط جدید.

    و در پایان ;return 0 رو داریم که به معنای موفقیت در اجرای برنامه هستش.
    البته تعریف ما از موفقیت می تونه عددی به غیر از صفر باشه ولی استاندارد اون در زبان C صفر هست.
    این نکته رو در نظر داشته باشید که انتهای هر دستور زبان C به ; ختم میشه.

    حالا برنامه رو کامپایل و اجرا می کنیم.

    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot2.png مشاهده: 0 حجم: 9.9 کیلو بایت

    خب برای امروز دیگه کافیه.
    ویرایش توسط Reza.Black : https://www.iranhack.com/forum/member/8206-reza-black در ساعت 12-25-2022, 07:25 PM

    نظر


    • #3
      ممنون از شما

      نظر


      • #4
        با سلام

        (کامنت ها در زبان c)

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

        برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 7 حجم: 20.2 کیلو بایت
        ویرایش توسط Reza.Black : https://www.iranhack.com/forum/member/8206-reza-black در ساعت 12-22-2022, 06:33 PM

        نظر


        • #5
          با سلام

          (متغیرها)

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

          نوع int که همون عدد صحیح هست.
          نوع float که عدد با ممیز شناور هست.
          نوع char که برای کاراکتر هست.

          بر فرض مثال برای ذخیره ی یک متغیر از نوع int و نام a و همینطور مقدار 20 به این شیوه عمل می کنیم.
          ;int a = 20
          که عملگر مساوی اینجا برای مقدار دهی استفاده میشه یعنی مقدار 20 رو داخل a که از نوع int هست قرار بده.
          قوانین نام گذاری متغیرها هم شامل حروف از a-z حالا چه کوچک و چه بزرگ.
          اعداد از 9-0 به شرطی که اول نام متغیر با عدد شروع نشه.
          و خط زیر ـ هستش.

          برای نمایش مقدار یک متغیر ما از format specifiers استفاده می کنیم که فرمت خاصی رو نمایش میدن.
          که با علامت % شروع و به دنبال آن کاراکتر مربوطه که برای اعداد صحیح d و برای اعداد با ممیز شناور f و کاراکترها c می باشد.
          در انتها هم نام متغیر ذکر میشه چون باید اعلام کنیم که منظور ما کدام متغیر هستش.
          این هم یک مثال ساده.

          برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 0 حجم: 31.2 کیلو بایت

          برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot2.png مشاهده: 0 حجم: 9.5 کیلو بایت

          نظر


          • #6
            با سلام

            (ثابت ها)

            برخلاف متغیرها که مقدار اون ها قابل تغییر بودند ثابت ها مقادیری ثابت و غیر قابل تغییر هستند.
            بعضی وقت ها باید مقادیری رو در نظر بگیریم که غیر قابل تغییر باشند. این موضوع مهمی هست.
            و اگر مقدارشون رو تغییر بدیم کامپایلر به ما خطا میده و برنامه دچار مشکل میشه.
            دو روش برای این کار وجود داره که یکی دستور پیش پردازنده ی define# هست.
            و دومی کلمه ی کلیدی const هستش که من دومی رو توضیح میدم.
            دستور const با نوع و نام و مقدار یک داده در رابطه هست و قبل از نوع داده قرار می گیره و یک ثابت رو تعریف می کنه.
            به این مثال ساده دقت کنید.

            برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 0 حجم: 17.8 کیلو بایت
            ویرایش توسط Reza.Black : https://www.iranhack.com/forum/member/8206-reza-black در ساعت 12-24-2022, 02:54 PM

            نظر


            • #7
              با سلام

              (عملگرها)

              چند دسته عملگر در زبان C وجود داره که من مهم هاش رو توضیح میدم.

              عملگرهای محاسباتی
              که برای انجام محاسبات ریاضی به کار میرن مثل چهار عمل اصلی / * - + و غیره...
              در جدول زیر می تونید اون ها رو مشاهده کنید.

              برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot1.png
مشاهده: 221
حجم: 17.6 کیلو بایت

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


              برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot2.png
مشاهده: 204
حجم: 5.3 کیلو بایت



              عملگرهای مقایسه ای
              که برای مقایسه ی داده ها استفاده میشوند.
              که مقداری رو که بر می گردونند یا 0 false و یا 1 true هست که این مقادیر به boolean value معروف هستند.
              جلوتر در ساختار های شرطی و یا حلقه ها بیشتر توضیح خواهم داد.
              این هم لیست اون ها

              برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot3.png
مشاهده: 210
حجم: 7.9 کیلو بایت


              عملگرهای منطقی
              که برای عبارت های منطقی استفاده میشن.
              مثل :
              && که دو طرف عبارت رو چک می کنه و اگر هر دو درست باشند اجرا خواهد شد.

              این هم جدول اون ها همراه با مثال :

              برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot4.png
مشاهده: 213
حجم: 12.6 کیلو بایت


              یک عملگر دیگه به نام ()sizeof وجود داره که برای چک کردن طول داده در حافظه به کار میره.
              همین که بدونید فعلا کافی هستش.

              نظر


              • #8
                با سلام

                (دستورات شرطی)

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

                برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot1.png
مشاهده: 202
حجم: 6.9 کیلو بایت

                این هم یک مثال ساده

                برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot2.png
مشاهده: 211
حجم: 15.9 کیلو بایت


                برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot3.png
مشاهده: 205
حجم: 10.0 کیلو بایت


                ما دو متغیر به نام های y و x داریم که به ترتیب مقدار های اون ها 10 و 20 هستش.
                ما می دونیم که مقدار 20 از 10 بزرگتر هست و شرط رو بر اساس این معیار قرار می دیم.
                و اگر درست باشه که در اینجا حتما همین طور هست عبارت مورد نظر چاپ خواهد شد.
                و اگر هم غلط باشه چبزی برای چاپ وجود نداره.

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

                نظر


                • #9
                  با سلام

                  (دستورات else if و else)

                  در مثال قبلی وقتی که شرط ما غلط بود برنامه عکس العمل خاصی نداشت.
                  و این شاید خیلی جالب نباشه. با دستور else میتونیم رفتار برنامه رو بهتر مدیریت کنیم.
                  و اگر در غیر این صورت شرط ما غلط بود برنامه رفتار دیگه ای انجام بده.
                  این هم یک مثال ساده :

                  برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 0 حجم: 19.4 کیلو بایت


                  برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot2.png مشاهده: 0 حجم: 9.7 کیلو بایت


                  تو این مثال مقدار متغیر time ما که 20 هست و 20 از 18 بزرگتر هست.
                  پس شرط ما در اینجا غلط هست و انتظار داریم که دستور else اجرا بشه.
                  و عبارت .Good evening برای ما چاپ بشه.
                  ولی اگر time ما کمتر از 18 بود شرایط تغییر می کرد.

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

                  برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot3.png مشاهده: 0 حجم: 25.7 کیلو بایت


                  برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot4.png مشاهده: 0 حجم: 9.9 کیلو بایت
                  ویرایش توسط Reza.Black : https://www.iranhack.com/forum/member/8206-reza-black در ساعت 12-28-2022, 01:39 PM

                  نظر


                  • #10
                    با سلام

                    دستور (switch)

                    اگه قرار باشه که در برنامه انشعاب های چند گانه داشته باشیم می تونیم از دستور switch استفاده کنیم.
                    البته که از دستور if و یا else if هم می تونیم استفاده کنیم ولی دستور switch برای این منظور بیشتر توصیه میشه.
                    این طوری خطوط برنامه کمتر میشه و تمرکز بیشتری بر روی اون داریم.
                    که سینتکس این دستور به این شکل هست.

                    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 0 حجم: 10.6 کیلو بایت


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

                    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot2.png مشاهده: 0 حجم: 18.1 کیلو بایت


                    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot3.png مشاهده: 0 حجم: 18.7 کیلو بایت


                    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot4.png مشاهده: 0 حجم: 9.3 کیلو بایت
                    ویرایش توسط Reza.Black : https://www.iranhack.com/forum/member/8206-reza-black در ساعت 12-28-2022, 07:10 PM

                    نظر


                    • #11
                      با سلام

                      (حلقه ها)

                      موضوع حلقه ها و تکرار جز مباحث پر اهمیت برنامه نویسی محسوب میشن.
                      برخی مواقع باید یک چیزی مدام تکرار بشه تا نتیجه ی مطلوب به دست بیاد.
                      به هر حال ساده ترین دستور در این رابطه دستور while هست که با یک شرط در رابطه هست.
                      و اگر شرط ما درست بود یکسری کارها تکرار میشن.
                      این رو به طور کلی میگم که اگه از شرط خاتمه آگاه نیستیم بهتر هست که از حلقه ی while استفاده کنیم.
                      حالا بعدا در مورد حلقه ی for صحبت خواهم کرد.
                      این هم یک مثال ساده برای نشان دادن اعداد 4 تا 0 که در این مورد ما از حلقه ی while استفاده کردیم.
                      و با استفاده از حلقه ها به جای نوشتن چند دستور می تونیم از یک دستور استفاده کنیم و این کار رو به مراتب ساده تر می کنه.
                      در این مثال ساده ما یک متغیر به نام i تعریف کردیم که از نوع عدد هست و شرط حلقه ی while ما این هست که این i کمتر از 5 باشه.
                      و در ادامه این اعداد توسط printf برای ما چاپ بشن و در آخر هم موضوع آپدیت رو داریم (++i)
                      که بتونیم شرط حلقه رو به نوعی کنترل کنیم و وارد یک لوپ بی نهایت نشویم.

                      برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot2.png مشاهده: 0 حجم: 13.7 کیلو بایت


                      برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot3.png مشاهده: 0 حجم: 9.5 کیلو بایت

                      ویرایش توسط Reza.Black : https://www.iranhack.com/forum/member/8206-reza-black در ساعت 12-29-2022, 05:44 PM

                      نظر


                      • #12
                        (حلقه ی for)

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

                        این هم یک مثال ساده :

                        برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 0 حجم: 13.5 کیلو بایت


                        برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot2.png مشاهده: 0 حجم: 10.8 کیلو بایت


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


                        برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot3.png مشاهده: 0 حجم: 14.1 کیلو بایت


                        برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot4.png مشاهده: 0 حجم: 9.5 کیلو بایت

                        نظر


                        • #13
                          (دستورات continue و break)

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

                          و یا دستور continue که باعث رد شدن از عبارتی در حلقه میشه و به نوعی skip می کنه عبارت مورد نظر رو.
                          و به ابتدای حلقه باز می گرده.

                          این هم دو مثال ساده :

                          برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot1.png
مشاهده: 195
حجم: 15.9 کیلو بایت


                          برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot2.png
مشاهده: 190
حجم: 9.2 کیلو بایت


                          برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot3.png
مشاهده: 197
حجم: 16.0 کیلو بایت


                          برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot4.png
مشاهده: 192
حجم: 10.8 کیلو بایت


                          نظر


                          • #14
                            (توابع)

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

                            من برای این کار یک مثال خیلی ساده ایجاد کردم.
                            در واقع یک تابع ساده که فقط مجموع دو عدد رو محاسبه کنه.

                            من در ابتدا دو متغیر به نام های b و a تعریف کردم برای دو عددمون.
                            از دستور printf برای چاپ پیام ورودی اعداد از کاربر استفاده می کنم.
                            و همین طور از دستور scanf برای ورودی گرفتن عدد از کاربر که فرم این دستور به این شکل هست.

                            برای عدد صحیح d%
                            برای عدد با ممیز f%
                            برای کاراکترها c%
                            برای رشته ها s%

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


                            برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot1.png مشاهده: 0 حجم: 24.9 کیلو بایت

                            حالا تابع رو می نویسیم.
                            خروجی این تابع از جنس عدد صحیح هستش و یک نام برای اون انتخاب می کنیم مثلا sum
                            و حاوی دو پارامتر هست به نام های b و a و از نوع int البته الزامی به استفاده از این نام ها برای پارامترها نیست.
                            من برای سادگی بیشتر این کار رو کردم.
                            و در داخل بلوک تابع یک متغیر به نام c برای تخصیص مجموع دو عدد و یک عبارت ریاضی ساده
                            جمع دو عدد و تخصیص اون ها در متغیر c و در نهایت c رو return می کنیم.


                            برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot2.png مشاهده: 0 حجم: 14.0 کیلو بایت

                            الگوی تابع رو هم ذکر می کنیم خط ۳
                            در پایان هم با دستور printf مقادیر ورودی و مجموع رو چاپ می کنیم. (فراخوانی تابع)

                            برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot3.png مشاهده: 0 حجم: 28.2 کیلو بایت

                            برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Screenshot4.png مشاهده: 0 حجم: 11.1 کیلو بایت​ ​

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


                            نظر


                            • #15
                              (آرایه ها)

                              با سلام

                              آرایه ها یک نوع از ساختمان داده هستند که در واقع مجموعه ای از اطلاعات هستن که در قالب یک اسم ذخیره میشن.
                              و خصیصه ی مشترک آرایه ها این هست که نام و نوع یکی هست برخلاف ساختارها.
                              برای دسترسی به آرایه ها می تونیم از اندیس ها استفاده کنیم که در زبان C اندیس آرایه ها از صفر شروع میشه.
                              حالا چطور یک آرایه رو تعریف کنیم :
                              ما قبلا برای تعریف یک متغیر از نوع int به این شکل عمل می کردیم. ;int c
                              این دستور یک بخش از حافظه رو به نام c جدا می کنه.
                              حالا اگه قصد داشته باشیم که این c با همون نام ولی چند تا بخش داشته باشه می تونیم از آرایه ها استفاده کنیم.
                              مثل ;[4]int c
                              که چهار بخش از حافظه رو جدا می کنه با احتساب اندیس صفر
                              و برای دسترسی به مقادیر که فعلا صفر هستند از اندیس ها استفاده می کنیم.
                              مثل بخش اول [0]c و یا بخش دوم [1]c
                              و برای مقدار دهی بخش ها و یا عضوهای آرایه می تونیم به این روش عمل کنیم. ;int c[4] = {1,2,3,10}
                              البته به صورت پویا هم میشه با طول آرایه ها برخورد کرد.

                              خب دیگه توضیح کافیه از یک مثال ساده استفاده می کنم تا موضوع بهتر منتقل بشه.
                              یکی از بهترین مثال ها مثالی از سری فیبوناچی هست که هر جمله مجموع دو جمله ی قبل هست.
                              8 5 3 2 1 1 0

                              ابتدا آرایه خودمون رو مشخص می کنیم مثلا 7 جمله و شرط اولیه 1 و 0 رو هم ست می کنیم.
                              حالا باید از جمله ی دوم تا ششم حرکت کنیم و مجموع رو محاسبه کنیم.
                              این کار رو با یک حلقه ی for انجام میدیم.

                              برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot1.png
مشاهده: 108
حجم: 14.6 کیلو بایت

                              برای نمایش مقادیر هم باز از حلقه ی for استفاده می کنیم با یک الگوی تقریبا مشابه با for قبلی.
                              و بر روی گام ها حرکت می کنیم.

                              برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot2.png
مشاهده: 106
حجم: 17.6 کیلو بایت

                              حالا برنامه رو تستش می کنیم.

                              برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Screenshot3.png
مشاهده: 101
حجم: 10.3 کیلو بایت

                              خوبه داره کار می کنه.
                              باز هم قصد من فقط یک مثال ساده بود و گرنه مباحث مربوط به برنامه نویسی واقعا خیلی زیاده.

                              نظر

                              صبر کنید ..
                              X