0% found this document useful (0 votes)
93 views8 pages

C++ C++ C C++ C++ Main C++ CPP

يقدم هذا المستند مقدمة عن أساسيات لغة ‪C++‬. يشرح المستند كيفية كتابة أول برنامج ‪Hello World‬ باستخدام لغة ‪C++‬، ويوضح أنواع المتحولات والعمليات الحسابية والمنطقية المدعومة في اللغة.

Uploaded by

Mohammed Aljbry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views8 pages

C++ C++ C C++ C++ Main C++ CPP

يقدم هذا المستند مقدمة عن أساسيات لغة ‪C++‬. يشرح المستند كيفية كتابة أول برنامج ‪Hello World‬ باستخدام لغة ‪C++‬، ويوضح أنواع المتحولات والعمليات الحسابية والمنطقية المدعومة في اللغة.

Uploaded by

Mohammed Aljbry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

‫أساسيات لغة ‪C++‬‬

‫‪ .1‬مقدمة‬
‫تعترب لغة ‪ C++‬من أشهر اللغات اليت تتتتيتب ليتال وا رادلرر يتة إل تيتا أسيتر الرب يتامو رألهيتلها أ‪.‬ا ‪ .‬تعتيترب اللغيتة ‪ C++‬امتيتاا‪.‬ا‬
‫للغة ‪ C‬رقا أ شأت عام ‪ 1979‬رأعطيت امسها احلايل (‪ )C++‬يف العام ‪.1983‬‬
‫يتيتيتألا الرب يتيتامو ‪ C++‬ميتيتن رلتوعيتيتة ميتيتن اإلترااييتيتات رالتواليتيتب ال يت تيتيتا‪.‬رب معيتيتا مهتيتيتة الرب يتيتامو ال لييتيتة‪ .‬يبيتيتاأ التيذييتيتم ‪.‬رميتيتا ميتيتن‬
‫التالب األساسي رادلستى ‪ main‬رالمرب جيب أن تبه يف كل لر امو‪.‬‬
‫دي يتن ت سيتي لر يتامو ‪ C++‬إىل عيتاا ملذيتات رل يتن يف األردلبييتا‪ .‬العلتيتي السيتوأرب جييتب أن ي يتون الرب يتامو م تيتو لال اميتيتل‬
‫يف ملا ‪ cpp‬راحا‪.‬‬

‫‪ .2‬كيفية كتابة برنامج بلغة ‪C++‬‬


‫لل تالة للغة ‪ C++‬جيب تيصيب زلرأ خاص يستح لال تالة هبمه اللغة‪ .‬سيتعتا يف األردلبيا‪ .‬العلتي السوأرب عليتى لر يتامو‬
‫‪ Microsoft Visual Studio‬المرب تتولر ميه العايا من اإلصااأات‪.‬‬
‫لعا تيصيتيب ذيتما الرب يتامو عليتى اههيتا ‪ ,‬دي يييتا لت يته رإ شيتا مشيترر ‪ Visual C++‬تاييتا ميتن الييتو ادلسيتتى ‪Win32‬‬
‫‪console application‬‬

‫‪1‬‬
‫رمن مث اختياأ ‪Empty project‬‬

‫لعيتا لليتن يتوم لا شيتا مليتا تاييتا ميتن الييتو (‪ )cpp‬رإضيتالته إىل ادلشيترر احليتايل لل تاليتة ضيتتيه ( ‪project  Add‬‬
‫‪:)New Item‬‬

‫‪2‬‬
‫‪ .3‬كتابة برنامج ‪:Hello World‬‬
‫سيباأ لرب امو لسيط يعرض ص على الشاشة (ا تبه للغة ‪ C++‬لغة حساسة حلالة األحرف ال بريا رالصغريا)‪:‬‬
‫‪//This program will display a message on the screen.‬‬
‫>‪#include<iostream‬‬
‫;‪using namespace std‬‬
‫)(‪int main‬‬
‫{‬
‫;"‪cout <<"Hello World‬‬
‫;‪return 0‬‬
‫}‬

‫لتيذيم الرب امو اضغط على الزأ ‪ F5‬لت صل على اخلر التايل‪:‬‬
‫‪Hello World‬‬

‫ي وم احلاسب لتيذيم الرب امو رطباعة اخلر رالعو‪.‬ا سريعا إىل ‪Visual Studio‬‬
‫إلا أأ‪.‬ت تثبيت ادلخرتات على الشاشة علين التيذيم لاستخاام ‪Ctrl+F5‬‬
‫ليشرح أسطر الرب امو السالق‪:‬‬

‫التعليقات ‪Comments‬‬ ‫‪1.1‬‬


‫يباأ السطر األرل يف الرب امو مب ريف (‪ )//‬المين ياالن على أن السطر لال امل ذو عباأا عن تعليق‬
‫ذياك و أخر من التعلي ات ال تتيح ليا كتالة تعليق ديتا على عاا أسطر كتا يف‪:‬‬
‫‪/*This program will display‬‬
‫‪a message on the screen*/‬‬
‫رذو يباأ ‪.‬ااتا مب ريف (*‪ )/‬رييتهي مب ريف (‪)*/‬‬

‫استخدام المكاتب ‪#include‬‬ ‫‪1.2‬‬


‫تستح تعليتة ‪ #include‬لاستاعا م تبة أخرى هباف استخاام توالعها أر إترااياهتا ضتن الرب امو احلايل‬
‫يف الرب امو السالق يت استاعا ادل تبة ‪ iostream‬رال حتتورب تعليتات التعامل مب الاخل راخلر اليظامي‬
‫يستح السطر ‪ using namespace std‬لاستاعا ال س ‪ std‬من ادل تبة ‪iostream‬‬

‫التابع ‪main‬‬ ‫‪1.3‬‬


‫يباأ تيذيم الرب امو ‪.‬رما من التالب ادلستى ‪ main‬رالمرب ال يأخم أرب رسيط (معامل) ريعيا ‪( int‬أرب أق ص يح)‬
‫تب ‪ return 0‬هباف اخلرر من التالب رإعا‪.‬ا ال يتة ‪0‬‬

‫‪3‬‬
‫‪ .4‬الكتابة إلى الخرج النظامي‬
‫تستخام التعليتة ‪ cout‬لل تالة على اخلر اليظامي (الشاشة) رللن كتا يف ادلثال السالق‪ ,‬حيث يت طباعة اليص‬
‫ادلوتو‪ .‬ضتن زلريف "" على الشاشة‬
‫جيب أن تيتهي كل تعليتة يف لغة ‪ C++‬لاحملرف (;) كتا يف تعليتة ‪ cout‬رتعليتة ‪return‬‬

‫‪ .5‬أنماط المتحوالت‬
‫يعترب ادلت ول م ا ا زلجو ا يف الماكرا ستطيب تعبئته لال ي ال رغب هبا‪ .‬ل ل مت ول منط ثالت حيا‪ .‬ال ي ادلت ية‬
‫ذلما ادلت ول‪.‬‬
‫األمناط األساسية يف لغة ‪ C++‬ذي‪:‬‬
‫مثال عن القيمة‬ ‫مساحة التخزين‬ ‫الشرح‬ ‫النمط‬
‫‪true‬‬ ‫‪1 bit‬‬ ‫‪False or True‬‬ ‫‪bool‬‬
‫‟‪„a‬‬ ‫‪1 byte‬‬ ‫زلرف راحا‬ ‫‪char‬‬
‫‪1242‬‬ ‫‪4 byte‬‬ ‫أق ص يح موتب أر سالب‬ ‫‪int‬‬
‫‪1242.23535‬‬ ‫‪8 byte‬‬ ‫أق ح ي ي لذاصلة عشرية كبري‬ ‫‪double‬‬
‫”‪“Hello‬‬ ‫متغريا‬ ‫سلسلة زلاأف‬ ‫‪string‬‬
‫دي ن تعريا ادلت ول يف أرب م ان ضتن الرب امو رل يه جيب أن يُعرف حتتا قبل استخاامه‪ .‬مثال دي ن تعريا ادلت ول‬
‫‪.‬اخل تالب أر إترااية كتا دي ن تعريذه خاأ كل التوالب راإلتراايات‪.‬‬
‫يت تعريا ادلت ول لبساطة عن طريق كتالة اس اليتط رمن مث اس ادلت ول‪ ,‬مثل‪:‬‬
‫;‪int x‬‬
‫جيب أن يتبه لأن لغة ‪ C++‬حساسة لألحرف لادلت ول ‪ x‬خيتلا عن ادلت ول ‪X‬‬

‫‪ .6‬القراءة من الدخل النظامي‬


‫ستخام التعليتة ‪ cin‬لل را ا من الاخل اليظامي (لوحة ادلذاتيح) لطري ة مشاهبة للتعليتة ‪ cout‬على الش ل‪:‬‬
‫;‪cin >> x‬‬
‫مثال ل را ا مت ولني رطباعة رلتوعهتا تب‪:‬‬
‫;‪int x,y‬‬
‫;‪cin >> x >> y‬‬
‫;‪cout << "The sum is: " << x+y << endl‬‬
‫قتيا ذيا ل را ا قيتتني ص ي تني رختزييهتا يف ادلت ولني ‪ x‬ر ‪ y‬لسطر راحا‪ ,‬كتا قتيا لاستخاام ‪ endl‬لطباعة سطر‬
‫تايا لعا رلتوعهتا‬

‫‪4‬‬
‫‪ .7‬العمليات الحسابية والمنطقية‬
‫تاع ‪ C++‬العتليات احلسالية األألعة (‪ +‬ر – ر * ر ‪ ) /‬لاإلضالة إىل معامل لاقي ال ستة األعاا‪ .‬الص ي ة (‪)%‬‬
‫للت اأ ة دي ن استخاام أ‪.‬رات األكرب راألصغر الت لياية لاإلضالة إىل عتلية م اأ ة التساررب (==)‪ ,‬كتا دي ن استخاام‬
‫العتليات ادليط ية األساسية ‪and, or, not‬‬
‫مثال‬ ‫الشرح‬ ‫العملية‬
‫‪a+1‬‬ ‫عتلية اهتب‬ ‫‪+‬‬
‫‪a-b‬‬ ‫عتلية الطرح‬ ‫‪-‬‬
‫‪a*2‬‬ ‫عتلية الهر‬ ‫*‬
‫‪a/2‬‬ ‫عتلية ال ستة‬ ‫‪/‬‬
‫‪a%2‬‬ ‫عتلية لاقي ال ستة‬ ‫‪%‬‬
‫‪a==b‬‬ ‫تساررب‬ ‫==‬
‫‪a!=b‬‬ ‫ال تساررب‬ ‫=!‬
‫‪a>2‬‬ ‫أكرب من‬ ‫>‬
‫‪a<0‬‬ ‫أصغر من‬ ‫<‬
‫‪a>=b‬‬ ‫أكرب من أر يساررب‬ ‫=>‬
‫‪a<=b‬‬ ‫أصغر من أر يساررب‬ ‫=<‬
‫‪a>0 && b>0‬‬ ‫العتلية ادليط ية ‪and‬‬ ‫&&‬
‫‪a>0 || b>0‬‬ ‫العتلية ادليط ية ‪or‬‬ ‫||‬
‫)‪!(a==b‬‬ ‫العتلية ادليط ية ‪not‬‬ ‫!‬
‫‪a=2‬‬ ‫إسيا‪ .‬قيتة دلت ول‬ ‫=‬
‫‪a++‬‬ ‫مجب ‪ 1‬دلت ول ررضب الياتو ضتيه‬ ‫‪++‬‬
‫‪a--‬‬ ‫طرح ‪ 1‬من مت ول ررضب الياتو ضتيه‬ ‫‪--‬‬

‫‪ .8‬التحكم الشرطي ‪if‬‬


‫لتيذييتيتم لعيتيتي التعليتيتيتات ل يتيتط عييتيتا حت يتيتق شيتيترط معيتيتني‪ .‬تتيتيتألا التعليتيتيتة ‪ if‬ميتيتن شيتيترط رتس يت‬ ‫تسيتيتتح التعليتيتيتة ‪ if‬ليتيتالت‬
‫حيتورب على رلتوعيتة ميتن التعليتيتات‪ .‬يعييتا الشيترط ال يتيتة ‪ true‬أر ‪ ,false‬رال ييتت تيذييتم تسيت التعليتيتة ‪ if‬إال عييتاما يعييتا‬
‫الشرط اخلاص هبا ال يتة ‪ .true‬دي يتن أن يليتي التعليتيتة ‪ if‬تعليتيتة ‪ else‬ميتب تسيت خيتاص خيتاص هبيتا‪ ,‬ييتت تيذييتم التعليتيتات‬
‫ادلوتو‪.‬ا ضتن تس ‪ else‬إلا كان شرط تعليتة ‪ if‬غري زل ق (يعيا ‪ )false‬مثال‪:‬‬
‫‪5‬‬
‫)‪if(x==y‬‬
‫{‬
‫;"‪cout << "x is equal to y‬‬
‫}‬
‫‪else‬‬
‫{‬
‫;"‪cout<< "x is not equal to y‬‬
‫}‬
‫دي ن استخاام عاا تعليتات ‪ if‬متتالية دلعاهة رلتوعة من الشررط‪:‬‬
‫)‪if(x<0‬‬
‫{‬
‫;"‪cout << "x is less than zero‬‬
‫}‬
‫)‪else if(x>0‬‬
‫{‬
‫;"‪cout<< "x is greater than zero‬‬
‫}‬
‫‪else‬‬
‫{‬
‫;"‪cout<<"x is zero‬‬
‫}‬

‫‪ .9‬حلقة ‪while‬‬
‫تستح احلل ات لت راأ تيذيم رلتوعة من التعليتات‪ .‬تستح حل ة ‪ while‬لت راأ تيذيم رلتوعة من التعليتات طادلا ل ي‬
‫شرط معني زل ق (يعيا ال يتة ‪.)true‬‬
‫مثال‪:‬‬
‫)‪while(x<100‬‬
‫{‬
‫;‪x=x*2‬‬
‫}‬
‫يف ادلثال السالق ستستتر احلل ة لهر ادلت ول ‪ x‬لال يتة ‪ 2‬إىل أن تصبح قيتته أكرب أر تساررب من ‪ 100‬عياذا‬
‫تتوقا احلل ة‬
‫يت ل ص شرط احلل ة قبل البا لتيذيمذا لالا كا ت قيتة ‪ x‬أكرب أر تساررب من ‪ 100‬قبل لا تيذيم حل ة ‪while‬‬
‫عياذا لن يت تيذيم تس احلل ة ألاا‬

‫‪ .11‬حلقة ‪for‬‬
‫تستح حل ة ‪ for‬لت راأ تيذيم رلتوعة من التعليتات عا‪.‬ا زلا‪.‬ا من ادلرات‪ ,‬رللن عن طريق استخاام عاا‪ .‬خاص هبا‬
‫يباأ لرق زلا‪( .‬مثال ‪ )1‬رييتهي لرق حا‪( .‬مثال عا‪ .‬مرات الت راأ ادلطلو ) ريزيا مب ااأ زلا‪( .‬مثال ‪ 1‬يف كل تيذيم‬
‫هس احلل ة)‬
‫مثال ل تالة حل ة ‪ for‬ت وم لطباعة األعاا‪ .‬من ‪ 1‬إىل ‪ 10‬على الشاشة‪ ,‬كل عا‪ .‬على سطر مست ل‪:‬‬
‫)‪for (int i=1;i<=10;i++‬‬
‫{‬
‫;‪cout<< i<<endl‬‬
‫}‬

‫‪6‬‬
‫دي ن استخاام التعليتة ‪ break‬إلهنا احلل ة راخلرر ميها قبل إدتام عا‪ .‬الت راأات ادلطلو (مثال لسبب حت ق شرط‬
‫معني يتطلب كسر احلل ة راخلرر ميها)‪ ,‬ركملن دي ن استخاام التعليتة ‪ continue‬إلهنا الت راأ احلايل من احلل ة‬
‫ل ط رالبا لالت راأ التايل مباشرا‬

‫‪ .11‬التوابع واإلجرائيات‬
‫دي يتيتن ت سيتيتي الرب يتيتامو يف لغيتيتة ‪ C++‬إىل رلتوعيتيتة ميتيتن التواليتيتب راإلتراييتيتات اليت ي يتيتوم كيتيتل ميهيتيتا مبهتيتيتة تزاييتيتة زليتيتا‪.‬ا مميتيتا يسيتيتهل‬
‫ميتيتن عتلييتيتة ق يترا ا الرب يتيتامو رلهتيتيته رتص يت يح أخطيتيتا ه‪ .‬كالمهيتيتا حيت يتيتورب عليتيتى رلتوعيتيتة ميتيتن التعليتيتيتات ال يت ي يتيتت تيذييتيتمذا عييتيتا‬
‫اسيتيتتاعا ه رل يتيتن الذيتيتري الوحييتيتا ليتيتني التيتيتالب راإلترااييتيتة ذيتيتو أن اإلترااييتيتة ال تيتيتر‪ .‬أرب قيتيتيتة يف هناييتيتة اسيتيتتاعااها لييتيتيتا ييتيتر‪ .‬التيتيتالب‬
‫قيتة راحاا من و زلا‪..‬‬
‫ي يتيتوم التيتيتالب أر اإلترااييتيتة لاميتيتا مهتيتيتة تزاييتيتة صيتيتغريا ليتيتملن لهيتيتو يأخيتيتم رلتوعيتيتة ميتيتن ادلعيتيتامالت كيتيتاخل ليتيته رل ييتيته ال دي يتيتن أن‬
‫يعيا أكثر ميتن قيتيتة راحيتاا ل يتط‪ .‬ييتت تعرييتا التيتالب عيترب كتاليتة اسيت اليتيتط اليتمرب يعييتاه متبوعيتا لاسيت التيتالب مث أمنيتاط رأمسيتا‬
‫معامالته‪ ,‬لييتيتا يف حاليتة اإلترااييتات جييتب ‪.‬ااتيتا اسيتتخاام ‪ void‬ليتال اسيت اليتيتط اليتمرب يعييتاه (كو يته ال يعييتا أرب قيتيتة)‪.‬‬
‫يت استاعا التالب أر اإلترااية من خالل كتالة امسه متبوعا ل ي معامالته شرط أن ي ون معرف قبل استاعاؤه‪.‬‬
‫مثال دي ن تعريا تالب ي وم لأخم عا‪.‬ين ص ي ني كتعاملني ريعيا اتو مجعهتا على الش ل‪:‬‬
‫)‪int add(int x, int y‬‬
‫{‬
‫;‪return x+y‬‬
‫}‬
‫الستاعا التالب السالق ضتن أرب تالب أخر مثل التالب ‪ main‬تب‪:‬‬
‫;)‪int z=add(1,2‬‬
‫حيث ‪ z‬ذو ادلت ول المرب سيتهتن اتو تيذيم التالب (أرب اتو مجب ‪ 1‬مب ‪)2‬‬

‫‪ .12‬التوابع الرياضية‬
‫حتتورب لغة ‪ C++‬على رلتوعة من التوالب الرياضية اهاذزا ضتن م تبة ‪ math‬رال دي ن استخاامها لعيتا تهيتتني ادل تبيتة‬
‫يف الرب امو لاستخاام تعليتة >‪#include <math.h‬‬
‫مثال‬ ‫الشرح‬ ‫التابع‬
‫)‪ sqrt(9.0‬تعيا ال يتة ‪3‬‬ ‫اهمأ الرتليعي‬ ‫‪sqrt‬‬
‫)‪ fabs(-2.0‬تعيا ‪2‬‬ ‫ال يتة ادلطل ة‬ ‫‪fabs‬‬
‫)‪ ceil(9.2‬تعيا ‪10‬‬ ‫الت ريب لألعلى‬ ‫‪ceil‬‬
‫)‪ floor(9.8‬تعيا ‪9‬‬ ‫الت ريب لأل‪.‬ىن‬ ‫‪floor‬‬
‫)‪ sin(0.0‬يعيا ‪0‬‬ ‫تالب اهيب‬ ‫‪sin‬‬

‫‪7‬‬
‫)‪ cos(0.0‬يعيا ‪1‬‬ ‫تالب التجيب‬ ‫‪cos‬‬
‫)‪ tan(2*3.1415‬يعيا ت ريبا ‪0‬‬ ‫تالب الظل‬ ‫‪tan‬‬
‫)‪ pow(10,2‬يعيا ‪100‬‬ ‫تالب ال وا (األس)‬ ‫‪pow‬‬

‫‪ .13‬المصفوفات‬
‫تعترب ادلصذولات من ألسط أ وا لىن ادلعطيات ادلت ن استخاامها يف الربامو احلاسولية‪ .‬ري ون ذلا عا‪ .‬زليتا‪ .‬ميتن العياصيتر‬
‫ال جيب أن ت ون مجيعها من منط راحا‪ .‬يت تعريا ادلصيتذولة كتيتا ادلت يتول عيتن طرييتق كتاليتة اسيت اليتيتط مث اسيت ادلصيتذولة‬
‫رل يها تتبب ل وسني صغريين لااخلهتا عيتا‪ .‬عياصيترذا‪ .‬دي يتن الوصيتول مباشيترا ألرب عيصيتر ضيتتن ادلصيتذولة عيتن طرييتق كتاليتة‬
‫اس ادلصذولة متبوعا ل وسني صغريين لااخلهتا ترتيب العيصر ضتن ادلصذولة (‪ )index‬حيث ترتيب أرل عيصر ذيتو ‪,0‬‬
‫رترتيب الثاين ذو ‪ 1‬رذ ما‪...‬‬
‫مثال‪ :‬لتعريا مصذولة من ‪ 3‬أعاا‪ .‬ص ي ة رتعبئة عياصرذا مبهاعذات العا‪ 2 .‬تب‪:‬‬
‫;]‪int a[4‬‬
‫;‪a[0]=2‬‬
‫;‪a[1]=4‬‬
‫;‪a[2]=8‬‬
‫دي ن التعامل مب ادلت يتول ميتن اليتيتط ‪ string‬عليتى أ يته مصيتذولة ميتن احمليتاأف‪ ,‬حييتث دي يتن الوصيتول حمليترف زليتا‪ .‬لاسيتتخاام‬
‫ترتيب رأر‪.‬ه (‪ index‬اخلاص له) دتاما كتا يف ادلصذولات‪.‬‬
‫دي يتيتن تعرييتيتا مصيتيتذولات متعيتيتا‪.‬ا األلعيتيتا‪( .‬ثيااييتيتة أر ثالثييتيتة األلعيتيتا‪ ,).‬ميتيتثال يف ادلصيتيتذولة ثيااييتيتة األلعيتيتا‪ .‬ييتيتت حتاييتيتا أقيت السيتيتطر‬
‫رأق العتو‪ .‬للوصول لعيصر زلا‪( .‬لا ا من ‪)0‬‬
‫مثال‪ :‬لتعريا مصذولة ثيااية ألعا‪ .‬من ‪ 4‬أسطر ر‪ 5‬أعتاا رتعبئة العيصر ادلوتو‪ .‬يف السطر األرل رالعتو‪ .‬األرل تب‪:‬‬
‫;]‪int b[4][5‬‬
‫;‪b[0][0]=100‬‬

‫‪ .14‬المؤشرات‬
‫يس يتيتتخام ادلاش يتيتر يف لغ يتيتة ‪ C++‬كعييت يتوان دلتغ يتيتري يف ال يتيتماكرا‪ ,‬يس يتيتتخام يف عتلي يتيتة احلج يتيتز ال يتيتاييامي ي لل يتيتماكرا حي يتيتث دي يتيتن‬
‫استخاامه حلجز مصذولات ‪.‬ييامي ية يف الماكرا‪.‬‬
‫لتثال لتعريا ماشر ‪ x‬رحجزه يف الماكرا رمصذولة ‪ arr‬رحجزذا حبج ‪ 100‬عيصر تب‪:‬‬
‫;)(‪int *x =new int‬‬
‫;]‪int *arr=new int[100‬‬

‫‪8‬‬

You might also like