جلسه ی اول(مقدمه)
سلام![]()
همه جا اول از شناسه ها متغییر ها و... شروع می کنن اما من میگم اول بایدیه Compiler خوب پیدا کنیم بعد باید باهاش دوست بشیم ورفتاراش و منظورهاش رو بفهمیم.خب لینک کامپایلر رو براتون گذاشتم که می تونید دانلود کنید.
بدیش این که ورژنش یکم پایین و محیطش داس اگه ویندوز 98 یا ME داریداز سیستم عامل های ذکر شده استفاده کنید چون ویندوز ایکس پی با برنامه
های داسی قدیمی یکمی مشکل داره وسرعت سیستم عامل رو میاره پایین.

دانلود ونصب
بعد ازدانلود با استفاده از برنامه فشرده سازی WinRAR کامپایلر را از حالت
فشرده خارج کنید فایل install.bat را اجرا کنید کامپایلر در پارتیشن C نصب خواهد شد.
برای ورود به محیط کامپایلر C:\TC\BIN\TC.EXEرا اجرا نمایید
به نظر من کامپایلر Turbo C++ 3.0 DOS برای شروع آموزش خوب باشه البته کامپایلرهای ورژن بالاتر هم هست
نکاتی مهم:
لازم بگم که کامپایلر های بور لند خطاها ی برنام رو یه خط بالا و پایین نشون می ده!!!
این زبان به حروف کوچک و بزرگ حساس است معنیش این که اگه بجای تابعcoutبنویسید Cout کامپایلر خطا می گیره وبعد چند ساعت تازه می فهمید که
مشکل چیه خب البته کامپایلر هم حق داره چون این زبان این دو عبارت رو دوشناسه و در نتیجه دو تابع مختلف شناسایی می کنه در حالی که Cout وجود
نداره وبرنامه این تابع رو نمی شناسه.
وجود خطا در برنامه طبیعی و لازم است (البته تا وقتی که بدست کاربر نهایی نرسیده) پس با دیدن حتی چهلتا خطا هم نباید ناراحت شد باید پیغامها رو خواند
یکی یکی خطا ها رو گرفت . بعضی مواقع بخاطر یه خطای ساده مثل سمیکالن فراموش شده ممکن سه تا خطای نامربوط ایجاد بشه و پیغامهای عجیبی ببینید
که بعد از یه مدت بهش عادت میکنید و پیغام ها و معانیشون رو دستون میاد.
بخوانیم یا بنویسیم؟ جونم !!!
بخوانید و بنویسید.
بعضی ها کتاب می خواند بعد دوباره می خوا نند وبازهم میخوانند آخ که چقدر زحمت می کشند جدی می گم ها اگه فقط نصف وقتی که برای خواندن صرف
میکنن رو روی برنامه نویسی عملی روی کامپیوتر صرف کنن با زحمتی کمتر بیشتر یاد میگیرن می دونید برنامه نویسی هم مثل ریاضی هر چقدر بخوانید
بازهم نمی تونید تمرین حل کنید مگر اینکه.... تمرین زیاد حل کنید.
چه کتابی بخوانیم:
الان که دارم اینو تایپ میکنم کتاب برنامه نویسی پیشرفته نوشته ی داریوش نیک مهر دستم اما کتاب دکتر فراهی رو هنوز ندیدم کتابی که در دست دارم
نیاز به یک استاد برای تدریس دارد و مطالب مبحث فایل ها درآن ذکر نشده احتمالا با خواندن کتاب دکتر فراهی و این کتاب می توان تمام مطالب رو یاد
گرفت.اما اگه دنبال منابع دیگری هم می گردید من کتاب های CوC++ مهندس عین الله جعفر نژادقمی رو به شما معرفی میکنم اولیش آموزش C هست بعلاوه گرافیک و وقفه ها برنامه نوبسی سیستمی که این قسمتش بیشتر
برای ترم بعد مفید ودومیش کتاب آموزشی C++ هست که خیلی جامع هست و مطالبی خارج از کتاب داره که یاد گیریش برای یک مهندس بعنوان یک
زبان بسیار مطرح مهم( البته C++ داره جا ش رو به C# می ده اما نه کاملا)هست لازم بگم که مطالب این کتاب اگر چه راجع بهC++ اما مفاهیم مهمی داره که در بیشتر زبانها وجود داره آخرش این که اگه C++رو فهمیدید یادگیری
بقیه زبان ها براتون خیلی کاری نداره.
پیش به سوی C++
شناسه ها
تمام کلمات شامل نام توابع نام متغیر ها و... شناسه هستند نام گذاری این شناسه ها قوانینی دارد
1.شامل کرکترها A-Z a-z اعداد و زیر خط _میباشند
2.بااعداد شروع نمی شوند و بهتر است به _ نیز شروع نشوند
انواع متغیرها
انواع پایه (یعنی انواعی که انواع داده ای جدید از آنها ساخته میشوند)در C++ در این جدول معرفی شده نوع bool نیز در برخی کامپایلرها با قا بلیت ذخیره مقادیر falseو trueقرار داده شده با استفاده از کلمات
signed unsigned short long
می توانید انواع جدیدی ایجاد کنید long بازه مقادیر را بزرگتر می کند و unsigned با در نظر نگرفتن مقادیر منفی بازه مقادیر را دو برابر می کند.قبل از استفاده از این پیشوندها باید کمی فکر کرد تا عبارات بی مورد یا خطا ساز بکار نرود مثلا signed int بی مورد است چون با توجه به جدول بالا همان int است یا long char بی معناست زیرا کاراکتری با کد بزرگتر از 255 نداریم
نکته :
بازه ی مقدار char عددی اعلام شده زیرا فقط عدد است که در حافظه ذخیره می شود واین برنامه است که این اعداد را به صورت کاراکتر نمایش میدهد
همجنین نوع unsigned char مقادیر 0 تا 255 را که همان کد های کاراکتر ها میباشد را ذخیره می کند از نظر کار با کاراکترها دو نوع مذکور تفاوتی
ندارند اما اگر بخواهیم با کد کاراکترها کارکنیم اهمیت محاسباتی می یابد.
اعلان متغیر ها
; نام متغیر نوع داده ای
;int a
;long int b,c
;char d
در C++ متغییر ها مقدار اولیه ندارند یعنی محتویات متغیر های تعریف شده در بالا بلافاصله بعد ازتعریف هر چیزی میتواند باشد در حالی که پاسکال خودش بلا فاصله بعد از تعریف متغییر به همه آنها مقدار اولیه ی صفر می دهد توجه کنید که مقدار اولیه ی صفر برای متغییر کاراکتری یعنی کاراکتی با کد صفر و منظور کاراکتری که نمایانگر صفر عددی است وکد آن 48 است نیست منظور یک بایت حافظه است که هر 8 بیت آن صفر شده به این کاراکتر با کد صفر NULL می گویند.
برای مقدار اولیه دادن به متغیر ها می توانید به صورت زیر عمل کنید
;int a=0
;long int b=0,c=135
;char d=’A’,e=65
برای مقدار دهی به متغییر های کاراکتری یا باید کاراکتر مد نظر را بین’’ قرار بدید یا مستقیما کد کاراکتر را به متغییر انتساب بدید.در مورد رشته ها هم فعلا فقط یه اشاره می کنم که آرایه ای از کاراکترهاست
مثل پاسکال اما در پاسکال طول رشته در خانه ی صفر آرایه ذخیره میشد ++c برای تعیین طول رشته انتهای رشته را با کاراکتر NULL می بنده و تعیین میکند.
چرا باید طول رشته تعیین شه؟
برای چاپ رشته روی مانیتور نمی شه که همین جوری محتوای حافظه رو چاپ کرد برنامه باید بدون چند کاراکتر رو چاپ کنه تا کار بر با مانیتوری پر از چیزهای عجیب وناخوانا(محتویات حافظه به زبان ماشین)روبرو نشه که البته این فقط یکی از جواب های این سوال لطفا خودتون انواع عملگر ها و ترتیب اجراشون ورو مطالعه کنید بهتر حفظ هم کنید من که حفظ نیستم حفظمم نمیشه
