>> [موسیقی]
SPEAKER: بسیار خوب.
بنابراین اجازه دهید در مورد یکی دیگر صحبت چیزی که نوع منحصر به فرد C،
است که نوع داده ها و متغیرها.
وقتی که من میگویم منحصر به فرد C، من واقعا تنها در چارچوب معنی،
اگر شما یک برنامه نویس شده برای یک مدت واقعا طولانی،
شما احتمالا نمی کار با انواع داده
اگر شما مدرن استفاده می شود زبانهای برنامه نویسی.
زبان های مدرن مانند پی اچ پی و جاوا اسکریپت،
که ما همچنین می خواهید یک کمی را ببینید بعد از آن در این دوره،
شما در واقع نه باید برای مشخص نوع داده یک متغیر
زمانی که شما از آن استفاده کنید.
>> شما فقط آن را اعلام و شروع به استفاده از آن.
اگر آن را یک عدد صحیح است، آن را می دانم آن را یک عدد صحیح است.
اگر آن را یک شخصیت است، آن را می داند که یک شخصیت است.
اگر یک کلمه است، آن را می داند آن را یک رشته، به اصطلاح است.
>> اما در C، که یک زبان قدیمی، ما نیاز
برای مشخص کردن داده نوع هر یک از متغیرها
که ما ایجاد اولین بار که ما با استفاده آن متغیر است.
بنابراین C همراه با برخی از ساخته شده در انواع داده ها.
و اجازه دهید آشنا با برخی از این.
پس از آن و پس از آن ما همچنین می خواهیم صحبت کمی در مورد برخی از انواع داده ای
که ما برای شما نوشته شده است، بنابراین شما می توانید آنها را در CS50 استفاده کنید.
>> اولین نوع int است.
نوع داده int برای متغیرهای مورد استفاده قرار که مقادیر صحیح را ذخیره کنید.
بنابراین 1، 2، 3، منفی 1، 2، 3، و غیره.
اعداد صحیح، چیزی است که شما که باید در نظر داشته برای مسابقه نگه دارید،
همیشه تا چهار بایت حافظه، 32 بیت است.
هشت بیت در یک بایت است.
>> بنابراین این بدان معنی است که طیف وسیعی از ارزش هایی که یک عدد صحیح می توانید ذخیره
با آنچه در تناسب محدود می 32 بیت ارزش از اطلاعات است.
حال حاضر به عنوان آن می رسد، آن را مدتها پیش تصمیم گرفته شد
که ما را تقسیم کردن که وسیعی از 32 بیت
به اعداد صحیح منفی و اعداد صحیح مثبت،
هر نیمه گرفتن از محدوده.
بنابراین طیف وسیعی از ارزش است که ما نمایندگی با طیف عدد صحیح از منفی 2
به قدرت 31 به 2 تا قدرت 31 منهای 1،
باعث شود شما نیز نیاز به یک نقطه برای 0.
>> بنابراین اساسا نیمی از مقادیر ممکن شما می توانید در یک int جا منفی است،
و نیمی مثبت هستند.
و تقریبا در اینجا، این است که در مورد منفی 2 میلیارد به مثبت 2 میلیارد.
دادن یا گرفتن چند صد میلیون نفر است.
به طوری که آنچه شما می توانید مناسب در یک متغیر عدد صحیح است.
در حال حاضر ما نیز چیزی به نام یک عدد صحیح بدون علامت است.
در حال حاضر نوع داده int بدون علامت یک نوع جداگانه ای از متغیر.
در عوض، بدون علامت است چه مقدماتی نامیده می شود.
آن را تغییر داده نوع عدد صحیح کمی.
>> و در این مورد، چه بدون علامت means-- و شما همچنین می توانید
استفاده از انواع داده بدون علامت دیگر، عدد صحیح تنها نیست.
دو برابر آنچه در آن به طور موثر می کند محدوده مثبت ارزش
که یک عدد صحیح می تواند بر روی در را هزینه دیگر اجازه می دهد
شما را به مقادیر منفی است.
بنابراین اگر شما اعداد است که شما می دانید بالاتر از 2 میلیارد اما کمتر
از 4 میلیارد، برای example-- که است که 2 به 32 power--
شما ممکن است مایل به استفاده از یک int بدون علامت اگر شما
دانستن ارزش خود را هرگز منفی خواهد بود.
>> شما گاهی اوقات باید مورد استفاده برای متغیرهای بدون علامت
در CS50، همین دلیل است که من آن را در اینجا ذکر است.
اما باز هم، طیف وسیعی از مقادیر که شما می توانید با یک عدد صحیح بدون علامت نشان دهنده
به عنوان عدد صحیح به t به طور منظم، 0 به 2 تا قدرت 32 منهای 1،
و یا در حدود 0-4000000000.
بنابراین شما به طور موثر دو برابر ام وسیعی مثبت است که شما می توانید مناسب،
اما شما تا تمام داده ام ارزش منفی است.
>> در حال حاضر به عنوان یک کنار، بدون علامت تنها مقدماتی نمی
که ما ممکن است برای دیدن انواع داده های متغیر.
همچنین چیزهایی به نام وجود دارد کوتاه مدت و بلند و توایع.
توایع ما یک کمی را ببینید کمی بعد در این دوره است.
کوتاه و بلند، ما احتمالا نمی خواهد.
>> اما فقط می دانم که وجود دارد دیگر مسابقات مقدماتی هستند.
بدون علامت، تنها یکی نمی باشد.
اما این تنها یکی از ما است رفتن به مورد در حال حاضر صحبت کنید.
پس همه حق.
بنابراین ما اعداد صحیح را پوشش داده ایم.
بعدی چیست؟
>> کاراکتر.
بنابراین کاراکتر برای متغیرهای مورد استفاده که شخصیت تنها ذخیره کند.
کاراکتر کوتاه را برای شخصیت است.
و گاهی اوقات شما ممکن شنیدن مردم تلفظ به عنوان ماشین.
>> بنابراین شخصیت همیشه به یک بایت از حافظه است که فقط 8 بیت است.
بنابراین این بدان معنی است که آنها فقط می تواند مناسب ارزش در محدوده منفی 2
به قدرت هفتم، یا منفی 128، به 2 به توان 7 منهای 1، و یا 127.
>> با تشکر از ASCII، آن بود مدت ها پیش تصمیم گرفت راه
به نقشه آن اعداد مثبت از 0 تا 127 برای شخصیت های مختلف
که همه بر روی صفحه کلید ما وجود داشته باشد.
بنابراین ما به عنوان بعد از آن در خواهید دید البته، و شما احتمالا
آمده به حفظ در برخی از نقطه، سرمایه، برای example--
سرمایه شخصیت A-- نقشه ها به تعداد 65.
و دلیل آن این است چون این چیزی است که آن را
توسط استاندارد ASCII اختصاص داده است.
>> حروف کوچک 97 است.
شخصیت 0 برای زمانی که شما در واقع نوع شخصیت، نه
به نمایندگی از عدد صفر، 48 است.
شما یک زن و شوهر یاد بگیرند از این که شما بروید.
و شما قطعا می آیند به نیاز آنها را کمی بعد از آن در CS50.
>> بعدی نوع داده اصلی است اعداد اعشاری.
بنابراین اعداد با ممیز شناور هستند همچنین به عنوان اعداد حقیقی شناخته شده است.
آنها اساسا عدد هستید که یک نقطه اعشار در آنها است.
شناور ارزش نقطه مانند اعداد صحیح نیز
موجود در 4 بایت از حافظه است.
در حال حاضر هیچ چارت اینجا وجود دارد.
هیچ خط تعداد وجود دارد، چرا توصیف وسیعی از شناور
دقیقا روشن و یا حسی نیست.
>> کافی است به شما می گویم 32 بیت برای کار با.
و اگر شما یک شماره مانند PI، که دارای
بخش عدد صحیح 3، و یک شناور بخش نقطه، یا اعشاری 0.14159،
و به همین ترتیب، شما نیاز به قادر به نمایندگی از تمام it--
قسمت صحیح و اعشاری بخش.
>> بنابراین چه چیزی شما فکر می کنم که ممکن است به معنای؟
یکی از چیزهایی است که اگر از اعشار بخشی می شود طولانی تر و طولانی،
اگر من یک بسیار بزرگ قسمت صحیح، من ممکن نیست
قادر به عنوان دقیق با بخش اعشاری.
و این واقعا محدودیت یک شناور.
>> شناور یک مشکل دقیق داشته باشد.
ما فقط 32 بیت به کار با، بنابراین ما فقط می توانیم
چندان دقیق با اعشاری است.
ما نمی توانیم لزوما دهدهی بخشی دقیق به 100 یا 200 رقم،
چرا که ما فقط باید 32 بیت برای کار با.
به طوری که یک محدودیت از یک شناور است.
>> در حال حاضر خوشبختانه وجود دارد یکی دیگر از نوع داده به نام
دو، که تا حدودی با این مشکل می پردازد.
دو برابر، مانند شناور، نیز مورد استفاده قرار ذخیره شماره واقعی، و یا ممیز شناور
ارزش.
تفاوت این است که اتاق دو نفره دو برابر دقت.
آنها می توانند 64 بیت از جا داده ها، یا هشت بایت است.
معنی آن چیست؟
خب، به این معنی که ما می تواند خیلی بیشتر دقیق با نقطه اعشار.
به جای داشتن PI به هفت مکان شاید، با شناور،
ما شاید می توانید آن را به 30 مکان داشته باشد.
اگر این مهم است، شما ممکن است بخواهید برای استفاده از دو جای یک شناور.
در واقع، اگر شما کار بر روی هر چیزی که در آن
داشتن یک محل اعشاری واقعا طولانی و بسیاری از دقت مهم است،
شما احتمالا می خواهید استفاده از یک overfloat دو برابر شود.
در حال حاضر برای بسیاری از کار خود را در CS50، شناور کافی است.
اما نمی دانم که دو برابر به عنوان یک وجود داشته باشد راه تا حدودی با دقت برخورد
مشکل با دادن به شما اضافی 32 بیت به کار با برای اعداد خود را.
>> در حال حاضر این است که یک نوع داده است.
این یک نوع است.
و آن را از درجه اعتبار ساقط نامیده می شود.
و من در مورد آن صحبت در اینجا چون ما احتمالا این
چند بار در حال حاضر در CS50 دیده می شود آن.
و شما ممکن است تعجب آنچه در آن همه چیز در مورد.
>> بنابراین از درجه اعتبار ساقط یک نوع است.
آن وجود داشته باشد.
اما این یک نوع داده است.
>> ما می توانیم یک متغیر از نوع ایجاد کنید از درجه اعتبار ساقط و یک مقدار را به آن است.
اما توابع، برای مثال، می توانید یک نوع بازگشت از درجه اعتبار ساقط است.
در واقع، اگر شما یک تابع را ببینید است که یک نوع بازگشت از درجه اعتبار ساقط،
به این معنی آن یک مقدار بازگشت نیست.
می تواند شما را از یک مشترک فکر می کنم تابع است که ما تا کنون استفاده کرده اید
در CS50 که یک مقدار بازگشت نیست؟
>> تابع () printf است.
تابع () printf نمی کند در واقع بازگشت هر چیزی به شما.
این چیزی است که به چاپ صفحه نمایش، و آن را اساسا
یک عارضه جانبی از آنچه تابع () printf کند.
اما آن را نمی کند شما یک مقدار را به عقب.
شما نتیجه و اینترنتی را در خود ندارد آن را در برخی از متغیر به استفاده از آن به بعد در.
این تنها چیزی را به چاپ صفحه نمایش و شما انجام می شود.
>> بنابراین ما می گویند که printf یک تابع از درجه اعتبار ساقط است.
آن را می گرداند هیچ چیز نیست.
>> لیست محیط یک تابع همچنین می تواند باطل است.
و شما نیز دیده می شود که بسیار کمی در CS50 بیش از حد.
بی اعتبار اصلی بین المللی.
می کند که حلقه زنگ؟
در واقع آنچه که بدان معنی است که اصلی هیچ پارامتری را ندارد.
هیچ استدلال وجود دارد که دریافت به اصلی منتقل می شود.
در حال حاضر بعد از ما وجود دارد این است که یک راه برای ارسال آرگومان به اصلی،
اما تا کنون آنچه که ما دیده بی اعتبار اصلی نوع int است.
اصلی فقط هیچ استدلال را ندارد.
و بنابراین ما مشخص است که با گفتن باطل است.
ما فقط بسیار صریح و روشن در مورد این واقعیت
که آن را هر گونه استدلال را ندارد.
>> بنابراین در حال حاضر، آن را کافی به می گویند که اساسا از درجه اعتبار ساقط
باید فقط به عنوان یک حفره یا سوراخ خدمت برای شما به عنوان فکر کردن در مورد به عنوان چیزی.
این واقعا انجام هر کاری است.
هیچ مقدار بازگشتی در اینجا وجود دارد.
هیچ پارامترهایی که در اینجا وجود دارد.
این بی اعتبار کند.
آن را کمی پیچیده تر از آن است.
اما این باید برای کافی بخشی بهتر از این دوره است.
و امیدوارم حال حاضر شما باید کمی کمی بیشتر از یک مفهوم آنچه باطل است.
>> بنابراین کسانی که پنج نوع نظر شما روبرو می شوند که به C. ساخته شده در
اما در CS50 ما نیز یک کتابخانه داشته باشد.
CS50.H، که شما می توانید است.
و به شما ارائه خواهد شد که با دو نوع اضافی
که شما احتمالا قادر باشد برای استفاده بر روی تکالیف خود را،
یا فقط کار به طور کلی برنامه نویسی.
>> اولین بار از این بولی است.
بنابراین نوع داده بولی، بولی است، برای متغیرهای مورد استفاده
که یک مقدار بولی را ذخیره کنید.
اگر تا به حال شنیده ام این مدت قبل، شما
ممکن است بدانید که یک عبارت بولی ارزش قادر به است
برگزاری دو مقدار متفاوت مجزا می باشد.
درست و نادرست.
در حال حاضر این نظر می رسد بسیار اساسی، درست است؟
این نوع از تعجب است که این است در C وجود داشته باشد آن را به عنوان ساخته شده است در.
و در بسیاری از زبان های مدرن، البته، Booleans می
یک نوع داده به طور پیش فرض استاندارد.
اما در C، آنها نیست در واقع.
اما ما آن را برای شما ایجاد کرده اید.
بنابراین اگر شما همیشه نیاز به ایجاد یک متغیر است که نوع بولی است،
فقط مطمئن شوید که # شامل CS50.H شود در آغاز برنامه خود را،
و شما قادر خواهید بود به ایجاد متغیر از نوع بولی.
>> اگر شما فراموش نکنید که به # شامل CS50.H، و شما شروع به استفاده از متغیر بولی نوع
شما ممکن است برخی مشکلات روبرو می شوند زمانی که شما از کامپایل برنامه خود را.
بنابراین فقط در مواظب برای آن باشد.
و شاید شما فقط می تواند به رفع مشکلات پوند از جمله CS50.h.
>> دیگر نوع داده بزرگ است که ما را برای شما در کتابخانه CS50
رشته است.
پس چه یک رشته است؟
رشته ها واقعا فقط کلمات.
آنها مجموعه ای از شخصیت است.
آنها کلمات.
آنها احکام است.
آنها پاراگراف است.
ممکن است کل کتاب، حتی.
>> بسیار کوتاه به بسیار طولانی سری از شخصیت های.
اگر شما نیاز به استفاده از رشته ها، برای مثال، برای ذخیره یک کلمه،
فقط مطمئن شوید که شامل CS50.H شود در آغاز برنامه های خود را
بنابراین شما می توانید نوع رشته استفاده کنید.
و پس از آن شما می توانید متغیر ایجاد که نوع داده رشته است.
در حال حاضر بعد از آن در این دوره، ما همچنین می خواهیم دید که این
نه کل داستان، یا.
ما همه چیز روبرو می شوند ساختار نامیده می شود،
که به شما اجازه گروه آنچه که ممکن است یک عدد صحیح و یک رشته به یک واحد.
و ما می توانیم برای استفاده از آن برخی از هدف، که ممکن است
در مفید آمده است بعدا در این دوره است.
>> و ما نیز باید یاد بگیرند در مورد انواع تعریف شده است،
که اجازه می دهد به شما برای ایجاد انواع داده خود را.
ما لازم نیست که به نگرانی در که در حال حاضر.
اما فقط می دانم که که چیزی در افق،
که خیلی بیشتر به این طیف وجود دارد نوع چیزی از من به شما گفتن فقط
اکنون.
پس حالا که ما به دست یک کمی در مورد داده های اولیه
انواع و انواع داده CS50، اجازه دهید صحبت در مورد نحوه کار با متغیر ها
و ایجاد آنها را با استفاده از این انواع داده ها در برنامه های ما است.
اگر شما می خواهید برای ایجاد یک متغیر، همه شما نیاز به انجام دو چیز است.
>> اول، شما نیاز به آن را یک نوع است.
دومین چیزی که شما نیاز دارید انجام دهید این است آن را یک نام بدهید.
هنگامی که شما انجام داده ام که سیلی و نقطه و ویرگول در پایان این خط،
شما یک متغیر ایجاد کرده اید.
>> بنابراین در اینجا دو نمونه است.
تعداد اعضای هیات؛ ؛. نامه کاراکتر
من چه کرده ام که اینجا هستید؟
من دو متغیر ایجاد کرده اید.
>> اول، متغیر نام و نام خانوادگی عدد است.
و تعداد قادر به نگه داشتن عدد صحیح است نوع ارزش، به دلیل نوع آن نوع int است.
نامه متغیر دیگر است است که می تواند شخصیت را نگه دارید
چون نوع داده آن کاراکتر است.
>> بسیار ساده، درست است؟
اگر شما به خودتان پیدا کنید در یک وضعیت که
شما نیاز به ایجاد چند متغیرهای از همان نوع،
شما فقط نیاز به مشخص نام نوع یک بار.
پس از آن فقط به عنوان بسیاری از متغیرهای لیست از آن نوع که شما نیاز دارید.
>> بنابراین من می تواند به عنوان مثال، در اینجا در این خط سوم کد،
می گویند ارتفاع INT ؛، خط جدید.
؛. عرض INT
و بیش از حد کار می کنند.
من هنوز هم می خواهم دو متغیر به نام ارتفاع و عرض، که هر کدام
یک عدد صحیح است.
اما من مجاز به، همه چیز به نحو C، تحکیم آن را به یک خط.
ارتفاع متوسط، عرض این همان چیزی است.
من دو متغیر، یکی به نام ایجاد کرده اید ارتفاع یکی به نام عرض، که هر دو
قادر به برگزاری ارزش نوع عدد صحیح است.
>> به طور مشابه در اینجا، من می تواند سه ایجاد مقادیر ممیز شناور در یک بار.
من شاید یک متغیر ایجاد می به نام جذر 2--
که احتمالا در نهایت point-- شناور نگه
که نمایندگی از مربع ریشه 2-- جذر 3 و پی.
من می توانم این انجام داده اند در سه خط مجزا.
شناور، ریشه مربع 2؛ شناور ریشه مربع 3. PI شناور؛ و بیش از حد کار می کنند.
>> اما باز هم، من فقط می تواند تحکیم این به یک خط کد.
باعث می شود همه چیز را کمی کوتاه تر، به عنوان سنگین است.
>> در حال حاضر به طور کلی، طراحی خوب، تنها از آن تعریف یک متغیر زمانی که شما به آن نیاز دارید.
و ما کمی صحبت کمی بیشتر در مورد که
بعد از آن در دوره وقتی دامنه بحث می کنیم.
بنابراین لزوما نیاز دارید که نه ایجاد تمام متغیرهای خود را
در آغاز این برنامه، که برخی از مردم ممکن انجام داده اند گذشته،
یا بسیار معمول بود قطعا سال ها پیش برنامه نویسی تمرین
در هنگام کار با C. شما فقط ممکن است می خواهید برای ایجاد یک حق متغیر زمانی
شما به آن نیاز دارید.
خیلی خوب.
بنابراین ما متغیر ایجاد کرده اید.
چگونه می توانم آنها استفاده می کنیم؟
بعد از ما اعلام متغیر، ما لازم نیست
برای مشخص کردن نوع داده از این متغیر دیگر.
در واقع، اگر شما این کار را، شما ممکن است در نهایت با برخی از عواقب عجیب و غریب
که ما را بیش از نوع براق در حال حاضر.
اما کافی است که گفته، چیزهای عجیب و غریب می رویم
شروع به اتفاق می افتد اگر شما سهوا دوباره اعلام متغیرهای با همین نام
دوباره و دوباره.
>> بنابراین در اینجا من چهار خط کد.
و من یک زن و شوهر از نظرات وجود دارد فقط نشان می دهد
آنچه اتفاق می افتد در هر خط فقط برای کمک به
شما در چه خبر است واقع شده است.
تعداد بنابراین اعضای هیات ؛.
شما که قبلا دیدم.
که تعریف متغیر است.
>> من در حال حاضر یک متغیر ایجاد کرده اید شماره به نام که
قادر به نگه داشتن مقادیر صحیح نوع.
من آن را اعلام کرده ام.
>> خط بعدی من اختصاص یک مقدار را به تعداد.
تعداد برابر 17.
آنچه اتفاق می افتد وجود دارد؟
من قرار دادن شماره 17 داخل آن متغیر است.
>> بنابراین اگر من تا به حال و سپس چاپ آنچه محتویات تعداد بعد ها،
آنها به من بگویید آن 17.
بنابراین من یک متغیر اعلام کرد، و سپس من آن اختصاص داده ایم.
>> ما می توانید تکرار روند دوباره با نامه کاراکتر ؛.
که یک بیانیه.
نامه برابر سرمایه H. که انتساب است.
بسیار ساده، TOO.
>> در حال حاضر این روند ممکن است به نظر می رسد نوع احمقانه است.
چرا این کار را می ما در دو خط از کد؟
آیا راه بهتری برای انجام آن وجود دارد؟
در واقع، وجود دارد.
گاهی اوقات شما ممکن است ببینید این نام اولیه.
این زمانی است که شما یک متغیر و یک مقدار را در همان زمان.
این در واقع خیلی چیز مشترک انجام دهید.
هنگامی که شما یک متغیر ایجاد کنید، شما معمولا می خواهم آن را به برخی از ارزش های اساسی.
حتی اگر آن را 0 و یا چیزی.
شما فقط شما آن را یک ارزش می دهد.
>> شما می توانید یک متغیر مقداردهی اولیه.
INT تعداد برابر 17 همان است دو خط اول کد در بالا.
نامه کاراکتر برابر ساعت همان است خطوط سوم و چهارم کد بالا.
غذای آماده مهم در اینجا زمانی که ما اعلام و اختصاص
متغیر است پس از این ما آن را اعلام کرد، متوجه
من با استفاده از نوع داده دوباره.
من ادعا نمی کنم تعداد اعضای هیات برابر 17 در خط دوم از کد، برای مثال.
من فقط گفت تعداد برابر 17.
>> باز هم، دوباره پس از اعلام یک متغیر شما در حال حاضر اعلام کرد و آن می تواند منجر
به برخی نتیجه عجیب و غریب.
بنابراین فقط مراقب باشید از آن باشد.
>> من داگ لوید هستم.
و این CS50.