دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 10 , از مجموع 35

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

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #7
    دوست آشنا
    رشته تحصیلی
    کارشناسی کامپیوتر نرم افزار
    نوشته ها
    1,167
    ارسال تشکر
    2,113
    دریافت تشکر: 2,967
    قدرت امتیاز دهی
    44
    Array

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

    توضیح درباره انواع متغیرها

    بازه مقادیر
    هر متغیری در برنامه باید نوعی داشته باشد. این نوع مشخص میکند که متغیر چه مقادیری و از چه نوع را نگهداری میکند. اندازه هر نوع، بازه مقادیری که آن نوع میتواند نگهدارد را مشخص میکند. اما اندازه هر نوع با تعداد بایتی که در حافظه اشغال میکند مشخص میشود. هر بایت 8 بیت است و هر بیت هم میتواند 0 یا 1 باشد. بنابراین هر بیت دو حالت دارد. میدانید که اگر دو چیز که هرکدام دو حالت مختلف دارند را در کنار هم یک چیز در نظر بگیریم، حالا این چیز واحد که در اصل دو واحد مجزا دارد، 4 حالت مختلف دارد(از ضرب حالات واحدهای مجزا که 2x2 میشود 4). در اینجا هم یک بایت از واحدهای مجزا که بیت ها هستند تشکیل شده و هر بیت دوحالت دارد، حالا چون هر بایت 8 بیت دارد، پس برای مشخص کردن تمام حالات یک بایت باید 8 تا 2 را در هم ضرب کنیم(یا همان 2 بتوان 8) که میشود 256. پس هر بایت 256 حالت مختلف دارد و چون هر حالت در کامپیوتر معادل یک عدد مشخص است، پس یک بایت یکی از 256 عدد مختلف را میتواند نگهدارد. این اعداد از صفر تا 255 خواهند بود. پس ما خودمان مقادیری که یک بایت میتواند نگهدارد را حساب کردیم(کلاً بخاطر داشته باشید این مقدار میشود: 2 بتوان تعداد بیت ها). اگر اعداد منفی را بحساب بیاوریم، بحث اعداد علامت دار پیش می آید. ++C از روش 'مکمل دو' برای ذخیره اعداد علامت دار استفاده میکند. لازم نیست از چگونگی این روش اطلاع داشته باشید، چرا که حساب کردن بازه مقادیر خیلی راحت است. مثلاً در حالت قبل حساب کردیم که هربایت 256 عدد را نگه میدارد، حالا فقط کافی است 256 را به دو تقسیم کنیم که میشود 128. بسادگی بازه مقادیر خواهد بود: 128- تا 127. در کل بخاطر داشته باشید که هر نوعی اگر بخواهد مقادیر منفی را هم ذخیره کند، نصف کل مقادیری که ذخیره میکند را میتواند عدد منفی نگهدارد و نصف دیگر عدد مثبت(البته 0 را هم شامل میشود بهمین خاطر این مقدار یکی کمتر از مقادیر منفی است، یعنی 127 در مقابل 128). دانستن اینکه هر متغیر چه مقادیری را نگه میدارد، معمولاً موردنیاز نیست، بنابراین هرجا خواستید بدانید، میتوانید به جدول مرجعی که در زیر می آید مراجعه کنید. در جدول شما به کلمات signed(با علامت) و unsigned(بدون علامت) برمیخورید، اینها کلمات کلیدی هستند که مشخص میکنند آیا یک نوع مقادیر منفی را هم نگه میدارد یا نه.

    قبلاً در جدول 'انواع بنیادی زبان' انواع مختلف را آوردیم، حالا مقادیری که هر نوع بنیادی میتواند نگهدارد را می آوریم:

    بازه مقادیر انواع بنیادی

    توضیح: 'نام دیگر' یعنی معادل، بنابراین بجای int دقیقاً میتوانید بنویسید signed.

    توضیح انواع بنیادی
    (ممکن است به عبارت ثابت لفظی(literal constant) برخورد کنید. یک لیترال(literal) ثابتی است که اسم آن همان مقدار آن باشد، مثل عدد 23 یا کاراکتر 'A' و...).

    int
    اعداد صحیح(کامل) را نگه میدارد. پیشوندهای short و long فقط بازه مقادیری که int نگه میدارد را تغییر میدهند. معمولاً از int استفاده میشود اما درجاهایی که مقدار فضای مصرفی برنامه مهم است، از short استفاده کنید، هرجا هم که میخواهید مقادیری فراتر از بازه مقادیر int را ذخیره کنید، از int64__ استفاده کنید. کلمات کلیدی intn__ خاص مایکروسافت هستند، بنابراین اگر از این انواع استفاده کنید، در کامپایلری که این انواع را نداشته باشد، کد شما خطا خواهد داد.
    میتوانید مقادیر لیترال مبنای شانزده را در کد خود وارد کنید، به فرم: عدد0x مثلاً اگر number یک عدد int باشد، number = 0x10 معادل number = 16 هست، چراکه 10 در مبنای شانزده برابر 16 در مبنای ده است.

    bool
    مخفف نام boolean است که میتواند مقدار true(درست) یا false(نادرست) داشته باشد(true و false کلمات کلیدی هستند). معمولاً در تبدیل اعداد، عدد صفر 'نادرست' و اعداد غیر صفر، 'درست' در نظر گرفته میشوند.

    char
    کاراکتر به یک نشانه میگویند که در مجموعه کاراکترهای زمان اجرا وجود دارد. مثلاً 'a' یک نشانه یا کاراکتر است(در ++C هر کاراکتر منفرد در دوتا ' قرار میگیرد). این مجموعه کاراکترها برای ++ASCII ، Microsoft C هست. مجموعه کاراکترهای اسکی(ASCII) را میتوانید در MSDN مشاهده کنید(در قسمت ASCII character set). چون هر char یک بایت فضا میگیرد و 256 حالت دارد، بنابراین یکی از 256 کاراکتر مختلف را میتوان در آن نگهداری کرد. وقتی که مجموعه کاراکترها را در MSDN میبینید(مثلاً در قسمت 127-0)، هرکدام یک عدد در زیر ستون Dec دارند، در حقیقت مقدار هر کاراکتر یک عدد است. مثلاً کاراکتر A را در نظر بگیرید، اگر در ستون Dec مقدار آن 65 است. این یعنی وقتی A را بصورت عدد استفاده کنیم 65 هست و وقتی نمایش کاراکتری آن را داشته باشیم، A خواهد بود(در اصل وقتی A در حافظه بخواهد ذخیره شود، عدد 65 در یک بایت بعنوان A ذخیره میشود، که آن عدد خود بصورت یک عدد دودویی ذخیره میشود، چون در نهایت هرچیزی در حافظه کامپیوتر بصورت یک سری ارقام دودویی که یا صفر هستند یا یک، ذخیره میشود). البته این موضوع بعداً در کاربرد روشنتر خواهد شد. اما از اینجا این را درنظر داشته باشید که هر کاراکتر متناظر با یک عدد است(که به آن کد کاراکتر هم میگویند، که البته با ستون Code در MSDN متفاوت است).

    wchar_t
    همانطور که مجموعه کاراکتری ASCII وجود دارد، مجموعه های دیگری هم وجود دارند. زمانی که ASCII را تعریف کردند فقط یکسری از علایم بعلاوه حروف و اعداد انگلیسی را در آن در نظر گرفتند(همانطور که در MSDN میبینید). البته بیش از این هم جا نداشت! چرا که فقط یک بایت با 256 حالت در اختیار داشت. اما بعداً با رواج اینترنت و همچنین تلاش برای تولید نرم افزارهایی با پشتیبانی چندین زبان، نیاز به یکسری کد برای کاراکتر های سایر زبان ها احساس شد. چون ASCII قابل گسترش در یک بایت نبود، یک مجموعه کاراکتری جدید با دو بایت فضا ایجاد کردند و نامش را Unicode گذاشتند(که از Universal code (کد جهانی) می آید، چرا که برای داشتن تمام کدهای کاراکتری لازم در تمام جهان ابداع شد). wchar_t (یا همان wchar_t__) برای در برداشتن کاراکترهای یونی کد(Unicode) به ++C اضافه شده است. بنابراین مثلاً برای استفاده از کاراکترهای فارسی، از این نوع استفاده کنید.

    enum
    مخفف enumeration در انگلیسی است، که 'شمارشی' ترجمه میشود. این نوع را درجای خود توضیح خواهیم داد.

    float و double
    انواعی برای ذخیره اعداد اعشاری با ممیز شناورند. مثلاً عددی مثل: 123.456. تفاوتشان در اندازه شان هست، اندازه double دو برابر float میباشد. شما برای مشخص کردن ثابت هایی از نوع اعشاری، میتوانید از نماد علمی هم استفاده کنید، مثلاً برای ده بتوان 3- بنویسید: 10e-3 که e نماینده توان است(بزرگ و کوچک بودنش فرقی ندارد، اما باید بدون فاصله بنویسید)، یا مثلاً 1508E+30(که همان 1508E30 هست).

    تعیین اندازه یک نوع یا متغیری از آن نوع
    اگر میخواهید بدانید که یک نوع در کامپیوتری که برنامه شما اجرا میشود چند بایت است، یک عملگر که کلمه کلیدی هم هست، در ++C وجود دارد به نام sizeof. مثلاً (sizeof(int اندازه یک int را برمیگرداند، یا مثلاً اگر متغیر number داشته باشید، (sizeof(number اندازه number را برمیگرداند(وقتی sizeof را بر روی یک متغیر اعمال میکنید، میتوانید پرانتزها را نگذارید و بنویسید: sizeof number). این عملگر را برای نوع void نمیتوانید بکاربرید، و هیچ گاه مقدار 0 برنمی گرداند.
    uody

  2. 2 کاربر از پست مفید uody سپاس کرده اند .


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

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

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

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

  1. پاسخ ها: 1
    آخرين نوشته: 21st April 2012, 01:05 AM
  2. خبر: طوفان برلینی؛ گزارش نمایشگاه ifa 2010
    توسط Bad Sector در انجمن معرفی سایتها و وبلاگها
    پاسخ ها: 0
    آخرين نوشته: 2nd February 2011, 02:47 PM
  3. مقاله: بهسازی منابع انسانی در سازمانهای تحقیقاتی از طریق گردش شغلی
    توسط MR_Jentelman در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 15th October 2010, 01:47 AM
  4. مطالعــه تطبیقی مدلهال برنامه ریزی استراتژیک
    توسط ریپورتر در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 30th September 2010, 10:36 AM
  5. مقدمه ای بر زبان c
    توسط آبجی در انجمن برنامه نویسی تحت سیستم عامل
    پاسخ ها: 0
    آخرين نوشته: 24th June 2010, 02:32 PM

کلمات کلیدی این موضوع

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

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