سفارش تبلیغ
صبا ویژن

درس اول

نکاتی مهم:

 

لازم بگم که کامپایلر های بور لند خطاها ی برنام رو یه خط بالا و پایین نشون می ده!!!

 

این زبان به حروف کوچک و بزرگ حساس است معنیش این که اگه بجای تابع

coutبنویسید Cout  کامپایلر خطا می گیره وبعد چند ساعت تازه می فهمید که

مشکل چیه خب البته کامپایلر هم حق داره چون این زبان این دو عبارت رو دو

شناسه و در نتیجه دو تابع مختلف شناسایی می کنه در حالی که Cout وجود

نداره وبرنامه این تابع رو نمی شناسه.

 

وجود خطا در برنامه طبیعی و لازم است (البته تا وقتی که بدست کاربر نهایی

نرسیده) پس با دیدن حتی چهلتا خطا هم نباید ناراحت شد باید پیغامها رو خواند

یکی یکی خطا ها رو گرفت . بعضی مواقع بخاطر یه خطای ساده مثل سمیکالن

فراموش شده ممکن سه تا خطای نامربوط ایجاد بشه و پیغامهای عجیبی ببینید

که بعد از یه مدت بهش عادت میکنید و پیغام ها و معانیشون رو دستون میاد.

 

بخوانیم یا بنویسیم؟       جونم !!!   بخوانید و بنویسید.

بعضی ها کتاب می خواند بعد دوباره می خوا نند وبازهم میخوانند آخ که چقدر

زحمت می کشند جدی می گم ها اگه فقط نصف وقتی که برای خواندن صرف

میکنن رو روی برنامه نویسی عملی روی کامپیوتر صرف کنن با زحمتی کمتر

بیشتر یاد میگیرن می دونید برنامه نویسی هم مثل ریاضی هر چقدر بخوانید

بازهم نمی تونید تمرین حل کنید مگر اینکه.... تمرین زیاد حل کنید.

 

پیش به سوی 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 می بنده

و تعیین میکند.

چرا باید طول رشته تعیین شه؟

برای چاپ رشته روی مانیتور نمی شه که همین جوری محتوای حافظه رو

چاپ کرد برنامه باید بدون چند کاراکتر رو چاپ کنه تا کار بر با مانیتوری

پر از چیزهای عجیب وناخوانا(محتویات حافظه به زبان ماشین)روبرو نشه

که البته این فقط یکی از جواب های این سوال است