Variable Types
and Declaration
انواع
المتغيرات وتعريفها :
زي ماقلت في الدرس
السابق انه بيوجد انواع كتير من التعريفات للمتغيرات وكل تعريف وله غرض ولا يمكن
استخدام تعريف خاطئ للمتغير . لانني ذكرت من قبل ان لغة الـ C بتقوم باخذ الداتا وتقوم بتعريفها للجهاز لكي
يقوم بالتعامل معها .
اول
تعريف : Integer
-
دا النوع اللي بنعرف بيه الداتا علي انها ارقام صحيحه يعني لو عايز تعرف
متغير لرقم صحيح مثلا وليكن اسمه total .
Int total ;
-
هنا هتبتدي اللغه تفهم انه فيه متغير داخلها علي انه رقم صحيح .
ملحوظه : في
الاله الحاسبه بيبقي مدي الارقام بتاعتها digit-8 وبتتعامل مع الارقام من 99999999 الي
- 99999999 ولو جربت تعمل مثلا 99999999+1
هتلاقي الاله الحاسبه جابت overflow error نفس الكلام مع الحاسب له مدي يقبل فيه
المتغيرات دي وبتختلف طبعا من حاسب لحاسب ومن نظام لنظام ولكن عشان نتكلم اكتر
في الانظمه 32-bit بيبقي مدي نوع المتغير integer - 4 بايت يعني 32 بت .
|
-
مثال عشان اعرف رقم ما او متغير هعرفه علي انه رقم صحيح :
-
Int total;
-
Total = 4502;
|
استدعاء المتغير :
-
لغة الـ C دائما منظمه وبالتالي لو محتاجين اننا نستدعي
متغير ما لازم نشير الي المتغير دا ونوعه ايضا .
-
مثال : دلوقتي انا هكتب كود بسيط عشان يحسب ضعف
رقم معين ويطبعه علي الشاشه .
#include<stdio.h>
int main(){
int number;
int result;
number = 45;
result = 45 * 2 ;
printf("Your number %d and it's twice is %d
", number , result);
getch();
}
|
طيب
البرنامج دا مجرد بياخد متغير علي انه رقم صحيح وليكن 45 مثل ما في المثال و متغير
اخر اللي هو result ودا هيستجل فيه النتيجه
بتاعة ضعف الرقم .
-
اما بالنسبه لامر الطباعه ففي شئ غريب !! –
مامعني %d - ؟؟ -
دي بتشير الي المتغيرات اللي هيتم طباعتها وطبعا كل نوع متغير وله رمز اشاره يعني
مثلا في المتغير اللي نوعه integer بنشير اليه بالرمز %d
طيب لو شغلنا البرنامج ونشوف النتيجه .
كتب Your number is 45 and
it’s twice is 90 معني ذلك انه مكان الرموز %d بيطبع المتغيرات واحنا اللي بنحددله المتغيرات اللي يطبعها لانه
في الكود بتاعنا .
كتبنا
اسماء المتغيرات بعد الجمله اللي هيطبعها بالترتيب وبعد العلامه الفاصله , ومسافه .
الصوره
بالاعلي للتوضيح كيف يتم استدعاء المتغيرات ولكن بالمرجع كان عامل المتغير اسمه term .
ثاني نوع : Float types
وهو بيشير للاعداد الغير صحيحه مثلا : 4.6 – 8.6 –
9.7 – 7.2 وهكذا وبالتالي لو عايز تدخل للبرنامج ارقام فيها كسور مستحيل تعرفها
علي انها integer
لازم تكون float .
-
بيتم تعريف المتغير من خلال float variable ; ومكان الـ variable ممكن نكتب المتغير بتاعنا
زي ما احنا عايزين .
-
مثلا لو عايزين نعرف متغير بيحتوي علي الرقم 4.6
-
هيبقي الكود كالتالي :
Float
number;
Number
= 4.6;
|
-
طيب لو محتاجين نطبع رقم غير صحيح . يعني مثل الـ
integer
كنا بنشير اليها من خلال %d
اما من هذا النوع فاننا بنشير له من خلال %f .
-
طيب هنكتب نفس المثال السابق الخاص بالـ integer ولكن باعداد كسريه يعني
هنكتب مثلا برنامج يطبع ضعف رقم 4.6 .هو نفسه المثال الخاص بالـ integer ولكني غيرت تعريف
المتغيرات .
-
طيب تجربه بسيطه كده لو حاولنا اننا نعرف الـرقم
الكسر علي انه عدد صحيح وخليناه integer الناتج ممكن يكون ايه ؟؟ .
-
-
هنلاحظ انه ما اخدش الكسر اللي هو 0.6 وكتب 4 بس وجاب الضعف بتاعها 8 فقط .
ملحوظه هوا دا بقي الـ semantic error اللي اتكلمت عليه في
الدرس التاني . يعني يبقي المبرمج
كاتب البرنامج صح وميظهرش معاه اي اخطاء ولكن النتيجه بتكون متغيره تماما
عما يريده
|
فيه
ملحوظه مهمه : هو انك لما تستخدم عملية القسمه ي لغة الـ C لازم تستخدم تعريف المتغيرات علي انه float لانك لو اخترت integer مش هيجيبلك باقي
عملية القسمه يعني مثلا لو قسمنا عددين صحيحين والناتج عدد صحيح مثل : 4 = 2/8 دي مفيهاش اي مشكله اما بقي لو قسمنا
2.6=3/8 وبالتالي البرنامج هيطبع 2 بس وهيسيب الـ 0.6 لو عرفنا المتغير علي انه
عدد صحيح –integer –
فقط .
Assignment :
الكود
التالي فيه خطأ . هل ممكن معرفة هذا الخطأ ؟؟ ولما لم يتم طباعة الناتج ؟؟ .
النوع التالت : character
ودا
لتعريف متغير به حرف من الحروف وليكن A . وطبعا اي رمز او اي علامه نوعهاcharacter .
-
مثال : احنا هنكتب كود بسيطه لبرنامج يقوم بعكس
مجموعة حروف مدخله للبرنامج يعني مثلا هندخله ABC وهيطبعلنا CBA .
-
-
والناتج الخاص بالبرنامج .
ملحوظه
: في انواع الـ char يتم تعريفها بالـ single quotes ‘’
مش double quotes
يعني
انا لما كتبت
First = ‘A’;
Not First = “A”;
|
Assignment :
-
اكتب برنامج لطباعة كلمة HELLO ولكن يتم طباعتها في
بلوكات من الحروف
-
اكتب برنامج لطباعة اسمك .
-
اكتب برنامج لحساب مساحة مستطيل طوله 4 وعرضه 7
ومره اخري طوله 8.4 وعرضه 5.2 .
- You Can Download PDF File From Here
With My Best Wishes
Ahmed Sherif
0 التعليقات:
إرسال تعليق
شكرا لاضافة تعليق