آموزش جامع و کامل زبان ++c

انواع داده ها در C++ :

در C++ شش نوع داده وجود دارد. منظور از داده، متغیری است که در قالب متن یا عدد در طول برنامه مورد استفاده قرار می گیرد.

داده های موجود در C++ عبارتند از :

char, int, float, double, void, bool ,string

نوع char برای ذخیره داده های کاراکتری مانند : ‘a’ , ‘z’ , ‘W’ بکار می رود.

از نوع int برای ذخیره اعداد صحیح مانند ۱۲۸، ۵، ۴۵۰۸ استفاده می شود.

نوع float برای ذخیره اعداد اعشاری مثل ۱۲.۵، ۷۸۰۵.۱۱ بکار می رود.

نوع double برای اعداد اعشاری بزرگتر از float استفاده می شود.

از boolean برای ذخیره مقادیر منطقی استفاده می شود ( درستی یا نادرستی ).

نوع void هیچ مقداری را نمی گیرد

نوع دیگری از داده وجود دارد که برای استفاده از رشته ها مورد استفاده قرار میگیرد که string گفته میشود اما در برخی از نسخه های کامپایلر زبان برنامه نویسی C++ پشتیبانی نمی شود، لذا مجبور به استفاده از آرایه ای از کاراکترها برای این منظور خواهیم بود .

متغیرها

در طول برنامه نویسی، کاربران با متون و اعداد زیادی کار می کنند، به همین دلیل آنها را در متغیرها ذخیره می کنند. در واقع متغیر ها نامهایی برای کلمات ذخیره شده در حافظه سیستم هستند.

برای استفاده از یک متغیر ابتدا باید آن را در برنامه تعریف نماییم که روش تعریف متغیر بصورت زیر است :

در قطعه کد بالا می بینیم که هر متغیر باید دارای نام منحصر بفردی باشد که برای نامگذاری متغیر ها باید توجه داشته باشیم که :

  • برای نامگذاری متغیرها از ترکیبی از حروف a تا z یا A تا Z ، ارقام و خط ربط ( _ ) استفاده می شود.
  • اولین کاراکتر نام نباید از ارقام باشد.
  • نام می تواند هر طولی داشته باشد اما فقط ۳۱ کاراکتر ابتدایی استفاده می شوند.

مقدار دادن به متغیر ها

بعد از تعریف یک متغیر باید مقداری را به آن نسبت دهیم که به یکی از چهار روش زیر می توان اینکار را انجام داد :

  • هنگام تعریف متغیر

  • بعد از تعریف و با عمل انتساب ( = ).

  • با استفاده از قالب سازنده.

  • دستورات ورودی که در فصل مربوط به ورودی / خروجی گفته خواهد شد.

ثوابت و عملگرها در C++ – (Constants)

ثوابت مقادیری در برنامه هستند که مقدارشون در طول برنامه قابل تغییر نیست و اگر که بخوایم مقدار ثوابت رو تغییر بدیم با خطایی از طرف کامپایلر مواجه می شیم.

برای تعریف ثوابت در c++ دو الگو وجود دارد :

  • ۱. با استفاده از دستور #define

به محل استفاده از این دستور دقت کنید که در کجای برنامه مورد استفاده قرار گرفته است (بعد از فایلهای سرآیند) .

نکته ای که باید در اینجا توجه نمود و در مثال بالا هم مشخص بود این است که در پایان دستور #define از ; (سمی کالن) استفاده نمی کنیم.

  • ۲. با استفاده از کلمه کلیدی const :

می بینیم که محل این دستور درون خود تابع main هست اما دستور #define در بیرون از تابع main و در بالای برنامه.

عملگر ها (Operators)

برای انجام عملیات بر روی داده ها از عملگرها استفاده می کنیم. عملگرها نمادهایی هستند که عملیاتی مانند جمع،ضرب، کوچکتری و از این قبیل را روی داده ها انجام می دهند که عبارتند از :

  • انتساب ( Assignment ) ( = )

از این عملگر برای نسبت دادن یک مقدار به یک داده استفاده می شود .

 

نحوه عملکرد این عملگرد به این شکله که مقدار سمت راست تساوی را در سمت چپ قرار میدهد. آموزش انواع type در زبان برنامه نویسی C++

  • عملگرهای محاسباتی ( Arithmetic Operators ) ( + , – , * , / , % )

پنج عملگر محاسباتی موجود در C++ عبارتند از :

+ جمع
تفریق
* ضرب
/ تقسیم
% باقیمانده تقسیم

با ۴ عملگرد اول آشنا هستید اما آخرین که خوانده می شود ( مـد “با واو تلفظ کنید” ) عملوند سمت چپ را بر عملوند سمت راست تقسیم کرده و باقیمانده آنرا بدست می آورد .

  • عملگرهای ترکیبی ( Compund Operators ) ( =+ , =- , =* , =/ )
عبارت برابر است با
a += b a=a+b
a -= b a=a-b
a *= b+1 a=a*(b+1)
a /= b a=a/b

در واقع جواب این نوع از عملگرها برابر حاصل عمل عملگر، بر خود عبارت سمت چپ و عبارت سمت راست تساوی است . علت اینگونه نوشتار هم مختصرنویسی است.

عملگرهای ترکیبی دیگری نیز وجود دارند که در ادامه در موردشان بحث می کنیم مثل : => و =<

  • عملگرهای افزایش کاهش ( Increase , Decrease ) ( ++ , — )

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

اگر عملگر سمت راست یا چپ عملوند خود باشه در هر دو صورت یک واحد به عملوند اضافه می شود . اما تفاوت این دوحالت در عبارات محاسباتی خود را نشان می دهد . عبارات محاسباتی ترکیبی از متغیرها، ثوابت و عملگرها هستند مثل ۴*۵-۵/۱۰ و ۶-x/y

اما در مثال بالا چون افزایش بعد از B قرار دارد اول مقدار B که ۳ هست در A ریخته میشود و بعد یک واحد به B اضافه میشود .

  • عملگرهای رابطه ای و تساوی (Relational and equality operators) ( = = , =! , > , < , =< , => )

از این نوع عملگرها برای مقایسه دو عبارت استفاده میشود که کاربرد اونها بیشتر در عبارات شرطی است که بعدا در موردشون بحث می کنیم . فعلا اینو بدونید که این عملگرها در صورت درست بودن مقایسه، مقدار درستی و در غیر این صورت مقدار نادرستی را برمی گردانند .

عملگرهای دیگه ای هم وجود دارند که در آینده و با برخورد به اونها در موردشون صحبت می کنیم تا مبحث کسل کننده و طولانی نشود .

Basic input/output – I/O – دستورات ورودی خروجی در برنامه نویسی C++

هدف از ساخت کامپیوتر و ایجاد برنامه نویسی دادن اطلاعات به ماشین و دریافت جواب بوده که به این روال، جریان ورودی خروجی گفته میشود . برای استفاده از این جریانات ما حداقل به ۲ فایل کتابخانه ای در C++ نیاز داریم و دستوراتی برای استفاده از این کتابخانه ها که با ارائه یک مثال، استفاده از این دستورات را نشان می دهم .

برای استفاده از کلمات کلیدی cin و cout لازمه که از کتابخانه iostream.h در برنامه خود استفاده کنیم.

دستور cout باعث چاپ اطلاعات در مانیتور می شود به این صورت که اگر بعد از این دستور، عبارت مورد نظر رو تو ” ” قرار بدیم عینا همون عبارت تو مانیتور نشان داده می شود و معمولا جایی که کاربر قصد نشان دادن عین یک عبارت را در خروجی دارد مورد استفاده قرار می کیرد و اگه بخواهیم مقدار یک متغیر یا ثابتی را نمایش بدهیم باید نام را نوشته و از ” ” استفاده نکنیم .

دستور cin باعث می شود که از کاربر یا برنامه دیگه ای یک مقدار یا متنی را بگیریم . در واقع کامپایلر با رسیدن به این دستور منتظر ورود اطلاعات از طرف کاربر شده تا زمانی که کاربر Enter را فشار بده و مقدار ورودی کاربر را در متغیری که در جلوش اعلان شده بریزه و همونطور که قبلا اشاره شد موجب مقدار دهی به متغیر مربوطه میشود .

آموزش دستورات ورودی خروجی cin,cout,input,output در برنامه نویسی C++ در برنامه بالا تابعی بنام getch() هست که برای استفاده از اون باید از کتابخانه conio.h استفاده کنیم که باعث میشود بعد از اجرای برنامه و رسیدن کامپایلر به این خط، برنامه متوقف شده و منتظر این باشه که کاربر یک کلید از کیبورد را فشار دهد . با این دستور می توانیم خروجی برنامه را ببینیم چون اگر این تابع نباشد در کسری از ثانیه برنامه اجرا و بلافاصله بسته میشود و دیگر ما قادر به دیدن خروجی نخواهیم بود . ( امتحان کنید! )

در مثال بالا فرض بر اینه که کاربر مقدار ۱۲۰ را وارد کرده است.

گاهی اوقات لازمه که ما چند مقدار را با استفاده از دستور cin به برنامه بدهیم، در اینصورت به ازاء هر مقدار از یک << استفاده می کنیم و همینطور برای دستور cout ازیک >> .

همونطور که در برنامه های قبلی دیدیم با نوشتن چند دستور چاپ، تمامی اطلاعات در یک خط نوشته شد . در خروجی برای اینکه از خط کنونی به خط بعدی برویم به یکی از صورتهای زیر عمل می کنیم :

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

عبارت \n نیز مثل endl خروجی را به خط بعدی هدایت می کند .

باید بگم فرض بر این است که مقادیر ۱۲۰ و ۸۷ توسط کاربر وارد شده است . نکته ای که اینجا قابل توجه است اینه که دستور cin خودش باعث میشود که کامپایلر با گرفتن مقدار بطور خودکار به خط بعدی برود و دیگه اینجا نیازی به قید \n یا endl نیست .

در بالا دو عبارت محاسباتی شبیه به هم اما با ساختاری متفاوت را مشاهده می کنیم. این دو عبارت جوابی متفاوت نسبت به یکدیگر دارند و تنها دلیل این تفاوت وجود یا عدم وجود پرانتز در هر کدام از این دو می باشد.

بطور کلی در عبارات محاسباتی قوانینی وجود دارد که اولویت عملگری را بر سایر عملگرها مشخص می کند. یعنی در برخورد با یک عبارت محاسباتی، عملگرهای با تقدم بالاتر، زودتر محاسبه شده تا به آخرین عملگر در عبارت برسیم.

آموزش عبارات محاسباتی و تقدم و اولویت عملگرها در برنامه نویسی C++ جدول زیر تقدم عملگرها را با اولویت از بالا به پایین به ما نمایش میدهد.

۱ ()
۲ !  ~  ++  —  sizeof
۳ *  /  %
۴ +  –
۵ <<  >>
۶ <  <=  >  >=
۷ ==  !=
۸ &
۹ ^
۱۰ |
۱۱ &&
۱۲ ||
۱۳ ?
۱۴ =  +=  -=  *=  /=  %=
۱۵ ,

همینطور که در جدول بالا مشخص شد بالاترین تقدم عملگرها را پرانتز و پایین ترین تقدم را کاما دارا می باشند.

در جدول بالا ردیف هایی با چند عملگر وجود دارند. این بدین معنی است که از تقدم یکسانی برابر هستند، بنابر این اگر در عبارات محاسباتی به چند عملگر با تقدم یکسان برخورد کردیم تقدم بالاتر به عملگری میرسد که در سمت چپ دیگر عملگرها قرار دارد.

عبارات محاسباتی و تقدم و اولویت عملگرها در C++ برای درک مطلب به بررسی مثالی می پردازیم :

ابتدا عبارت داخل پرانتز به دلیل بالاترین تقدم بررسی می شود. اینجا ما دو پرانتز تودرتو داریم پس از پرانتز داخلی شروع می کنیم.

با محاسبه مقدار اولین پرانتز، دوباره عبارت داخل آنرا بدلیل وجود پرانتز دوم و تقدم آن نسبت به دیگر عملگرها محاسبه می کنیم.

حالا از بین عملگرهای موجود * و % از تقدم بالاتری برخوردارند. بدلیل یکسان بودن تقدم این دو از چپ شروع کرده و با رسیدن به هر کدام از این دو عملگر مقدار عبارت را محاسبه میکنیم که در این مثال ابتدا * محاسبه می شود.

سپس نوبت به % میرسد.

اکنون عملگرهای + و – در عبارت باقی می مانند که بدلیل یکسانی تقدم اولین عملگر از چپ یعنی – ابتدا محاسبه می گردد.

و در پایان عملگر + محاسبه شده که در نهایت به جواب ۹ می رسیم.

اشتراك گذاری نوشته

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *