close
تبلیغات در اینترنت
سی پلاس پلاس
مرورگرهای پیشنهادی :
موضوعات
  • پایان نامه و مقاله فنی مهندسی
  • مهندسی برق ، الکترونیک ، مخابرات
  • مهندسی فناوری اطلاعات
  • مهندسی کامپیوتر
  • مهندسی مکانیک
  • مهندسی عمران
  • مهندسی معماری
  • مهندسی ساخت و تولید
  • مهندسی منابع طبیعی
  • مهندسی کشاورزی
  • مهندسی شیلات
  • مهندسی صنایع
  • مهندسی مواد
  • مهندسی نقشه برداری
  • مهندسی تاسیسات
  • مهندسی شیمی
  • مهندسی متالوژی
  • مهندسی نساجی
  • مهندسی معدن
  • مهندسی نفت
  • محیط زیست
  • جوشکاری
  • پایان نامه و مقاله علوم انسانی
  • حقوق
  • اقتصاد
  • مدیریت
  • جغرافیا
  • جهانگردی
  • حسابداری
  • تربیت بدنی
  • ادبیات فارسی
  • علوم سیاسی
  • علوم اجتماعی
  • مدیریت صنعتی
  • مدیریت روابط عمومی
  • احکام و معارف اسلامی
  • روانشناسی و علوم تربیتی
  • گرافیک
  • هنر
  • بیمه
  • تاریخ
  • موسیقی
  • صنایع دستی
  • پایان نامه و مقاله پزشکی
  • علوم آزمایشگاهی
  • بهداشت عمومی
  • طب هسته ای
  • چشم پزشکی
  • جنین شناسی
  • روان پزشکی
  • دندانپزشکی
  • پیراپزشکی
  • دامپزشکی
  • طب سنتی
  • داروسازی
  • پرستاری
  • پزشکی
  • مامایی
  • آناتومی
  • ژنتیک
  • پایان نامه و مقاله علوم پایه
  • زیست شناسی
  • زمین شناسی
  • دندانپزشکی
  • دامپزشکی
  • پزشکی
  • فیزیک
  • پاورپوینت و اسلاید فنی مهندسی
  • پاورپوینت معماری
  • پاورپوینت کامپیوتر و IT
  • نمونه سوالات استخدامی
  • نمونه سوالات استخدامی بانک
  • نمونه سوالات استخدامی آموزش و پرورش
  • نمونه سوالات استخدامی شهرداری
  • نمونه سوالات استخدامی تامین اجتماعی
  • نمونه سوالات استخدامی دستگاه اجرایی
  • نمونه سوالات استخدامی فنی و حرفه ای
  • نمونه سوالات استخدامی وزارت خانه ها
  • نمونه سوالات استخدامی نظامی
  • سایر نمونه سوالات استخدامی
  • جزوات دانشگاهی
  • جزوات دروس مشترک دانشگاهی
  • جزوات مهندسی برق
  • جزوات مهندسی مکانیک
  • جزوات مهندسی عمران
  • جزوات رشته حسابداری
  • جزوات مهندسی فیزیک
  • جزوات مهندسی معماری
  • جزوات مهندسی ریاضی
  • جزوات مهندسی صنایع
  • جزوات مهندسی شیمی
  • جزوات مهندسی کامپیوتر و IT
  • جزوات رشته زمین شناسی
  • جزوات رشته روانشناسی
  • جزوات مهندسی مخابرات
  • جزوات رشته مدیریت
  • جزوات تربیت بدنی
  • جزوات حقوق
  • گزارش کارآموزی فنی مهندسی
  • مهندسی کامپیوتر (سخت افزار - نرم افزار)
  • مهندسی مکانیک
  • مهندسی برق
  • مهندسی شیمی
  • مهندسی فناوری اطلاعات
  • صنایع غذایی
  • حسابداری
  • مدیریت
  • مطالب پربازدید
    مطالب تصادفی
    مطالب پیشین
  • بررسی رابطه تيپ های شخصيتی دبيران دبيرستانهای دخترانه با میزان موفقیت (پنجشنبه 13 اردیبهشت 1397)
  • بررسی پيش تجربی سياهه مشاوره ای لوئيس سوال هاي شماره 3 تا 45 (از مقياس اطمينان اجتماعی) (پنجشنبه 13 اردیبهشت 1397)
  • بررسی مقدماتی شخصيتی كرنل براي سوال 36 و 37 بر روي دانشجويان دانشگاه آزاد اسلامي (پنجشنبه 13 اردیبهشت 1397)
  • مقايسه مشكلات زبان عادی ويژه (چهارشنبه 12 اردیبهشت 1397)
  • مقایسه ویژگی های شخصیتی شخصیت ضد اجتماعی و انحرافات اجتماعی در بین دانشجویان دختر و پسر (جمعه 07 اردیبهشت 1397)
  • بررسی رابطة تك فرزندی با اختلالات رفتاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی توصيفی موسيقی و موسيقی درمانی بر روی انسان ها (چهارشنبه 05 اردیبهشت 1397)
  • بررسی تأثير ناكامی در ميزان پرخاشگری بين دانش آموزان دختر و پسر مقطع ابتدايی (چهارشنبه 05 اردیبهشت 1397)
  • بررسی ميزان تأثير اردوهای تربيتی ـ آموزشی بر رشد شخصيت دانش آموزان (چهارشنبه 05 اردیبهشت 1397)
  • نياز سنجی كاركنان اطلاعات (چهارشنبه 05 اردیبهشت 1397)
  • مقايسه هوش هيجانی و جرأت ورزی در دانش‌آموزان دختر و پسر نابينا و عادی (چهارشنبه 05 اردیبهشت 1397)
  • مقایسه میزان هیجان خواهی دانشجویان متأهل و مجرد (چهارشنبه 05 اردیبهشت 1397)
  • مددکاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی علل گرايش جوانان و نوجوانان به قرص های روان گردان (چهارشنبه 05 اردیبهشت 1397)
  • شناسايی نيازهای آموزشی و ترويجی توتون کاران (چهارشنبه 05 اردیبهشت 1397)

  • در این درس فنونی مورد بررسی قرار می‌گیرند که در نوشتن برنامه‌های با کیفیت مؤثرند. محور اصلی این فنون برنامه‌نویسی شیءگرا خواهد بود که در قابلیت نگهداری برنامه‌ها و استفاده مجدد از اجزای آنها نقش کلیدی دارد. علاوه بر این، درستی کارکرد، سرعت اجرا و استفاده بهینه از حافظه عوامل کیفی دیگری هستند که مورد توجه این درس هستند. زبان برنامه‌نویسی مورد استفاده سی‌پلاس‌پلاس است اما سعی می‌شود تا حد امکان مفاهیم مطرح شده مستقل از زبان و در سطحی بالاتر مورد بحث قرار بگیرند. پیش‌نیاز این درس دانستن مبانی کامپیوتر و برنامه‌نویسی به زبان سی (شامل مفاهیم پایه، توابع، ساختارها و اشاره‌گرها) می‌باشد. برنامه‌های مطرح‌شده در کلاس از طریق سایت یادداشت‌های درس به نشانی ramtung.ir/apnotes/html قابل دسترسی هستند.


    رامتین خسروی تحصیل خود را در مقاطع کارشناسی، کارشناسی ارشد و دکتری در رشته مهندسی نرم‌افزار در دانشگاه صنعتی شریف به انجام رساند و ضمن فعالیتی حدود ۱۵ ساله در صنعت نرم‌افزار به عنوان برنامه‌نویس، طراح و معمار نرم‌افزار، از سال ۱۳۸۶ به عضویت هیئت علمی دانشکده مهندسی برق و کامپیوتر در دانشکده فنی دانشگاه تهران درآمد. او از سال ۱۳۷۵ تدریس برنامه‌نویسی به زبان‌های پاسکال، سی، سی‌پلاس‌پلاس و جاوا را در دانشگاه‌های صنعتی شریف و تهران در سابقه خود دارد. رامتین علاوه بر برنامه‌نویسی به طراحی شیءگرا، معماری نرم‌افزار و متدلوژی‌های چابک توسعه نرم‌افزار بسیار علاقه‌مند است.


    ادامه مطلب و دانلود
    بازدید : 365 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

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


    ادامه مطلب و دانلود
    بازدید : 381 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

    تابع مجازی

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

    برای ايجاد يک تابع مجازی کلمه کليدی virtual در ابتدای اعلان تابع اضافه می شود.


    مثال. تابع مجازی show در کلاس پايه دوباره در کلاس مشتق شده اعلان شده است.

    #include <iostream.h>
    class Base {
    public:
      virtual void Show() {
        cout << "Base::Show" << endl;
      }
    };

    class Derived : public Base {
    public:
      void Show() {
        cout << "Derived::Show" << endl;
      }
      void Value(int i) {
        cout << i << endl;
      }
    };

    int main() {
      Derived d;
      d.Show();
    }


    نکته. به کلاسی که دارای يک تابع مجازی باشد کلاس پلی مورفيک (polymorphic) می گويند.
    نکته. وقتی يک تابع مجازی در کلاس مشتق شده دوباره تعريف می شود نوشتن عبارت virtual در کلاس مجازی الزامی نيست.
    نکته. اگر کلاس مشتق شده تابع مجازی کلاس پايه را مجددا تعريف نکند نسخه پيش فرض کلاس پايه استفاده می شود.
    نکته. نمی توانيد مقدار برگشتی يک تابع مجازی را در طی ابطال تغيير دهيد. اگر نوع برگشتی تابع override با تابع مجازی متفاوت باشد نوع پارامترها هم بايد تفاوت داشته باشند.

    بازدید : 695 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

    آموزش c++

     

    در این مطلب  قراره در مورد یکی از زبان های اصلی برنامه نویسی صحبت کنیم. البته سعی میشه به زبان ساده تر گفته بشه که به راحتی قابل فهم باشه.همه ما میدونیم c++ زبان شی گرا یا به اصطلاح object-oriented هست.خب این یه فرق اساسی با زبان c بود ولی چرا نیاز بود که یک زبان برنامه نویسی شی گرا بشه ؟ یا شی گرایی چیه؟زبان c++ شی گراست یعنی در اون اگه میخوایم مثلاٌ درباره یه دستگیره در (!) کد بنویسیم، کاربر استفاده کننده از برنامه ما نباید از مکانیسم داخلی این دستگیره چیزی بفهمه ؛اینکه به طور مثال یه میله داخل یه حلقه باید بچرخه یا چیزای دیگه و طبیعتاٌ وقتی که اندازه این میله هم تغییر کنه و کوچیک و بزرگ شه هم کاربر از وجود اونمطلع نمیشه.


    ادامه مطلب و دانلود
    بازدید : 777 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

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

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

     



    بهترین سایتی که برای این منظور یافته ام که اطلاعات به روز و نمودارهای مختلف مربوطه (مانند محبوبیت ماهیانه، سالیانه ، درازمدت ، گروه بندی زبانها و غیره) را دارد سایت تیوب است که لیست مقایسه زبانهای برنامه نویسی آنرا در این آدرس می توایند مشاهده کنید . ترتیب زبانهای برنامه نویسی این لیست از این قرار است :

    1.جاوا
    2.سی (C)
    3.سی پلاس پلاس (++C)4.پیتون (Python)
    5.پی اچ پی (PHP)
    6.سی شارپ (C#)
    7.ویژوال بیسیک
    8.......

    لیستی هم جدیداً در این آدرس مشاهده کردم که بر اساس میزان سوالات پرسیده شده در سایت معروف Stack Overflow زبانهای برنامه نویسی را مقایسه کرده است. در این مقایسه ، رتبه اول متعلق به سی شارپ، زبان دوم جاوا و زبان سوم پی اچ پی است.

     

    بازدید : 1061 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    پیاده سازی strncpy به دو صورت

    ادامه مطلب و دانلود
    بازدید : 1101 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    پیاده سازی تابع strrchr


    ادامه مطلب و دانلود
    بازدید : 1277 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

    آرایه

    يک آرايه (array) مجموعه ای از محل های پشت سرهم حافظه است که همگی دارای يک نام می باشند . یک آرایه نوعی متغیر است که بجای ذخیره یک مقدار یکسری از مقادیر هم نوع را ذخیره می کند. هر محل ذخيره سازی در آرا‍يه را يک عنصر آرايه می نامند.

    شکل کلی تعريف آرايه به صورت زير است:

    DataType array_name[size];

    Size تعداد عناصر آرایه است که در کروشه ذکر می شود. DataType نوع عناصر آرايه است که از هر نوع داده ای می تواند باشد.

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

    اسم آرايه اشاره گری به اولين عنصر آن است. به عناصر می توان به طور منفرد با اضافه کردن اندیس به اسم آرايه مراجعه کرد. انديس (index) باعث متمايز شدن عناصر آرايه از يکديگر می شود و تعيين می کند عنصر آرايه چندمين محل ذخيره سازی در آرايه است. در ++C انديس آرایه يک عدد صحيح است که از صفر شروع می شود.


    مثال. آرايه A که به صورت زير تعريف شده است يک آرايه يک بعدی با 5 عنصر از نوع صحيح است. عناصر آن شامل A[3] , A[2] , A[1] , A[0] و A[4] است.

    int A[5];


    هنگام دسترسی به عناصر آرايه بعد از اسم آرايه بايد درون کروشه شماره انديس عنصر مورد نظر ذکر شود. عناصر آرايه را می توان توسط دستور انتساب مقداردهی کرد يا مقدار آن را از ورودی درياقت کرد.

    A[0] = 10;

    cout << "Enter a number:";
    cin >> A[1];

    با توجه به اينکه تعداد عناصر آرايه معين است برای کارکردن روی کليه عناصر آرايه حلقه های for روش مناسبی هستند.


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

    #include
    int main() {
       int A[10];
       for (int k = 0; k < 10; k++) {
          cout << "Enter an integer: ";
          cin >> A[k];
          }
       for (int k = 0; k < 10; k++)
          cout << A[k] << endl;
       return 0;
    }


    بخاطر داشته باشيد انديس عناصر آرايه با n عنصر از 0 تا n-1 است. اگر به عنصری خارج از اين محدوده دسترسی پیدا کنید کامپایلر خطائی نمی گيرد ولی این می تواند به مشکلات جدی منجر بشود چون ممکن است روی داده برنامه های دیگر درون حافظه تاثير بگذارد.

    اگر اندیس آرایه اعشاری باشد کامپايلر آن را به يک عدد صحيح گرد می کند.


    مثال. در برنامه زير سعی شده به عنصری خارج از اندازه آرايه دسترسی شود. دستور myarray[10] باعث می شود مقدار 99 در محلی ذخيره شود که 6 خانه بعد از آرایه myarray است این حافظه ممکن است شامل داده لازم برای برنامه دیگر باشد.

    #include
    int main() {
       int myarray[5];
       myarray[10] = 99;
       cout << myarray[10] << endl;
       return 0;
    }


    آرایه های یک بعدی

    آرايه يک بعدی (1-dimensional array) برای نگهداری ليستی از مقادير استفاده می شود. هر عنصر آرايه يک بعدی از طريق يک انديس مشخص می شود.


    مثال. آرايه زير 20 مکان پشت سرهم حافظه را برای مقادير ممیز شناور اختصاص می دهد. اولین مکان با tempreture[0] بعدی با tempreture[1] و.... . آخرین عنصر tempreture[19] است.

    float tempreture[20];


    آرایه های چند بعدی

    می توان بعدهای بیشتری به آرایه داد. در يک آرايه چند بعدی (multidimensional) به بيش از يک عدد برای دسترسی به هر عنصر آرايه نياز است. يک آرايه دو بعدی به 2 انديس و يک آرايه سه بعدی به 3 انديس نياز دارد. محدوديتی برای تعداد ابعاد آرايه در ++C وجود ندارد اما بندرت آرایه بیشتر از دو يا سه بعد دیده شده است.


    مثال. آرايه زير دارای دو بعد است که اندازه هر بعد آن 4 است. بنابراين آرايه 16=4×4 عدد صحيح را نگه می دارد. به هر عدد از طریق دو اندیس دسترسی می شود. مثلا عنصر اول myarray[0][0] است.

    int myarray[4][4];

    آرايه های دو بعدی دارای ساختار جدولی هستند و به صورت مجموعه ای از سطرها و ستون ها ديده می شوند. جدول زیر موقعیت عناصر مثال قبل که دارای 4 سطر و 4 ستون است را نشان می دهد.

    0,00,10,20,3
    1,01,11,21,3
    2,02,12,22,3
    3,03,13,23,3

    عناصر آرايه صرفنظر از تعداد بعدهای آن سطر به سطر در خانه های پشت سرهم حافظه ذخيره می شوند. برای مطالعه بيشتر درباره روش سطری می توان‍يد به بخش نمايش آرايه در درس ساختمان داده مراجعه نماييد.


     

    بازدید : 1313 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

    يک جمله (statement) يک خط منفرد از کد است که عملي را انجام مي دهد. در ++C معمولا هر جمله در يک خط نوشته می شود، البته بعضی از جملات به چند خط تقسیم می شوند.

    جملات هميشه به يک سميکولن (;) ختم می شوند. (به استثنای راهنماهای کامپايلر مانند define# و include#).


    مثال. چند جمله در C++.

    int i_accnum;
    i_accnum=55555;
    i_accnum=i_accnum+5;


    White space

    خطوط خالی و فاصله ها در برنامه white space نام دارند. کامپايلرهای C++ نسبت به خطوط خالی حساس نيستند و وقتی کد برنامه را می خوانند در جستجوی کاراکترهای جمله و ختم شدن به سميکولن هستند و فاصله ها را نديده می گيرند (ثابت های رشته ای مستثنا هستند). White space امکان فرمت بندی کد برنامه با يک طرح استاندارد برای فاصله گذاری را می دهد که باعث می شود کد برنامه خواناتر شود بدون اينکه روی اجرای آن تاثير بگذارد. هر برنامه نويسی استيل خود را ممکن است داشته باشد مهم اين است که کد برنامه خوانا باشد.

    White space ها در ثابت های رشته ای که بين علامت گيومه (") قرار می گيرند مجاز نيستند. اگر می خواهيد يک رشته را به دو خط بشکنيد بايد از کاراکتر () استفاده کنيد.


    مثال. جملات زير با هم معادل هستند.

    x=2+3;

    x = 2 + 3;

    x   =
    2
    +
    3;

    مثال. جمله زير زير درست است.

    cout<<"Hello
    world!";


    جملات پوچ

    يک سميکولن تنها در يک خط خالی يک جمله پوچ (null statement) را می سازد که عملی انجام نمی دهد. گاهی جملات پوچ می توانند مفيد باشند.

    جملات ترکيبی

    جمله ترکيبی (compound statement) که بلاک (block) هم ناميده می شود از يک يا چند جمله که بين آکولاد محصور شده اند تشيل شده است.

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


    مثال. يک بلاک از کد.

    {
       cout<<"Hello, ";
       cout<<"world!";
    }

    بازدید : 1043 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

    ثابت ها

    ثابت مشابه متغير محلی برای ذخيره داده ای است که توسط برنامه استفاده می شود. اما برخلاف متغير، مقدار ذخيره شده در يک ثابت در طی اجرای برنامه قابل تغيير نيست.

    ++C دو نوع ثابت واقعی و سمبليک دارد.

    ثابت های واقعی

    ثابت واقعی (literal constant) مقداری است که مستقيما در کد برنامه تايپ می شود.


    مثال. مقادير 20 و 0.28 در عبارات زير ثابت های واقعی هستند که در متغيرهای count و tax_rate ذخيره می شوند.

    int count = 20;
    float tax_rate = 0.28;


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

    نقطه اعشار نشان دهنده ثابت مميزشناور است. ثابت های مميزشناور را می توان به صورت نماد علمی هم بيان کرد.


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

    123.456
    0.019
    100.
    1.23E2 or 123
    4.08e6 or 4080000
    0.85e-4 or 0.000085


    حروف f يا F برای ثابت های float و l يا L برای ثابت های long double را می توان به عنوان پسوند اضافه کرد در غير اينصورت با ثابت مميزشناور بعنوان يک عدد double برخورد می شود.

    ثابتی که نقطه اعشار ندارد بعنوان ثابت صحيح تفسير می شود. ثابت های صحيح را به 3 صورت می توان نشان داد:

    • ثابت دهدهی. اگر ثابت با هر عدد غير صفری شروع شود بعنوان يک عدد صحيح مبنای 10 تفسير می شود.. ثابت های دهدهی شامل ارقام 0 تا 9 و علامت + يا – می توانند باشند. اگر علامت نوشته نشود ثابت مثبت درنظر گرفته می شود.
    • ثابت اکتال. اگر ثابت با رقم 0 شروع شود بعنوان يک عدد صحيح مبنای 8 تفسير می شود. ثابت های اکتال می توانند شامل ارقام 0 تا 9 و علامت + يا – باشند.
    • ثابت هگزادسيمال. اگر ثابت با 0x يا 0X شروع شود بعنوان يک ثابت مبنای 16 با آن برخورد می شود. ثابت های هگزادسيمال می توانند شامل ارقام 0 تا 9 و حروف A تا F و علامت + يا – باشند.

    ثابت های کاراکتری بين علامت کوتيشن (') قرارمی گيرند، مانند کاراکترهای 'A' و '0'. کاراکترهای خاص با علامت () نشان داده می شوند مانند 'n' (newline)،'t' (tab)،'' (backslash)،'r' (carriage return)،''' (single quote)،'"' (double quotes)، و غيره.

    ثابت های سمبليک

    ثابت سمبليک (symbolic constant) ثابتی است که توسط يک نام در برنامه مشخص می شود. مقدار حقيقی ثابت سمبليک تنها يکبار هنگام تعريف آن وارد می شود و اين مقدار مشابه ثابت های واقعی در طول اجرای برنامه قابل تغيير نيست. هر زمان که به مقدار ثابت در برنامه نياز باشد نام آن ذکر می شود.


    مثال. برای محاسبه مساحت و محيط دايره در يک برنامه به جای نوشتن عدد 3.14 می توان ثابت PI را تعريف و استفاده کرد.

    circumference = PI * (2 * radius);
    area = PI * (radius)*(radius);

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


    تعريف ثابت سمبليک

    دوروش برای تعريف ثابت های سمبليک وجود دارد: راهنمای define# و کلمه کليدی const.

    راهنمای define# در قسمت پيش پردازنده ها بيشتر توضيح داده خواهد شد. فرم کلی آن به صورت زير است:

    #define CONSTNAME literal

    CONSTNAME نام ثابت و literal مقدار واقعی آن است. راهنمای define# به کامپايلر دستور می دهد که درسرتاسر کد برنامه CONSTNAME را با literal جايگزين کند.

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


    مثال. ثابت PI با مقدار 3.14159 تعريف شده است.

    #define PI 3.14159


    دقت کنيد که خط define# به سميکولن(;) ختم نمی شود. define# می تواند در هر کجای برنامه باشد ولی معمولا همگی در قسمتی از ابتدای کد برنامه و قبل از تابع main() هستند.

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


    مثال.

    const int count = 100;
    const float pi = 3.14159;
    const long debt = 12000000, float tax_rate = 0.21;


    const روی کليه متغيرهای خط اعلان تاثير می گذارد.

    تفاوت ثابت هائی که با #define و const تعريف می شوند در حوزه آنهاست. وقتی از #define استفاده می کنيد کنترل ثابت ها را از حوزه کامپايلر خارج می کنيد؛ type checking روی اسم آن انجام نمی گيرد و آدرس آنرا قابل بازيابی نيست و اشاره گريا ارجاعی به آن ممکن نيست و نمی تواند از نوع user-defined باشد. اما اگر ثابت توسط const تعريف شده باشد می تواند از هر نوع داده استاندارد يا user-defined باشد. آدرس آن هم قابل بازيابی است و مانند يک متغير دارای حوزه دسترسی است بنابراين ثابتی که درون يک تابع تعريف می شود در ساير نقاط برنامه شناخته شده نيست.

    بازدید : 1221 تاریخ : نویسنده : بهرام محمدپور | نظرات ()

     

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

    اعلام متغير به فرم کلی زير است:

    typename varname;

    typename نوع متغير را مشخص می کند که بايد يکی از نوع های داده ای زبان C باشد. varname نام متغير است که بايد از قواعد گفته شده تبعيت کند.

    می توان در يک خط چند متغير را از يک نوع تعريف کرد.


    مثال. متغيرهای count، number و start از نوع int و متغيرهای percent و total از نوع float اعلان شده اند.

    int count, number, start;   /* three integer variables */
    float percent, total;          /* two float variables */


    در بخش توابع درقسمت حوزه متغيرها درباره محل اعلان متغير در برنامه توضيح داده شده است. فعلا کليه متغيرها را در آغاز تابع ()main اعلان کنيد.


    کلمه کليدی typedef

    کلمه کليدی typedef برای ايجاد نامی جديد به نوع داده موجود بکار می رود و در واقع يک مترادف برای آن نوع توليد می کند.


    مثال. عبارت زير برای نوع داده ای int مترادف integer را ايجاد می کند. بنابراين در برنامه می توان از کلمه integer برای اعلان متغيرهای از نوع int استفاده کرد.

    typedef int integer;
    integer count;


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

    بازدید : 1251 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    آمار سایت
  • آمار مطالب
  • کل مطالب : 4311
  • کل نظرات : 17
  • آمار کاربران
  • افراد آنلاین : 6
  • آمار بازدید
  • بازدید امروز : 1,669
  • باردید دیروز : 13,194
  • گوگل امروز : 17
  • گوگل دیروز : 36
  • بازدید هفته : 14,863
  • بازدید ماه : 153,673
  • بازدید سال : 841,593
  • بازدید کلی : 6,695,319
  • نظرسنجی
    چه مطالبی در سایت قرار دهیم؟





    کدهای اختصاصی