19-10-12, 10:08 AM
كاتب الموضوع : lo2i
السلام عليكم ورحمة الله وبركاته
(( وماأوتيتم من العلم إلا قليلاً ))
---------------------------------------------------------------------------------------------------------------------------------------
الدرس الرابع (ج1) في دورة السي بلس بلس
--------------------------------------------------------------------------------------------------------------------------------------
سنتعلم في هذا الدرس ان شاء الله :_
عند تعريف متغير في البرنامج ولنفرض انه من نوع int اي انه من نوع رقم فان الذاكرة تحجز
مكان في الذاكرة RAM تناسب حجم هذا المتغير
طريقة حجز المتغير في الذاكرة توضحها الصورة التالية
كما هو موضح في الصورة المتغير في الذاكرة هنا يقوم بحجز اسم المتغير ويعطيه عنوان address
=-=-=-=-=-=
تعريف اول متغير :-
(( وماأوتيتم من العلم إلا قليلاً ))
---------------------------------------------------------------------------------------------------------------------------------------
الدرس الرابع (ج1) في دورة السي بلس بلس
--------------------------------------------------------------------------------------------------------------------------------------
سنتعلم في هذا الدرس ان شاء الله :_
- طريقة تعريف المتغيرات والثوابت في البرنامج .
- انواع المتغيرات والثوابت .
- شروط تعريف المتغيرات والثوابت .
- الفرق بين ال singed و unsigned .
- طريقة استخدام المتغيرات النصية مع المكتبة string
- [SIZE=4]التعامل مع الدالة sizeof
[/SIZE]
عند تعريف متغير في البرنامج ولنفرض انه من نوع int اي انه من نوع رقم فان الذاكرة تحجز
مكان في الذاكرة RAM تناسب حجم هذا المتغير
طريقة حجز المتغير في الذاكرة توضحها الصورة التالية
كما هو موضح في الصورة المتغير في الذاكرة هنا يقوم بحجز اسم المتغير ويعطيه عنوان address
=-=-=-=-=-=
تعريف اول متغير :-
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int age[/color][COLOR=#007700];
[/COLOR][color=#0000bb]age[/color][color=#007700]=[/color][color=#0000bb]22[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout[/color][color=#007700]<<[/color][color=#0000bb]age[/color][color=#007700]<<[/color][color=#dd0000]"\n"[/color][COLOR=#007700];
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
في السطر الثاني قمنا بتعريف المكتبة std من خلال ال using وهذا يدل اننا سوف نستخدمها في البرنامج التابع لنا
في المثال السابق قمنا بتعريف متغير باسم age وهو من نوع رقم
وفي السطر التالي قمنا باسناد قيمة له وهي ال 22
طرق تعريف المتغيرات
اولاً :- تعريف المتغير واسناد القيمة لها في نفس السطر
كود :
[color=#000000][COLOR=#0000bb]int age[/color][color=#007700]=[/color][color=#0000bb]22[/color][COLOR=#007700];
[/COLOR][color=#0000bb][/color][/COLOR]
ثانياً :- تعريف المتغير في سطر واسناد قيمة له في سطر اخر
كود :
[color=#000000][COLOR=#0000bb]int age[/color][COLOR=#007700];
[/COLOR][color=#0000bb]age[/color][color=#007700]=[/color][color=#0000bb]22[/color][COLOR=#007700];
[/COLOR][color=#0000bb][/color][/COLOR]
[SIZE=3]
الصورة التالية توضح أهم انواع البيانات والقيم المسموحة اسنادها إليها
وحجم تخزينها في ذاكرة الجهاز .
[/SIZE]
تظهر الصورة انواع المتغيرات واحجامها في الذاكرة
والقيمة التي يمكن ان تُسند إليها .
من شروط تعريف المتغيرات في لغة السي بلس بلس
لاتختلف كثيراً عن شروط تعريف المتغيرات في اي لغة برمجة
- عدم استخدام كلمات محجوزة
- عدم استخدام النقطة
- اطول عدد حروف للمتغير المسموح بها حوالي 2100 حرف
- تعيين نوع المتغير
- يجب ان يبدأ تعريف اسم المتغير بحرف وليس برقم
كما هو موضح في الصورة التالية :-
اولاً:- نقوم بتحديد نوع المتغير (رقم ,نص ,منطقي)
ثانياُ:- نقوم بتسمية هذا المتغير (كما يحلو لك)
ثالثاً :- وهذه الخطوة غير اجبارية هي اعطاء قيمة له
ولاعطاء قيمة للمتغير هناك 3 حالات فقط
وفيما سبق يمكننا تعريف المتغيرات بثلاثة طرق في البرنامج
=-=-=-=-=-=
الطريقة الاولى :-
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include <iostream>
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int age[/color][COLOR=#007700];
[/COLOR][color=#0000bb]age[/color][color=#007700]=[/color][color=#0000bb]12[/color][COLOR=#007700];
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
الطريقة الثانية :_
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include <iostream>
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int age[/color][color=#007700]=[/color][color=#0000bb]21[/color][COLOR=#007700];
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
الطريقة الثالثة :-
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include <iostream>
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int age[/color][color=#007700]([/color][color=#0000bb]21[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
----------------------------------------------------------
[SIZE=4]وفي الطرق جميعها يمكنك طباعة المتغير على الكونسول من خلال تعريف المكتبة :-
كود :
[color=#000000][COLOR=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb][/color][/COLOR]
وكتابة هذا الكود بين { } من الاجراء main
[/SIZE]
كود :
[color=#000000][COLOR=#0000bb]cout [/color][color=#007700]<< [/color][color=#0000bb]age[/color][COLOR=#007700];
[/COLOR][color=#0000bb][/color][/COLOR]
مكان المتغير age ضع اسم المتغير الذي تعاملت معه انت !
الفرق بين ال signed و unsigned :_
[SIZE=4]signed :-
[/SIZE]
[SIZE=4]تستخدم مع الارقام والموجبة والسالبة
[/SIZE]
unsigned :-
[SIZE=4]تستخدم مع الارقام الموجبة فقط
=-=-=-=-=-=--=-=
ملاحظة هامة جداً جدأً
عدم تحديدك لنوع الرقم هل هو signed ام unsigned
اي انك اخترت نوع ال signed .
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
وكلاهما يأخد نفس المساحة في الذاكرة.[/SIZE]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=
التعامل مع مكتبة ال string :_
نقوم بتحضير المكتبة للتعامل معها من خلال الكلمة المحجوزة include
من خلال هذا الكود
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include <string>
[/COLOR][color=#0000bb][/color][/COLOR]
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
هذه صورة توضح كل متغير وماهو المساحة التي يأخذها من الذاكرة :_
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[SIZE=4]التعامل مع الدالة[/SIZE] sizeof
عند تعريف متغير وعندما يأخد قيمة في الذاكرة والمتغير يعمل معك بنجاح
ولكنك احببت ان تعرف حجم المتغير بالذاكرة فما عليك إلا باستخدام هذه الدالة :-
[SIZE=4]دالة sizeof :- تقوم باعطائك قيمة المتغير في الذاكرة
فمثلاً قيمة النوع short في الذاكرة تساوي 2 بايت
ولمعرفة كل متغير وحجمه في الذاكرة اسعتن بالصورة السابقة !
الان لنفرض اننا نسينا كم تساوي قيمة الل short في البرنامج
نكتب هذا الكود لمعرفة حجم المتغير في الذاكرة
[/SIZE]
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]short name[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout[/color][color=#007700]<<[/color][color=#0000bb]sizeof[/color][color=#007700]([/color][color=#0000bb]name[/color][color=#007700])<<[/color][color=#0000bb]endl[/color][COLOR=#007700];
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
[SIZE=4]
عند تجريب الكود السابق فسوف يظهر لك البرنامج رقم 2
استناداً لحجم المتغير في الذاكرة .
[/SIZE]
وهناك طريقة اخرى ايضاً لمعرفة قيمة المتغير تبعاً لهذا الكود
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]short name[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout[/color][color=#007700]<<[/color][color=#0000bb]sizeof[/color][color=#007700]([/color][color=#0000bb]short[/color][color=#007700]([/color][color=#0000bb]name[/color][color=#007700]))<<[/color][color=#0000bb]endl[/color][COLOR=#007700];
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
الاختلاف الجذري بين الكود الاول والثاني هو هذا المقطع فقط
كود :
[color=#000000][COLOR=#0000bb]cout[/color][color=#007700]<<[/color][color=#0000bb]sizeof[/color][color=#007700]([/color][color=#0000bb]short[/color][color=#007700]([/color][color=#0000bb]name[/color][color=#007700]))<<[/color][color=#0000bb]endl[/color][COLOR=#007700];
[/COLOR][color=#0000bb][/color][/COLOR]
في الكود الاول قمنا بذكر اسم المتغير فقط
اما في الكود الثاني فقمنا بذكر نوع المتغير واسم المتغير
وكلاهما سيعطي نفس النتيجة
---------------------------------------------------
===
====================
========
==
انتظروا الدرس الرابع (ج2) !!