کامپیوتر و IT و اینترنت

برنامه نویسی پیشرفته (مقدمات زبان ++c)

صفحه 1:
برنامه نويسى بيشرفته بخش اول (مقدمات زبان 0++) تهيه كننده:محمد غمكسار

صفحه 2:

صفحه 3:
#۶ > < 2 6 زر سما یو ‎=p:‏ > کوج

صفحه 4:
"هر دستور اجرایی به یک سمی کالن ختم می شود. "7" هربلوک از برنامه با اکولاد باز شروع وبا اکولاد بسته پایان می یابد. “ازبان 0++بين حروف بزرگ و کوچک تفاوت است وهمچنین کلمات کلیدی با حروف کوچک نوشته می شوند.

صفحه 5:
نوع | طول (بایت) 6 ۰ 6 11 >

صفحه 6:
"برای تعریف متغییرهایی که در طول برنامه مقدار ثابتی دارند ازکلمه کلیدی پحسس‌استفاده می کنیم: :نام متغيي رحمقدار امج “براى اعلان متغييرها در0++به شكل زير عمل مى كنيم: : نوع داده متغييرها

صفحه 7:
"انتساب درونی انتساب زنجیره ای ”براى جاب نتايج وخروجيها مى توان از دستوروحدبه شكل زير استفاده نمود.

صفحه 8:
DISKS) lll; 7اگربخواهيم عبارتی عینا درخروجی چاپ شود کافی است انرا عینا داخل گیومه نوشت. 0-6 :29و وج >> "راب ی > یوم دردستور هسمی توان از فرمت های کنترلی به شکل زیر استفاده می کنیم:

صفحه 9:
موجب انتقال کنترل خط جدید مي 0 انتقال به 0محل بعدي صفحه نمایش ود نا هط هذا جا“ككنوه”: ”دستور ورودى براى دريافت داده ها از ورودى مورد استفاده قرار ميكرد براى اين كار ازدستور «ب«استفاده مى كنيم شكل كلى اين دستور به شكل زیر است

صفحه 10:
:لقلام ورودوج<7 /برای کمیتهای کاراکتری میتوان از توابع ورودی وخروجی به شکل زیر استفاده نمود: ‎(etc‏ دریافت کاراکتر من چاپ کاراکتر

صفحه 11:
دم جمس 55 صحيح /اعشار صحیح /اعشاري = اري صحيح /اعشارم مان بح /اعشاري تفریق : صحیح ‎tel)‏ ‏7 صحیح /اعشاري یج /اعشاري ضرب 7 / صحیح |اعشاري . صحیح اعشاري محاسبه باقي مانده ‏ 96 صحیح ۱ ۱ سدع سمح افزایشی + کا - صحیح صحیح اهشي

صفحه 12:

صفحه 13:
! نقیض ۱ یای منطقی && ومنطقی ”هر مقدار صفر را میتوان معادل نادرست وهرمقدار غیرصفری را میتوان معادل درست كرفت.

صفحه 14:

صفحه 15:
"7 شکل كلي يك عملگر تركيبي به صورت زیر مي باشد عبارت- عملگر متغییر /دراینجا عملگر مي تواند يكي از عملگرهاي/,*,-,+,>>,<<,5,۸,96,اباشد “شكل كلي اين عملكر به صورت زير ميباشد:

صفحه 16:
:متغییر <(عبارت ))۶(عبارت 9):(عبارت 9) “دراينجا اكر عبارت ) درست بود عبارت © ودر غير اين صورت عبارت 6اجرا مى شود. “اين عملكر براى به زنجير دراوردن جند عمليات مختلف مورداستفاده قرار مى ‎ey‏

صفحه 17:
7 عملگر بیتی انتقال به چپ >> 7عملگر بیتی انتقال به راست << "این عملگر باعث انتقال بیتهای عملوند متغییر سمت چپ به اندازه تعداد بیت های تعبین شده بوسیله مقدار طرف راست عملگر به سمت چپ می شود. "دراینصورت بیتهای سمت چپ از دست رفته وبیت های خالی سمت راست با صفر پر می شوند.

صفحه 18:
25 نوع داد ‎a‏ اعداد با علامت ‎eed‏ اعداد بدون علامت ‎bn‏ طول راتقریبا دوبرابرمیکند ‎shot‏ طول را تقریبا نصف می کند

صفحه 19:
"توصیف کننده لحعمبصی لس بیب رای داده های نوع مارب به کار می روند ۷توصیف کننده پا ببسبیبرای داده های عاطط,ببه کار می روند. “توصيف كننده لحمب + را مى توان به همراه بمحا,؛ !ديه كار برد. “مى توان براى توصيف كننده هااز کلمه کلیدی باستفاده نکرد.

صفحه 20:
“انوع داده يك متغییر را میتوان به طور موقت تغییرداد شكل كلي اين عمل به صورت زیرخواهد بود ۷قاعده موسوم به ترفیع نوع بدین صورت می باشد که خروجی نهایی هرعبارت ازنوع بزرگترین نوع داده موجود دران عبارت می باشد. :متغییر (نوع دادم ترفیع نوع فقط درطی ارزیابی ان عبارت موثرمی باشد یعنی متغییر ازنظر فیزیکی بزرگتر نخواهد شد.دراصل کامپایار کپی موقتی از مقدار آن متغییر تهیه خواهد نمود.

صفحه 21:
۷اگرسمت چپ دستورانتساب بزرگتر از سمت راست باشد مشکلی ایجادنمی شود. "اگرسمت چپ دستورانتساب کوچکتر از سمت راست باشد مقداری از داده ها گم می شود. 7درعمل تبدیل از یک مقدار اعشاری به صحیح قسمت اعشاری عدد حذف ميشود. “قاعده کلی در تبدیل نوع از عددصحیح بزرگتر به عدد صحیح کوچکتر ویا از عدد صحیح به کارکتر بدین صورت است که از بیتهای با مرتبه بالاتر کاسته خواهد شد,

صفحه 22:
""شیوه رفتار با سرریز دربیشتر کامپیوترها اين گونه است که قاعده چرخش اتفاق می افتد.بنابراین عددی که پس از بیشترین مقدار می اید »کمترین مقدار است. “به طوربيش فرض كامبايلر یک ثابت عددی را در کوچکترین نوع داده ای که می تواند ان را نگاه دارد »جای می دهد.

صفحه 23:
‎preted Sct POODOD KAD We‏ 40000 یک بمسلقی ‏می شود. ‏"نها استثنا ثابت های اعشاری هستند که فرض می شود از نوع عاططمى باشند. “درمواردى كه درمورد يك ثابت عددى بخواهيم بيش فرض را تغييردهيم مى توان با بكار بردن يك بسوند اين كارراانجام داد ”براى اعداد اعشارى از بسوند *)ورا استفاده ميشود. ‏“ابراى اعداد صحيح از بسوند 0)ورااستفاده میشود.

صفحه 24:
++لجازه می‌دهد به جایسیستم عدد در مبنای(00از سیستم مبنای ریا ‎iil era)‏ نمود. “ابراى مشخص كردن عدد در مبناى ©0انرا ب!:()ودر مبناى ©با()شروع تماييم. ”همجنين با استفاده از يك هدايت كننده ميتوان يك عدد را در مبناى ©ويا©0)از ورودى دريافت ويا جاب كرد.اين هدايت كننده درفايل سرايند عدصت قرار دارند.

صفحه 25:
"یک فایل سرایند مجموعه ای از متغییرها ثابت ها ءزیربرنامه ها وانواع داده می باشد. "برای استفاده از یک فایل سرایند در برنامه باید ان را قبل از قسمت اجرایی به شکل زیر تعریف ‎pales‏ <بانام. فایلسرایند. > یارب "نام تعدادی فایل سرایند در زیر امده است

صفحه 26:
۱۱۱۱۹۹ +

صفحه 27:
‎pou(xv)‏ توان رسانی ‎ra‏ جذر عدد م سیئوس هذلولوی

صفحه 28:
(x) (x) (x) (nv) سس 7 5 ‎ota‏ ‎et (2)‏ 5

برنامه نویسی پیشرفته بخش اول (مقدمات زبان )++C تهیه کننده:محمد غمگسار ‏www.mohammadghamgosar.blogfa.com ++C ++C ساختار برنامه در برنامه محاسبه مساحت دایره #include <iostream.h> const pi=3.14 main(){ float r,s,p; cin>>r; s=pi*r*r; cout<<s; } هر دستور اجرایی به یک سمی کالن ختم می شود. ‏هربلوک از برنامه با اکوالد باز شروع وبا اکوالد بسته پایان می یابد. ‏زبان ++Cبین حروف بزرگ و کوچک تفاوت است وهمچنین کلمات کلیدی با حروف کوچک نوشته می شوند. نوع داده )طول (بايت نوع 2 int 4 float 8 double 1 char _______ void اعالن ثابتها برای تعریف متغییرهایی که در طول برنامه مقدار ثابتی دارند ازکلمه کلیدی ‏constاستفاده می کنیم: ;ن ام متغییر=مقدار const اعالن متغییرها ‏برای اعالن متغییرها در++Cبه شکل زیر عمل می کنیم: ; نوع داده متغییرها دستورات اجرایی انتساب ‏انتساب درونی ‏انتساب زنجیره ای دستورات خروجی ‏برای چاپ نتایج وخروجیها می توان از دستورcoutبه شکل زیر استفاده نمود. ;اقالم خروجی<<cout ‏اگربخواهیم عبارتی عینا درخروجی چاپ شود کافی است انرا عینا داخل گیومه نوشت. ;a=6; b=2 ;cout<<“a+b=”<<a+b ‏دردستور coutمی توان از فرمت های کنترلی به شکل زیر استفاده می کنیم: فرمت کنترلی عملکرد \n موجب انتقال كنترل خط جديد مي شود \t انتقال به 8محل بعدي صفحه نمايش ;”cout<<“\n this is a \t test دستورات ورودی ‏دستور ورودی برای دریافت داده ها از ورودی مورد استفاده قرار میگرد برای این کار ازدستور cinاستفاده می کنیم شکل کلی این دستور به شکل زیر است ;اقالم ورودی>>cin ‏برای کمیتهای کاراکتری میتوان از توابع ورودی وخروجی به شکل زیر استفاده نمود: تابع عملکرد )(cin.get دریافت کاراکتر )(cout.put چاپ کاراکتر عملگرهای ریاضی عمل نماد ورودي خروجی جمع + صحيح /اعشاري صحيح /اعشاري تفريق - صحيح /اعشاري صحيح /اعشاري ضرب * صحيح /اعشاري صحيح /اعشاري تقسيم / صحيح /اعشاري صحيح /اعشاري محاسبه باقي مانده % صحيح صحيح افزايشي ++ صحيح صحيح كاهشي -- صحيح صحيح عملگرهای رابطه ای نماد عملکرد > کوچکتری =< بزرگترمساوی < بزرگتری =! نامساوی == مساوی => کوچکتر مساوی عملگرهای منطقی نماد ++c عمل ! نقیض || یای منطقی && ومنطقی ‏هر مقدار صفر را میتوان معادل نادرست وهرمقدار غیرصفری را میتوان معادل درست گرفت. اولویت عملگرها عملگرها اولویت ! صفر *%,/, اول +,- دوم >=<,=>,<, سوم ===!, چهارم && پنجم || ششم عملگرهای ترکیبی ‏شكل كلي يك عملگر تركيبي به صورت زير مي باشد عبارت= عملگر متغيير ‏دراينجا عملگر مي تواند يكي از عملگرهاي!,&,^,%,<<,>>,+,-,*,/باشد عملگر؟ ‏شكل كلي این عملگر به صورت زیر میباشد: ;متغییر=(عبارت (?)1عبارت (:)2عبارت )3 ‏دراينجا اگر عبارت 1درست بود عبارت 2ودر غیر این صورت عبارت 3اجرا می شود. عملگر کاما این عملگر برای به زنجیر دراوردن چند عملیات مختلف مورداستفاده قرار می گیرد. عملگرهای بیتی انتقال ‏عملگر بیتی انتقال به چپ >> ‏عملگر بیتی انتقال به راست << عملگر بیتی انتقال به چپ این عملگر باعث انتقال بیتهای عملوند متغییر سمت چپ به اندازه تعداد بیت های تعیین شده بوسیله مقدار طرف راست عملگر به سمت چپ می شود. دراینصورت بیتهای سمت چپ از دست رفته وبیت های خالی سمت راست با صفر پر می شوند. نگاه دقیقتر به نوع داده توصیف کننده نوع داده توصيف كننده نوع داده عملکرد ‏signed اعداد با عالمت ‏unsigned اعداد بدون عالمت ‏long طول راتقریبا دوبرابرمیکند ‏short طول را تقریبا نصف می کند توصیف کننده signed,unsignedبرای داده های نوع int,charبه کار می روند ‏توصیف کننده short,longبرای داده های int,doubleبه کار می روند. ‏توصیف کننده unsignedرا می توان به همراه short,longبه کار برد. ‏می توان برای توصیف کننده هااز کلمه کلیدی intاستفاده نکرد. قالب بندی نوع داده ‏نوع داده يك متغيير را ميتوان به طور موقت تغييرداد شكل كلي اين عمل به صورت زيرخواهد بود ;متغيير (ن وع داده تبدیل نوع داده درعبارتها ‏قاعده موسوم به ترفیع نوع بدین صورت می باشد که خروجی نهایی هرعبارت ازنوع بزرگترین نوع داده موجود دران عبارت می باشد. ترفیع نوع فقط درطی ارزیابی ان عبارت موثرمی باشد یعنی متغییر ازنظر فیزیکی بزرگتر نخواهد شد.دراصل کامپایلر کپی موقتی از مقدار ان متغییر تهیه خواهد نمود. ( تبدیل نوع داده دردستورات انتساب ‏اگرسمت چپ دستورانتساب بزرگتر از سمت راست باشد مشکلی ایجادنمی شود. اگرسمت چپ دستورانتساب کوچکتر از سمت راست باشد مقداری از داده ها گم می شود. ‏درعمل تبدیل از یک مقدار اعشاری به صحیح قسمت اعشاری عدد حذف میشود. ‏قاعده کلی در تبدیل نوع از عددصحیح بزرگتر به عدد صحیح کوچکتر ویا از عدد صحیح به کارکتر بدین صورت است که از بیتهای با مرتبه باالتر کاسته خواهد شد. سرریز وپاریز ‏شیوه رفتار با سرریز دربیشتر کامپیوترها این گونه است که قاعده چرخش اتفاق می افتد.بنابراین عددی که پس از بیشترین مقدار می اید ،کمترین مقدار است. رفتار با ثابتها به طورپیش فرض کامپایلر یک ثابت عددی را در کوچکترین نوع داده ای که می تواند ان را نگاه دارد ،جای می دهد. مثال 10یک int،46000یک unsignedو100001یک longتلقی می شود. ‏تنها استثنا ثابت های اعشاری هستند که فرض می شود از نوع ‏doubleمی باشند. ‏درمواردی که درمورد یک ثابت عددی بخواهیم پیش فرض را تغییردهیم می توان با بکار بردن یک پسوند این کارراانجام داد ‏برای اعداد اعشاری از پسوند Fو Lاستفاده میشود. ‏برای اعداد صحیح از پسوند UوLاستفاده میشود. عدد نویسی درمبنای 8و16 ++Cاجازه میدهد ب ه جایس یستم عدد در مبنای10از س یستم مبنای )octal(8ویا )hexa(16استفاده ن مود. ‏برای مشخص کردن عدد در مبنای 16انرا با0xودر مبنای 8با0شروع نماییم. همچنین با استفاده از یک هدایت کننده میتوان یک عدد را در مبنای 8ویا16از ورودی دریافت ویا چاپ کرد.این هدایت کننده درفایل سرایند iomanipقرار دارند. فایلهای سرایند یک فایل سرایند مجموعه ای از متغییرها ،ثابت ها ،زیربرنامه ها وانواع داده می باشد. برای استفاده از یک فایل سرایند در برنامه باید ان را قبل از قسمت اجرایی به شکل زیر تعریف نماییم >hن ام ف ایلس رایند#include <. ‏نام تعدادی فایل سرایند در زیر امده است نام فایل سرایند iostream math limits ctype time stdio ctype string توابع ریاضی توابع غیرمثلثاتی تابع عملکرد )floor(x کف عدد )ceil(x سقف عدد )exp(x نمایی )fabs(x قدرمطلق )log(x لگاریتم )pow(x,y توان رسانی )sqrt(x جذر عدد )sinh(x سینوس هذلولوی توابع مثلثاتی تابع acos(x) asin(x) atan(x) atan2(x,y) cos(x) sin(x) tan(x) atan2(x,z)

62,000 تومان