زبان C - جلسه‌ی اول ( کلمات کلیدی و شناسه‌ها یا Keywords & Identifier )

جلسه‌ی اول از دوره‌ی آموزشی زبان برنامه‌نویسی C به زبانی سادهبا سلام و عرض ادب و احترام خدمت شما عزیزان دل. در خدمت شما هستم با آموزش زبان برنامه‌نویسی C. از اونجایی که خودم شیفته‌ی این زبان و بچه‌ی اون یعنی ++C هستم و تازه این زبان رو دارم یاد می‌گیرم، هر اونچه رو که یاد میگیرم و تجربه می‌کنم، با زبونی ساده در اختیارتون می‌ذارم. معرفی زبان برنامه‌نویسی C زبان برنامه‌نویسی C یه زبان برنامه‌نویسی قدرتمند و همه‌منظوره هستش! این‌که میگم همه‌منظوره یعنی در حوزه‌های مختلف کاربرد داره! مثلا توی ساخت نرم‌افزار‌هایی مثل سیستم‌عامل‌ها ( Operating Systems )، پایگاه داده‌ها، بانک‌های اطلاعاتی ( DataBase )، کامپایلر‌ها ( Compilers ) و یا توی بحث الکترونیک و میکرو‌کنترلر‌ها و موارد دیگه. یعنی شما این زبان رو یاد بگیرید با یه تیر دو نشون زدید! تازه! اگه از این زبان شروع به یادگیری کنید، چون پایه و مادر اکثر زبان‌های برنامه‌نویسی حال حاضر هست که داریم ازشون استفاده می‌کنیم، به راحتی می‌تونید بعد از یادگیری این زبان، زبان دیگه رو یاد بگیرید. این زبان یه انتخاب عالی می‌تونه باشه برای کسایی که تازه می‌خوان برنامه‌نویسی رو شروع کنند و درواقع مُبتدی هستن. هدف من در این دوره‌ی آموزشی یادگیری ساده شما توی این زبان هستش و قدم به قدم همراه شما هستم تا این زبان قدرتمند رو یاد بگیرید.شناسه‌ها ( متغییر‌ها ) و کلمات کلیدی در C اینجا ما درباره‌ی کلمات کلیدی که درواقع کلماتی رِزرو شده توی زبان C هستند صحبت می‌کنیم. بعد از اون درمورد قوانین و نحوه‌ی نام‌گذاری شناسه‌ها هم توضیحاتی میدم. این نکته رو به خاطر داشته باشید که کلامت رِزرو شده توی هر زبان برنامه‌نویسی به این معنیه که شما حق انتخاب اون کلمه‌ی کلیدی و رِزرو شده رو توی نام‌گذاری متغییر‌ها، توابع و کلا هر چیزی که نیاز به نام‌گذاری داشته باشه رو ندارید. مثل این می‌مونه که شما رفتید و هُتل اتاق رِزرو کردید، طبیعتا دیگه نمیان که اتاق شما رو به کسی دیگه‌ای بدن و فقط اون اتاق مختص شماست. کارکتر‌ها در C کارکتر‌ها درواقع همون حروف الفبا انگلیسی هستند که توی زبان C وجود دارن. حالا اینجا نکته‌ای که هست و باید بهش دقت کنید، اینه‌که حروف الفبا دو تا دسته‌ی کوچیک یعنی : a b c و ... و بزرگ مثل A B C و ... هستن. بعضی کارکتر‌ها هستن که به نان کارکتر‌های خاص خونده میشن! مثل (), {}, <> و ... که در ادامه لیستی از اون‌هارو براتون می‌‌ذارم. این کارکتر‌ها متفاوت از حروف الفبا هستن. زبان C هم حروف بزرگ و هم حروف کوچیک رو قبول می‌کنه. این‌که بتونید برای متغییر‌‌ها و توابعتون اسم انتخاب کنید و این‌طور نیست که فقط می‌تونید از حروف بزرگ یا کوچیک استفاده کنید. کارکتر‌های خاص در C , < > . _ ( ) ; $ : % [ ] # ? ' & { } " ^ ! * / | - \ ~ + اعداد در C اعداد هم که توی زبان‌های برنامه‌نویسی هستن و مورد استفاده قرار می‌گیرن! مثلا 5 4 3 2 1 و ... کارکتر‌های فضای خالی در C کارکتر‌هایی هستند که برای ما یک‌سری از کار‌ها رو انجام میدن! مثل ایجاد فضای خالی روی صحفه خروجی کُد‌هامون، رفتن به خط جدید، ایجاد تَب‌های افقی، سر سطر رفتن نشانگر موس، ایجاد یک صحفه‌ی جدید. کلمات کلیدی در Cکلمات کلیدی همون‌طور که بالا‌تر گفتم، کلماتی هستند که از قبل توی زبان C و زبان‌های برنامه‌نویسی دیگه توسط سازنده‌ی زبان تعریف شدن و درواقع کلمات رِزرو شده هستن. این کلمات کلیدی برای کامپایلر‌ها معنای خاصی دارن. یعنی این‌که کامپایلر‌ها وقتی با این کلمات کلیدی برخورد کنند، یه رفتار خاصی باهاشون دارن که نتیجش میشه مثلا ذخیره فلان متغییر با این اندازه و این نوع در فلان مکان حافظه! حالا این متغییر بود که کامپایلر در اصل با نوع اون کار داره و وقتی نوع اون رو بشناسه، اندازه‌ای که از حافظه طلب می‌کنه رو هم متوجه میشه و به این ترتیب ما می‌تونیم از متغییره که تعریف کردیم استفاده کنیم. کلمات کلیدی بخشی از Syntax ( قوانین یک زبان ) زبان‌های برنامه‌نویسی هستند و هیچ‌وقت نمی‌تونن برای اسم متغییر‌های ما استفاده بشن. این مثال رو ببیند تا توضیح بیشتری بدم : int number;اینجا کلمه‌ی int یه کلمه‌ی کلیدی هست که داره یه نوع عددی صحیح ( Integer ) رو به نمایش می‌ذاره! خود کلمه‌ی int مخفف integer به معنای عدد صحیح هست و الان ما یک متغییر از نوع int و با نام number داریم. زبان C به حروف بزرگ و کوچیک حساسه یعنی ( case sensitive ) هستش. این مثال رو ببینید تا بهتر متوجه منظورم بشید : int number; int Number; الان کامپایلر اگه بخواد این رو اجرا کنه، خطا باید بده! چون دو تا number داریم. ولی این‌طور نیست و کامپایلر برنامه رو اجرا می‌کنه. چون همون‌طور که گفتم، زبان C به بزرگی و کوچیکی حروف حساسه و بین number و Number تفاوت قائله و هر دوتاشون رو یکی نمی‌دونه. اما درمورد کلمات کلیدی این موضوع کمی فرق می‌کنه! همه‌ی کلمات کلیدی الزاما باید با حروف کوچیک نوشته بشن. یعنی اگه بنویسید Int این کلمه اصلا شناخته‌شده نیست توی زبان C تا این‌که بخواید اون رو به عنوان کلمه‌ی کلیدی انتخاب کنید. باید به این شکل بنویسید : int, double, char و ... من اینجا لیستی از همه‌ی کلمات کلیدی که در ANSI C مجاز هست رو براتون می‌ذارم : auto double int struct break else long switch case enum register typedef char extern return union continue for signed void do if static while default goto sizeof volatile const float short unsignedهمه‌ی این‌ها کلمات کلیدی توی موضوع مربوط به خودشون مورد بحث و بررسی قرار میگیرن، پس از این بابت نگران بَلد بودن یا نبودن این کلمات کلید نگران نباشید. شناسه‌های در C شناسه‌ها همون اسم‌هایی هستند که به متغییر‌ها، توابع و ساختار‌ها و موارد دیگه میدیم. این مثال‌ها رو ببیند :‌int number;یا void SetNumber(){}یاstruct Numbers{};که همه‌ی این‌هایی که در بالا می‌بینید، number, SetNumber و Numbers شناسه یا نام هستند که ما با استفاده از این شناسه‌ها می‌تونیم عمل مورد نظرمون که می‌تونه حالا دسترسی به مقدار مثلا متغیر یا تابعمون رو فراخوانی (‌ Call ) کنیم و کار‌های دیگه‌ای که موردنظرمون هست. بدون این شناسه‌ها عملا کاری نمی‌تونیم بکنیم. چون این شناسه‌ها و نام‌ها هستند که به ما اجازه‌ی انجام کار مورد‌نظرمون رو میدن. این رو در نظر داشته باشید که نام‌ها باید منحصر‌ به فرد باشن و توی زبان‌های برنامه‌نویسی دو تا نام متغیر نمی‌تونن عین هم باشن! این مثال رو ببینید :‌int number; double number; // Compiler give a error اما اگه به این شکل تعریف کنیم متغییرمون رو :int number_one; int number_two;دیگه خبری از خطا از طرف کامپایلر (‌ مترجم )‌ نیست. چون الان ما دو تا شناسه یا بهتره بگم نام متفاوت داریم. نام‌ها باید منحصر‌به فرد باشن تا در طول مدتی که برنامه در حال اجرا هست، به اون‌ها دسترسی داشته باشیم. اینجا دو تا نام number_one و number_two‌ شناسه یا نام هستند که با نوع داده‌ی int همراه شدن و یک متغییر رو شکل دادن. این نکته رو به خاطر داشته باشید که شما به هیچ‌وجه نمی‌تونید از نوع داده مثلا int‌ برای شناسه استفاده کنید! چون int یه کلمه‌ی کلیدی و رِزرو شده هست. قوانین نام‌گذاری شناسه‌ها یه شناسه می‌تونه از حروف کوچیک و بزرگ ( ...A B C و یا ...a b c)، اعداد ( ...4 3 2 1 ) و زیر‌خط‌ها ( ـ ) که معتبر هستند تشکیل بشه. یه شناسه همیشه باید یا با یه حرف شروع بشه مثل name یا با زیر خط. مثل name_ و هیچ‌وقت نمی‌تونید از اعداد یا کارکتر‌های غیر‌مجاز مثل 1name یا name@ استفاده کنید. البته از کارکتر‌های غیر‌مجاز مثل !,#,@ و مواردی دیگه، به هیج‌وجه نمی‌تونید استفاده کنید! اما از اعداد فقط در اول شناسه نمی‌تونید ولی بعد از اون در وسط یا آخر و یا هر جا دیگه از شناسه می‌تونید از اعداد استفاده کنید.از کلمات کلید و رِزرو‌ شده مثل int, double,while,for و کلمات کلیدی دیگه نمی‌تونید ازشون به عنوان شناسه استفاده کنید. و در نهایت هیچ قانونی واسه این‌که شناسه‌تون یه متر طولش باشه یا نه، وجود نداره. این دست خودتون هست. اما این رو بدونید که توی بعضی از کامپایلر شناسه از 31 کارکتر، مثلا؛ this_is_int_and_content_with_size‌ باشه، کامپایلر موقع اجرا با مشکل روبرو میشه. هرچند که منطقی‌تر و بهتر‌ هست که از نام‌های با معنی‌ استفاده کنید. مثل first_name یا last_name. در ضمن این‌که شما می‌تونید از هر اسمی که خواستید برای شناسه‌هاتون استفاده کنید،‌ به شرطی که قوانین بالا رو رعایت کنید. پایان جلسه اولمنتظر نظرات ارزشنمد شما هستم دوستان عزیزم.