المحاضرة الثان ة أنواع الب انات)المتغ رات و الثوابت(
محتو ات المحاضرة أنواع الب انات اإلعالن عن المتغ رات الثوابت إسناد الق م إلى المتغ رات واجهة برنامج Visual Studio 2010 2
أنواع الب انات كلمات لغة ال C++ أسماء تعر ف ة أسماء Identifiers المحجوزة متغ رات variables ثوابت constants عامة global محل ة local
األسماء المحجوزة ف أي لغة برمج ة توجد كلمات ت ستخدم من قبل اللغة لتعر ف دوالها او كائناتها الخاصة, لغة ++C تحتوي أ ضا على هذه الكلمات و ال تستط ع ان تستخدمها لتعر ف متغ رات أو دوال أو كائنات.إذا الكلمات المحجوزة ه : ه كلمات معر فة مسبقا لمترجم ال ++C ولها معنى خاص وتؤدي وظ فة مع نة و ال جوز إعادة تعر فها أو استعمالها ف غ ر ما خ صصت له. بعض الكلمات المحجوزة ف لغة ال ++C: main for if do include return while else and or not xor
األسماء التعر ف ة Identifiers ه األسماء الت نتق ها المبرمج ل سم بها المتغ رات والثوابت الت حتاج إلى تعر فها داخل البرنامج )البد من تعر ف اي ب انات قبل استخدامها ف ++C(. ف الذاكرة لحفظ وتطلق األسماء التعر ف ة على : الثوابت المتغ رات: ه أسماء تحجز لمواقع الب انات داخلها الدوال
األسماء التعر ف ة Identifiers لواعد تسم ة األسماء التعر ف ة ف لغة ++C : أن بدأ بحرف أو بخط تحت _ مثل : _sum و sum ال مكن أن بدأ االسم برقم مثل : 7sum ال مكن أن حتوى االسم على رموز خاصة مثل : age% عدا التحت "_ ال مكن أن حتوي على فراغ مثل: a ge ال مكن أن كون االسم إحدى الكلمات المحجوزة مثل : do فضل عند التسم ة أن كون لالسم دالله أو عالقه لما س عرفه الخط بعض األمثلة الصح حة على األسماء التعر ف ة : X_ray.b B6.a BookingNum_.d salary.c Soft_fine.f A.e Door55.g
األسماء التعر ف ة Identifiers هل األسماء التعر ف ة التال ة صح حة أو خاطئة مع ذكر السبب : خاطئة.. ألنها بدأت برقم ول س بحرف 7_age صح حة Student خاطئة.. ألنها احتوت على رمز خاص وهو # Number# خاطئة.. ألنها احتوت على )مسافة( فراغ Student name صح حة StudentId
األسماء التعر ف ة Identifiers ومن الجد ر بالذكر أن لغة ++C تفرق ب ن الحروف األبجد ة الصغ رة والكب رة فمثال األسماء : system SYSTEM, system, System, ت عامل كأسماء مختلفة عن بعضها البعض بسبب اختالف معاملة المترجم للحروف الصغ رة والكب رة. اخت ار أسماء معبرة ذات داللة ومعنى واضح للمتغ رات جعل البرنامج أكثر تعب را عن مضمونه أي أنه صبح أكثر سهولة للفهم.
اإلعالن عن المتغ رات ف لغة ++C جب أن علن عن المتغ رات مسبقا لها ) واال فلن تعرف عل ها المترجم )أي قبل تخص ص أي ق مة الص غة العامة لإلعالن عن المتغ رات: int a; float MyNumber; double b; مثال:
اإلعالن عن المتغ رات)المتغ رات الصح حة( المتغ ر من النوع int وجد هناك انواع عد د لتعر ف المتغ رات الصح حة, و لكن االكثر استخدام هو المتغ ر int ومن الممكن أن حمل ق م سالبة أو موجبه الذي حجز مساحة قدرها 32-bit أو 16-bit على حسب النظام و هو كف الستخدامه ف حلقات التكرار و بعض العمل ات الر اض ة البس طة. لتعر ف متغ ر صح ح من النوع :int : أو نستط ع اختصار ماسبك بتعر ف المتغ رات بنفس السطر بهذه الطر مة نفصل ب ن أسماء المتغ رات ب ),(
اإلعالن عن المتغ رات)المتغ رات الصح حة( المتغ ر من النوع short longو باالضافة الى النوع int وجد هناك long و short مثالن االعداد الصح حة. عتمد حجم الذاكرة المحجوزة لنوع intعلى نوع النظام المستخدم, و ما م ز هذ ن النوع ن هو ان حجمهما ثابت تحت ظل أي نظام. لتعر ف المتغ ر من هذه االنواع إل ك هذا المثال :
اإلعالن عن المتغ رات)المتغ رات النص ة( المتغ ر من النوع char تم تخز ن األحرف ف متغ رات من النوع char C ) ( الحرف : هو حرف أو رمز أو رقم موضوع ب ن عالمت التنص ص المفردة مثل لتعر ف متغ ر من النوع :char تنشئ مساحة من الذاكرة لحرف واحد فقط وتسم ه first_letter لتخز ن حرف ما ف هذا المتغ ر نكتب ; first_letter= A
اإلعالن عن المتغ رات)المتغ رات النص ة( المتغ ر string من النوع تم تخز ن سلسلة من األحرف ف متغ رات من النوع string الحرف : هو مجموعة من الحروف أو رموز أو أرقام موضوعة ب ن عالمت التنص ص مثل NAME لتعر ف متغ ر من النوع :string تنشئ مساحة من الذاكرة وتسم ه.NAME Student_name = SARA لتخز ن ق مة ما ف هذا المتغ ر نكتب
اإلعالن عن المتغ رات)المتغ رات الحم م ة( المتغ ر من النوع :float ستخدم هذا النوع لتعر ف متغ ر حمل ارقام كسر ة و خزنها بشكل كسري ت ح لك امكان ة تعر ف متغ ر حجمه 32 بت. أي ق مة تم تخز نها ت حول إلى رقم كسري و إن كانت رقم صح ح, كمثال الرقم 29 خزنه المتغ ر float بشكل 29.0 و هكذا تعامل مع باق األرقام. المتغ ر من النوع :double ستخدم هذا النوع لتعر ف متغ ر حمل ارقام كسر ة و خزنها بشكل كسري ت ح لك امكان ة تعر ف متغ ر حجمه 64 بت المشكلة الت تبرز مع النوع double هو عند تعر ف عشرات المتغ رات من هذا النوع, فإنها تستهلك مساحة بالذاكرة مما جعل برنامجك بطئ عند التنف ذ.
المتغ رات الت تحمل ق م موجبة فقط( (unsigned افتراض ا المتغ رات الت تحدثنا عنها قبل قل ل تحمل األرقام الموجبة و السالبة معا. إن اردت اجبارها على حمل االرقام الموجبة فقط فما عل ك سوى إدراج الكلمة المحجوزة unsigned ف بدا ة تعر ف المتغ ر. بعد إجبارك للمتغ رات على حمل الق م الموجبة, ال تحاول ن وضع أي ق م سالبة مهما حدث!
اإلعالن عن المتغ رات)المتغ رات المنطم ة( المتغ رات :bool المنطم ة المتغ ر المنطق bool الذي حتوي على قمت ن اما true أو false وهذه الق مت ن ما ه اإا ارقام صح حة فال true تعن واحد 1 أما ال false تعن, 0 حجز هذا المتغ ر مساحة قدرها 1-byte
اسم النوع ستعمل لتخز ن الحجم أمثلة عن الق م المخزنة a 1 byte أحرف char 222 2 bytes أرقام صح حة قص رة short 153,406 123,456,789 3.7 7.533,039,395 9.176,321,236,01202,6 أرقام صح حة موجبة أو 2 bytes سالبة 4 bytes أرقام صح حة طو لة أرقام حق ق ة قص رة أرقام حق ق ة مزدوجة أرقام حق ق ة ضخمة 4 bytes 8 bytes 10 bytes int long float double long double
اسناد الق م للمتغ رات بعد تعر ف المتغ ر مكن ان نضع له ق مة تناسب نوعه و الفضل عود الى الم عامل ( = ) الذي قوم بوضع الق م من ال م ن الى المتغ ر الموجود على ال سار: ال قتصر األمر هنا على وضع ق مة بعد التعر ف. تسمى الق مة االبتدائ ة :initial value بل و مكن وضع ق م اأناء التعر ف, و و لتعر ف اكثر من متغ ر و وضع ق م لها:
المتغ رات المحل ة والعامة عند تعر ف المتغ ر جب أن نحدد نوعه: متغ ر عام )بمعنى أنه مكن استخدامه ف جم ع أجزاء البرنامج( تعر فها قبل بدا ة البرنامج )الدالة )main تم متغ ر محل ( معنى مكن أن ستخدم داخل الجزء الخاص به فقط( كما جب أن تكون أسماء المتغ رات مختلفة عن بعضها البعض تم تعر فها داخل الدالة main أو داخل دوال المستخدم = UDFs متغ رات محل ة, وتستخدم داخل الجزء المعرفة ف ه فقط
الثوابت )constant( الثوابت ه مواقع لحفظ الب انات كالمتغ رات لكن المتغ ر مكن تبد ل ق مته على عكس الثابت الذي ثبت على ق مته األساس ة, وبالتال ف مكن القول بأنها عبارة عن متغ رات تحمل ق م ثابتة ط لة زمن تنف ذ البرنامج. تم االعالن عن الثوابت عن طر ق استخدام الكلمة المحجوزة const الص غة العامة لإلعالن عن الثوابت تأخذ شكل ن وهما: 1. float const pi=3.14; 2. int const max= 5000; 1. const float pi=3.14; 2. const int max= 5000; مثال : أو
تمر ن عرف المتغ رات التال ة : int x,y,z; z و و y X أرقام صح حة float m,n; n و m أرقام حق قة char cn; cn حرف
file > new -> Project إلنشاء مشروع جد د:
1 3 2 تسم ة المشروع 4 5
الملخص أنواع الب انات اإلعالن عن المتغ رات الثوابت إسناد الق م إلى المتغ رات واجهة برنامج Visual Studio 2010 29