موضوع: بعض الاسئله عن سي++

ردود: 3 | زيارات: 842
  1. #1

    بعض الاسئله عن سي++

    السلام عليكم جميعا
    ---------------------------------------
    اريد منكم بعض الاجابات على كم سؤال في لغة سي++
    ---------------------
    1-
    اريد شرح مبسط عن identifier names ..... كما وفي هذا الموضوع لم افهم فقره معينه اريد شرحها منكم ..الفقره هي:-
    In C, identifiers may be of any length. However, not all characters will necessarily
    be significant. If the identifier will be involved in an external link process, then at
    least the first six characters will be significant. These identifiers, called
    external names,

    include function names and global variables that are shared between files. If the
    identifier is not used in an external link process, then at least the first 31 characters
    will be significant. This type of identifier is called an
    internal name and includes the

    names of local variables, for example. In C++, there is no limit to the length of an
    identifier, and at least the first 1,024 characters are significant. This difference may
    be important if you are converting a program from C to C++.
    In an identifier, upper- and lowercase are treated as distinct. Hence,
    count, Count,

    and
    COUNT are three separate identifiers.

    An identifier cannot be the same as a C or C++ keyword, and should not have the
    same name as functions that are in the C or C++ library
    ....................................................................................
    2- اريد شرح الفقره التاليه في موضوع الثوابت "constants"
    For most programs you will write, the compiler defaults are adequate. However,
    you can specify precisely the type of numeric constant you want by using a suffix. For
    floating-point types, if you follow the number with an F, the number is treated as a
    float
    . If you follow it with an L, the number becomes a long double. For integer types,

    the U suffix stands for
    unsigned and the L for long.
    .................................................................................................... ........................
    3- اريد شرح وافي عن bitwise operators ( ارجوا ان يشمل الشرح الفرق بين xor and or )
    .................................................................................................... ........................
    4- اريد شرح وافي عن the compile-time operator sizeof
    .................................................................................................... ............................
    5- اريد شرح هذه الفقره عن الموضوع التالي :- relational and logical operator
    Although neither C nor C++ contain an exclusive OR (XOR) logical operator, you
    can easily create a function that performs this task using the other logical operators.
    The outcome of an XOR operation is true if and only if one operand (but not both) is
    true.
    --------------------------------------------
    ارجوا ان يكون الشرح مفهوم لي ولجميع من سيقرا هذا الموضوع
    وشكرا للجميع




  2. #2
    أخي IWANTYOURH أرجوا أنتقوم بالرد على الموضوع :
    http://www.maxforums.net/showthread.php?t=42276

    و شكرا

  3. #3

    Arrow

    أخي IWANTYOURH أهلاً بك ..... سوف أرد باختصار ولأني لا أحبذ الرد على مواضيع تقنية في عجالة ، فسوف أوافيك لاحقاً بشرح أكثر تفصيلاً:

    1. المعرفات: وهي أسماء يتم اطلاقها على مكون ما من مكونات البرنامج (اسم متغير ، اسم مصفوفة ، اسم وظيفة ، اسم بنية ، ..... وهكذا) وعلى سبيل المثال:

    ;ABC=0
    ;Count=1024
    () Shade

    الآن انتبه جيداً .... في الـ C يمكن أن يكون اسم المعرف بأي طول (الطول هنا تعني عدد المحارف في اسم المعرف) ، وينبغي أن يبدأ الاسم بحرف ، أو _ ، حتى يكون الاسم صحيحاً. في الـ C يمكنك الاكتفاء بكتابة أول 6 محارف من اسم المعرف حتى تتمكن من استخدامه في عملية ربط خارجية (تسمى هذه المعرفات بالمعرفات الخارجية ، مثل أسماء الوظائف والمتغيرات العالمية التي يتم مشاركتها بين ملفات التطبيق ، وهنا لا يهم اذا كان الحرف صغير أم كبير) ، كما يمكنك الاكتفاء بكتابة أول 31 محرف من اسم المعرف حتى تتمكن من استخدامه داخلياً (تسمى هذه المعرفات بالمعرفات الداخلية ، وتستخدم لتعريف المتغيرات المحلية مثلاً) ، فمثلاً:

    المتغير الخارجي:
    إذا كان اسم الوظيفة ABCDEFG فعندئذ يمكنك استدعاؤها على النحو التالي abcdefh من أي ملف يتشارك في التطبيق.

    المتغير الداخلي:
    إذا كان اسم المتغير المحلي ABCdEFGHIjKLMnopQRSTUVWXYZ12345abcdef فعندئذ يمكنك استدعاؤه على النحو التالي ABCdEFGHIjKLMnopQRSTUVWXYZ12345998877.

    الآن ، في الـ ++C يمكن أن يكون اسم المعرف بأي طول مرغوب ، ويعتبر أول 1024 محرف من اسم المعرف مطلوباً حتى تتمكن من استخدامه. أما الأحرف الصغيرة والكبيرة فهي ذات أهمية ، فمثلاً COUNT وCount وcount ثلاثة متغيرات مختلفة كلياً.

    عليك الانتباه إلى عدم استخدام الـ Keywords الخاصة بـ ++C\C أو أسماء الوظائف المتضمنة ضمن مكتباتها القياسية كأسماء لمتغيراتك أو وظائفك. أعتقد أن معظم ما أشرت اليه يندرج تحت متطلبات الـ ANSI C أو C القياسية العالمية. ولكن يفضل دائماً اتباع ذلك السياق.

    يحتوي الرابط التالي عن أفضل التجارب في كتابة مسميات نظامية وقياسية سهلة الفهم والاستيعاب:
    http://www.ida.liu.se/~mcplus/guide.html

    2. هذا بسيط .... تستخدم لاحقة النوع لتعريف المصرف بأن القيمة المكتوبة هي من النوع كذا .... بمعنى لنفترض أننا عرفنا المتغير fVal أنه من نوع الفاصلة العائمة float ، ولكننا لانريد اعطاؤه قيمة مبدأية بالفواصل كما ينبغي ، ولكننا نريد اعطاؤه القيمة 1 مثلاً فقط بدون فواصل ، عندها يكون التعريف كالتالي:

    ;float fVal=1F ، هذا سوف يكون مكافئاً للتالي: ;float fVal=1.00

    هذا مفيد جداً عند الرغبة في اعطاء قيم مبدئية غريبة لمتحولات عادية ، ومن ثم التعامل مع هذه القيم الغريبة بشكل فردي ، فمثلاً: ;long lVal = 0x7FFFFFL تعبر عن اعطاء قيمة صحيحة من النوع الطويل على شكل النظام الست عشري (وهذا مفيد عند التعامل مع عنونة الذاكرة أو الاسمبلي الخطية).

    3. سوف أشرح ذلك لاحقاً.

    4. تعطي sizeof المقدار اللازم بالبايتات لتخزين كائن معطيات معين في الذاكرة. يفضل استخدام هذا المعامل عند التعامل مع عتاد ذو ذاكرة محدودة ، ينبغي معها الحذر في استخدام الموارد المتاحة. سوف ترى أن معظم كائنات معطيات DirectX تتعامل تحديداً مع هذا المعامل .... سوف أشرح ذلك بشكل مفصل لاحقاً.

    5. المقصود هنا أنه بإمكانك انشاء أحد المعاملات مثل XOR وذلك باستخدام المعاملات المنطقية الأخرى ، حيث سوف يكون ناتج عملية XOR صحيح منطقياً ، إذا كان أحد المعاملين (وليس كليهما) صحيح منطقياً .... سوف أشرح ذلك بشكل مفصل لاحقاً.

    هذا مالدي في هذه العجالة .... وأراك قريباً !!!!!!!!!!!!!!!!!!
    Live Free ... Die Well
    The Scorpion King

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل