برنامه نویسی ++C (سی پلاس پلاس) – مرور دستورات

 

برنامه نویسی ++C

 

تفاوت های میان زبان c و ++C

 

برنامه نویسی ++C

 

تفاوت های میان زبان c و ++C

  • اضافه شدن دستور cout به جای دستور printf (البته می توان از  printf هم استفاده کرد).
  • به جای  scanf از دستور cin استفاده می کنیم که کار با آن راحت تر است.
  • افزوده شدن متغیر نوع  bool که true و false است.
  • در c++ میتوانیم چند تابع همنام داشته باشیم (function overloading).
  • می توانیم به پارامتر ها امکان پیشفرض (default) بدهیم.
  • استراکچر می توانیم تابع تعریف کنیم.
  • با استفاده از :: می توانیم متغیر محلی و همنام داشته باشیم.
  • با استفاده از کلمه  name space میتوانیم اسکوپ های  کوچک تعریف کنیم و متغیر های همنام در اسکوپ های مختلف داشته باشیم.
  • با استفاده از نشت حافظه (memory leak) می توانیم مدیریت بهتری داشته باشیم.
  •  مهمترین تفاوت میان c و ++C تفاوت oop (مطالب مربوط به شیء گرایی).

برای شروع در هر برنامه ای باید دو خط اول زیر را بنویسیم و بعد تابع main را می نویسیم:

برنامه بالا  پیام hello را به ما نشان می دهد.

نکته: در کامپایل کردن فایل ممکن است کامپایلر خطاهای مانند نگذاشتن علامت سمی کالن (;) و یا جا انداختن حروف در دستورات و خطا های دیگر به ما ارور بدهد که در این صورت باید آن را درست کنیم.

‘’ ‘’ : می توانیم میان این دو علامت در دستور، متن خود را بنویسیم.

نکته: اگر بخواهیم که علامت های برنامه گذاشته نشود باید در آخر تابع main دستور ()getch را بنویسیم که البته قبل از آن باید سر فصل مربوط به آن را (#include conio.h) تعریف کنیم.

اگر بخواهیم بعد از متنی که در دستور cout گذاشته ایم با دو شیفت به راست بعد از متن قبلی آن را ادامه می دهیم مانند:

اگر بخواهیم بین دو متن فاصله بیاندازیم می توانیم از دستور ‘\t’ استفاده کنیم که ۴ کاراکتر فاصله گذاری می کند کاراکتر کنترلی ‘\n’: برای رفتن به سطر بعد استفاده می شود که می توانیم به جای آن از دستور استفاده کنیم.

کاراکتر کنترلی: ‘\b’ این کاراکتر در برنامه نشانه گذار را یک خانه به عقب می برد.

کاراکتر ‘\a’: با کاراکتر بک اسلش آ می توانیم کاری کنیم که بوق سیستم زده شود.

نکته: علاوه برا کاراکترهای کنترلی بالا، کاراکتر های کنترلی دیگری هم داریم.

 نکته: به جای ‘\n’  می توانیم از <<endl  هم استفاده کنیم. نحوه کاربرد:

 

 

 

 

 

 

برای تعریف متغیر از جنس صحیح از int استفاده می کنیم.

نکته: محدوده متغیراز جنس صحیح (int) از ۳۲۷۰۸- تا ۳۲۷۰۷+ است

نکته: متغیر از جنس صحیح (int) در بعضی سیستم ها دو بایت و در بعضی سیستم ها ۴ بایت از فضا را اشغال می کند.

دستور cin >>: برای گرفتن متغیر از ورودی ها از دستور استفاده می کنیم که بعد از آن نام متغیری را که باید دریافت شود از ورودی می گیریم.

با استفاده از دستورات گفته شده می توانیم برنامه ای بنویسیم که دو عدد را از ورودی گرفته و حاصل ضرب آن ها را به ما بدهد همچنین با دادن پیام هایی مانند زیر کاری کنیم که خوانایی برنامه بالاتر رود و کاربر منظور ما را متوجه شود:

 

متغیر نوع float: در متغیر از نوع ما فقط می توانیم از اعداد صحیح استفاده کنیم و اگر عدد اعشاری مانند ۳٫۴ به آن بدهیم به ما ۳ می دهد و فرقی هم نمی کند که اعشار آن چقدر باشد لذا ما اگر بخواهیم از اعداد اعشاری استفاده کنیم متغیر نوع float را به کار می گیریم.
متغیر نوع Double: این متغیر مانند نوع Float عمل می کند با این تفاوت که متغیر از نوع Double محدوده بیشتری را به ما می دهد و برای مقادیر بزرگ تر استفاده می شود. 
نکته: سایز متغیر نوع Float4 بایت و متغیر نوع Double 8 بایت است.
متغیر نوع char: اگر ما بخواهیم از متغیری استفاده کنیم که کاراکتر ها را به ما نشان دهد برای این کار ما باید از متغیر نوع chare استفاده کنیم که می تواند یک حرفی و چند حرفی باشد.
نکته: متغیر از نوع char 1 بایت از فضای سیستم را اشغال می کند.
نکته: اگر کاراکتری را با خروجی نوع صحیح استفاده کنیم به ما کد اصلی آن کاراکتر را می دهد هر کاراکتر کد اصلی مربوط به خودشان را دارد.
نکته: کد اصلی کاراکتر A 65 و کد اصلی کاراکتر a 97 است.
unsigned : اگر ما بخواهیم محدوده ما فقط اعداد نا منفی باشد از unsigned استفاده می کنیم مثل unsigned int

انواع عملگر ها:

در سی پلاس پلاس ما ۶ نوع عملگر داریم: عملگرهای محاسباتی، عملگر های رابطه ای، عملگرهای منطقی، عملگر های بی تی(BT) و عملگر های متفرقه

عملگرهای محاسباتی:

  •      -: کار تفریق را برای ما انجام می دهد
  •     +: کار جمع را برای ما انجام می دهد
  •      *: کار ضرب را برای ما انجام می دهد
  •      / : کار تقسیم را برای ما انجام می دهد
  •      –: از عدد یک واحد کم می کند
  •      ++: به عدد یک واحد اضافه می کند

نکته : در مورد — و ++ گذاشته شدن قبل و بعد از متغیر تفاوت دارد و مهم است.
نکته: اگر ++ قبل باشد متغیر اول زیاد می شود و بعد چاپ می شود و اگر بعد از متغیر باشد اول چاپ می شود و بعد یک واحد اضافه می شود (در مورد – هم همینطور است).

عملگر های رابطه ای:

  •      <و>: این دو علامت رابطه کوچک تر یا مساوی بودن دو عدد را بررسی می کند.
  •      =< و =>: رابطه کوچکتر مساوی و بزرگتر مساوی را بررسی می کنند.
  •      ==: رابطه مساوی بودن دو چیز را بررسی می کند.
  •      =!: رابطه نامساوی بودن دو چیز را بررسی می کند.

نکته : اگر بنویسیم b=a مقدار a را درb می گذارد اما اگر بنویسیم b==a یعنی آیا b با a برابر است یا خیر.
نکته رایانه پس از بررسی اگر جواب درست باشد آن را با یک و در غیر اینضورت آن را با صفر نشان می دهد.

عملگرهای منطقی:

  • !: عملگر حاصل جواب را برعکس می کند (صحیح به غلط و غلط به صحیح تبدیل می شود).
  • &&: حاصل دو چیز وقتی درست است که هر دو درست باشند.
  • ||: حاصل دو چیز وقتی درست است که حداقل یکی از آن دو چیز درست باشد.

نکته: عملگر های منطقی دارای دو ارزش trueو false هستند.

متغیر نوع bool:

متغیر نوع bool دارای دو مقدار true و false است مثال:

 

 

 

 

 

 

 

 

عملگرهای ترکیبی:

این نوع عملگر ها حاصل ترکیب بعضی علامت ها با = است و مزیت این روش این است که ما نام متغیر را یک بار می نویسیم و اگر نام متغیر ما طولانی باشد این نوع عملگر ها به ما کمک می کنند همچنین استفاده کردن از این عملگر ها خوانایی برنامه توسط خودمان را بالا می برد مثال:

عملگر های ترکیبی شامل =+، =%، =*، =/ و =- هستند.

عملگر های بی تی:

  •      &: (and BT) حاصل & دو چیز وقتی یک است که هر دو یک باشند.
  •      |: (or BT) حاصل | دو چیز وقتی یک است که حداقل یکی از آن دو چیز یک باشد.
  •      ˜: (not BT) این عملگر حاصل را برعکس می کند (صحیح به غلط و غلط به صحیح تبدیل می شود).
  •       >: (شیفت به چپ) مقدار عبارت را دوبرابر می کند.
  •       <<:(شیفت به راست) مقدار عبارت را نصف می کند.
  •      ^: (یا انحصاری) اگر هردو عبارت با هم برابر نباشند حاصل ۱ است ( حاصل ۰و۱ ، ۱و۰ یک است)

نکته: اگر ما بخواهیم توضیحاتی برای خودمان تعریف کنیم و کامپایلر آن ها را نادیده بگیرد از // استفاده می کنیم و بعد از // هرچه بنویسیم کامپایلر آن را نادیده می گیرد همچنین اگر توضیحات ما طولانی و در چند سطر بود می توانیم آن ها را بین (\* , *\) بنویسیم.

 

عملگر؟(عملگر شرطی):

عملگر ؟ عملگری است که مقایسه را انجام می دهد و شبیه کار دستورات if و elseاست این نوع عملگر را مانند زیر می نویسیم:

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

 

عملگر،(کاما):

این عملگر برای این استفاده می رود که به جای این که چند دستور را مجزا بنویسیم می توانیم آن ها را باهم و در یک دستور بنویسیم مثال:

 

نکته: همیشه آخرین نتیجه به دست آمده در متغیر ذخیره می شود.

تبدیل انواع داده ها:

در تبدیل انواع داده ها همیشه نوع کوچک تر به نوع بزرگ تر تبدیل می شود برای مثال در تبدیل داده های نوع و متغیر از نوع int به متغیر از نوع float تبدیل می شود.

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

نکته: اگر ما بخواهیم متغیر ثابتی را مانند f تعیرف کنیم در قسمت سرفصل ها ابتدا با استفاده از سرفصل #include define آن را تعریف می کنیم و مزیت این روش این است که اگر خواستیم عددمان را تغییر دهیم فقط در سر فصلش آن را تغییر می دهیم.

با استفاده از دستورات و توضیحات گفته شده می توانیم برنامه های متفاوتی را بنویسیم و برنامه کارهایی مانند گرفتن دو متغیر از ورودی و تحویل دادن میانگین آن دو عدد را برای ما انجام دهد اگر بخواهیم ممیز نمرات را هم به ما نشان دهد و جواب دقیق تر شود در ave= مانند زیر عمل می کنیم به این کار type casting می گویند:

  

 

اگر ما بخواهیم برنامه مثلا عدد ۵ را نشان دهد و قبل از آن دو _ بزند و قبل از ali 5* بزند مانند زیر عمل می کنیم:

 

  

نکته: اگر در مثال بالا از (self(ios::left استفاده کنیم می توانیم از سمت چپ کاراکتر مورد نظرمان را چاپ کنیم.

نکته: width تعداد فضا را برای ما مشخص می کند.

 برنامه زیر کوچکترین و بزرگترین سایز متغی اینت را به ما نشان می دهد:

 

اتواع تابع های سرفصل #include math.h:

pow : عدد را به توان دلخواهمان می رساند.

fmod: عدد اول را بر عدد دوم تقسیم می کند و باقیمانده را به ما تحویل می دهد.

abs: قدر مطلق عدد صحیح را به ما می دهد.

F abs: قدر مطلق عدد اعشاری را به ما می دهد.

ceil: سقف عدد را به ما می دهد برای مثال ۳٫۴ را به عدد ۴ تبدیل می کند.

floor: کف عدد را به ما تحویل می دهد برای مثال ۳٫۵ به ۳ تبدیل می شود.

 log10: از عدد در پایه ۱۰ لگاریتم می گیرد.

log: از عدد در پایه نپر لگاریتم می گیرد.

To lower: اگر ما به آن کاراکتر بزگ بدهیم به کد اصلی کاراکتر کوچکش تبدیل می کند.

To upper: اگر ما به آن کاراکتر کوچک بدهیم به کد اصلی کاراکتر بزرگش تبدیل می کند.

Is lower: سوالی است و اگر کاراکتر بزرگ باشد ۰ و در غیر اینصورت ۱ را به ما می دهد.

Is upper: سوالی است و اگر کاراکتر کوچک باشد ۱ و در غیر انصورت ۰ را به ما می دهد.

int: اگر کاراکتر به آن بدهیم کد اصلی اش را به ما تحویل می دهد.

char : اگر کد اصلی کاراکتری را به آن بدهیم کاراکتر آن را به ما تحویل می دهد.

یک مثال از تابع های بالا (شکل روبرو): 

 

 

 

 

آنچه مطالعه کردید، توسط جناب آقای سید علی ذبحی به عنوان برنامه نویسی ++C (سی پلاس پلاس) – مرور دستورات و برداشت متنی بخش هایی از آموزش « برنامه نویسی C++‎» تهیه شده و جهت استفاده مخاطبین گرامی در فرادرس منتشر می شود.

 

 

 

پاسخی بگذارید

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