[عزف الموسيقى] DOUG لويد: مرحبا، لذلك دعونا الحديث عن المشغلين في C. لذلك، شهدنا بالفعل واحدة، في الواقع، يساوي عامل التعيين. لأنها تتيح لنا فقط وضعت قيمة إلى متغير. هذا التعيين المشغل، يساوي واحد. من أجل التلاعب والعمل مع القيم والمتغيرات في C، لدينا عدد من مشغلي في حوزتنا التي يمكننا استخدامها. دعونا نلقي نظرة على بعض من تلك الشائعة بدءا من مشغلي الحساب. كما قد تتوقع، يمكننا أن نفعل جميلة العمليات الحسابية الأساسية في C. ويمكننا أن نضيف، طرح، ضرب، و أرقام الفجوة باستخدام زائد، ناقص، نجمة، وخفض على التوالي. وهنا بضعة سطور كود فيه أن نفعل ذلك. لذلك، لدينا كثافة العمليات خ ذ يساوي زائد 1. دعونا نفترض أنه في مكان ما يصل فوق هذا سطر من التعليمات البرمجية كنا قد قال الباحث ذ يساوي 10. ما هي قيمة x بعد أن تنفيذ هذا السطر الأول من رمز؟ قلت 11؟ كنت اليمين. لماذا هذا؟ حسنا، كان ذ 10. بعض الباحث أقوله س يساوي 10 زائد 1. 10 زائد 1 هو 11. لذا، فإن قيمة 11 يحصل تخزينها في متغير x. ليس سيئا جدا، أليس كذلك؟ ماذا عن هذا الخط القادم من مدونة؟ x تساوي × 5 مرات. حسنا، قبل أن أعدم كان العاشر هذا سطر من التعليمات البرمجية 11. لذلك، ما هي قيمة س بعد هذا سطر من التعليمات البرمجية؟ تأخذ ثانية. لذلك، س يساوي الأوقات × 5. و× 11. لذلك، س يساوي 11 مرة 5. أو 55. حتى إذا قلتم 55، كنت على حق. الآن، قد يكون مربكا بعض الشيء، ولكن مع الطريقة التي يعمل التنازل في C هي القيمة على اليمين يحصل تعيين القيمة على اليسار. لذلك، علينا أولا تقييم س 5 مرات. لذا، 11 مرة 5 55. ومن ثم نقوم بتخزين تلك القيمة في العاشر. 11 أن هناك قبل الكتابة الآن. لذلك قيمة س هي الآن 55. نأمل هذا اضحة إلى حد ما. هناك عامل آخر أن كنت قد ربما لم يسمع بالضرورة ودعا هذا، ولكن كنت قد عملت بالتأكيد في الماضي إذا كنت تتذكر أيامك من فترة طويلة طريقة تقسيم في المدارس الابتدائية. انه دعا المشغل معامل. ما يفعله هو أنه معامل يعطيك الباقي عندما تقوم بتقسيم رقمين معا. لذلك، إذا قلت 13 مقسوما 4، ما هو الباقي؟ وهذه القيمة ستحسب من قبل المشغل معامل. لذلك، لدي سطر من التعليمات البرمجية هنا، الباحث م يساوي 13 وزارة الدفاع 4. وأنا أقول هنا في تعليق قيمة م هي الآن 1. لماذا أقول ذلك؟ حسنا، هل التقسيم طويلة في الخاص الرأس، وإذا كنت تحمل معي لفترة ثانية. لذلك، لقد 4 مقسوما على 13. 4 يذهب إلى 13 ثلاث مرات مع ما تبقى من 1. لذلك، أساسا، كل مشغل معامل avo لا هو يقول لك عند الفجوة، وتحصل على الباقي. قد تعتقد أن في الواقع لا شيء مفيد بشكل رهيب، ولكن كنت سأشعر بالدهشة، في الواقع، من قبل عدد المرات التي المعامل المشغل يمكن أن تأتي في متناول اليدين. هناك بعض المشاكل سنفعل CS50 التي تتعامل معها. كما انها جيدة للقيام أشياء مثل رقم عشوائي. لذلك، على سبيل المثال إذا كنت من أي وقت مضى سمعت من مولد رقم عشوائي، هذا سوف أعطيك رقم من 0 إلى رقم ضخم. ولكن ربما كنت حقا فقط في حاجة الى عدد 0-20. إذا كنت تستخدم مشغل معامل في هذا العدد العملاقة التي يحصل الناتجة عن مولد رقم عشوائي، وأنت تسير لاتخاذ ما قيمة كبيرة هو عليه، نقسمه على 20، والحصول على الباقي. الباقي يمكن فقط تكون قيمة 0-19. لذلك، يمكنك استخدام مشغل معامل لاتخاذ هذا الكم الهائل وتهذيبها إلى شيء أكثر من ذلك بقليل ذات مغزى. أنا متأكد من أنك سوف تكون قادرة على استخدام كل من تلك في مرحلة ما في المستقبل في CS50. لذلك، C يعطينا أيضا وسيلة لتطبيق الحساب مشغل لمتغير واحد بطريقة أكثر الاختزال قليلا. لذلك، في الشريحة السابقة، شاهدنا س يساوي الأوقات × 5. التي عملت. س 5 مرات ثم يحصل تخزينها مرة أخرى في العاشر. هناك طريقة أقصر للقيام بذلك، والفكر، وانها الأوقات جملة س يساوي 5. انها نفس الشيء بالضبط كما قائلا X يساوي الأوقات × 5. انها مجرد قليلا أقصر طريقة للقيام بذلك. وعندما ترى بعض كود توزيع أو لك ترى بعض نموذج التعليمات البرمجية التي يفعل أشياء من هذا القبيل، مجرد أن يكون على دراية ما يعني بناء الجملة. أنت بالتأكيد لم يكن لديك لاستخدامه، ولكن إذا قمت بذلك، قد جعل الرمز الخاص بك ننظر قليلا المعطف. وتعلم أنه يمكنك أيضا استخدام أي من مختلف العاملين لدينا بالفعل شوهد من قبل بدلا من مرة. هل يمكن أن نقول X زائد يساوي 5، ناقص يساوي 5 مرات، والانقسام، وزارة الدفاع. كل تلك الأعمال. هناك أيضا شيء وهذا شائع جدا في C أننا قد قررت صقل أن أبعد من ذلك. تزايد متغير بنسبة 1 أو decrementing متغير بنسبة 1 مثل هذا thing-- شيوعا خاصة عندما نتحدث عن حلقات لاحق قليلا on-- أننا قد قررت بدلا من يقول شيئا مثل X زائد يساوي 1، أو يساوي x X زائد 1، لدينا حتى سلمت باختصار أن لX زائد زائد. لذلك، س يساوي X زائد 1، X زائد يساوي 1، و x زائد زائد تفعل كل نفس الشيء. هم كل زيادة بنسبة 1 س. إلا أن تزايد وdecrementing التي كتبها 1 هو شائع حتى يكون لدينا زائد زائد وناقص ناقص التي تسمح لنا الاختزال أن أبعد من ذلك. لذا، دعونا تبديل التروس لمدة ثانية والحديث عن التعبيرات المنطقية. جميع والتي هي أيضا نوع من الوقوع الفئة الشاملة للمشغلين. ولكن التعبيرات المنطقية، وخلافا للشركات الحساب، تستخدم لمقارنة القيم. لذلك، مرة أخرى، عن التعبيرات المنطقية في C تقييم إلى واحد من اثنين من القيم الممكنة، إعادة المكالمات. صحيحة أو خاطئة. هذا القيمتين الوحيدة التي متغير منطقية يمكن أن تتخذ على. يمكننا استخدام نتائج من تعبير منطقي في الكثير من الطرق في البرمجة. في الواقع، عليك أن تكون القيام بذلك الكثير جدا. على سبيل المثال، فإننا قد تقرر، حسنا، إذا كان بعض الشرط صحيحا، ربما سآخذ هذا فرع أسفل قانون بلدي. A مشروطة، إذا جاز التعبير. سوف نتعلم عن تلك في وقت قريب جدا. أو ربما، طالما هذا صحيح، وأنا أريد للحفاظ على القيام بذلك أكثر وأكثر وأكثر. حلقة. في كلتا الحالتين، ونعرف أن نستخدمه تعبير منطقي، وهي صحيحة أو خاطئة، ليقرر ما إذا كان أو لا لاتخاذ مسار معين. في بعض الأحيان عندما كنا نعمل مع التعبيرات المنطقية، سوف نستخدم متغيرات من نوع منطقية. كنت قد أعلنت منطقي كتبته متغير، وسوف تستخدمها في الخاص تعبير منطقي. ولكن لم يكن لديك دائما أن تفعل. كما اتضح، في C، كل غير 0- القيمة هي نفسها قوله صحيح. إذا كنت قد أعلنت متغير نوع منطقية، وتعيينه القيمة الحقيقية، وهذا نفس معلنا صحيح وأسند لها قيمة 1، 2، 3، أو في الواقع أي قيمة أيا كان البعض من 0. لأنه في C، كل-0 غير ذات قيمة حقيقية. 0، من ناحية أخرى، غير صحيح. هذا قد يأتي في مفيد في وقت لاحق لمعرفة، ولكن مجرد شيء أن نأخذ في الاعتبار. ليس لدينا دائما لاستخدام نوع متغيرات منطقية عندما كنا نعمل مع التعبيرات المنطقية. هناك نوعان رئيسيان من منطقية التعبيرات التي سنعمل معها. العوامل المنطقية و العلائقية. اللغة هناك ليس من المهم بشكل رهيب. انها حقا كيف أنا تجميعها. وعليك بالتأكيد، وأعتقد، بسرعة ندرك ما هو مشغل العلائقية، بناء على ما هي عليه عندما كنا الحديث عنهم في الثانية. ولكن لا تقلق بشأن بالضرورة تحفيظ العامل المنطقي المدى أو مشغل العلائقية. أنا مجرد استخدامه لمجموعة منها بطريقة منطقية. لذا، دعونا نلقي نظرة على العوامل المنطقية ثلاثة أننا سنرى جدا بت في البرمجة في CS50 وفي البرمجة بشكل عام. منطقي وصحيح، وإذا و فقط إذا كان كل المعاملات صحيحة. كاذبة خلاف ذلك. حيث يعني ذلك؟ لذا، دعونا نقول إن أنا في نشير في قانون بلدي حيث لدي متغيرين، x و y. وأريد أن تقرر ما إذا كانت أن تفعل شيئا في قانون بلدي على أساس إذا كان x هو الصحيح و y هو الصحيح. أريد فقط أن تفعل ذلك إذا كلاهما صحيح، إلا أنني لا أريد أن يذهب إلى أسفل أن المسار لأنه لن يساعدني. ما يمكنني قوله هو إذا كان x & & ذ. وسيكون ذلك منطقية منطقي التعبير مقارنة x و y واتخاذ مسار معين بناء على ما قيمهم هي. لذلك، إذا كان x هو الصحيح و y هو الصحيح بناء على هذا الجدول الحقيقة هنا، عندها فقط سوف نذهب في هذا الطريق. إذا كان x، & & ذ. انها true-- فقط وفقط صحيح إذا كان x هو الصحيح و y هو الصحيح. أما إن كان أحدهما غير صحيح، كما نرى في جدول الحقيقة، ثم كلا x و y ليست صحيحة. وهكذا، X & Y & باطل. منطقية أو غير صحيح إذا وفقط إذا معامل واحد على الأقل هو الصحيح. كاذبة خلاف ذلك. منطقيا جدا ومطلوبا كلا x و y ليكون صحيحا. منطقية OR يتطلب العاشر ليكون صحيحا أو ذ ليكون صحيحا أو كليهما x و y ليكون صحيحا. لذلك، مرة أخرى، نحن نوع من إيجاد انفسنا في وضع أين نحن ذاهبون إلى رمز لدينا، وصلنا إلى مفترق طرق. ونريد أن نذهب إلى أسفل خاص مسار إذا كان x هو الصحيح أو y غير صحيح، ولكن لا بالضرورة إذا كان كلاهما صحيح. ولكن ربما إذا كان كلاهما صحيح. لذلك إذا كان x و y هو صحيح صحيح، سنذهب في هذا الطريق. س هو الصحيح. واحد منهم هو الصحيح، أليس كذلك؟ إذا كان x هو الصحيح و y هو الصحيح. إذا كان x هو الصحيح، و y هي كاذبة، واحد منهم لا يزال صحيحا. لذلك، س أو ص لا يزال صحيحا. إذا كانت x غير صحيح، و y هو الصحيح، واحد منهم لا يزال صحيحا، أليس كذلك؟ ذ صحيح، في هذه الحالة. لذلك، فإنه من الصحيح أن x أو y غير صحيح. فقط إذا كان x و y كاذبة خاطئة هل نحن لا تذهب في هذا الطريق، لأنه لا خ ذ ولا هو الصحيح. الآن، إذا كنت تبحث في شاشة الآن ويتساءل ما الذي الرمز هو لمنطقية OR، انها تسمى شريط عمودي. وإذا كنت تبحث في لوحة المفاتيح لمدة دقيقة، وأنا أفعل الآن، انها عادة ما تكون أعلى بقليل من مفتاح الدخول، على معظم لوحات المفاتيح، على نفس المفتاح مائل. كما انها عادة الصحيح إلى جانب أقواس معقوفة. لذلك، قد يكون المفتاح الذي لم كتبته كثيرا في الماضي. ولكن، إذا كنت تفعل أي وقت مضى مقارنات منطقية، ونحن سوف تفعل الكثير في الحال، فإنه من سيكون من المفيد تجد هذا المفتاح واستخدامه. لذلك، انها عادة ما تكون على نفس المفتاح كما مائل فقط فوق أدخل. المشغل المنطقي النهائي هو NOT. وليس من جميلة واضحة. انها المقلوب قيمة المعامل لها. إذا كان x هو الصحيح، ثم لا أجد غير صحيح. إذا كانت x غير صحيح، ثم لا أجد هو الصحيح. في بعض الأحيان سوف تسمع هذا الرمز ضوحا كما فرقعة أو تعجب أم لا. انها الى حد كبير عن الشيء نفسه. في حال كنت أسمع أن تحدثا و كنت غير متأكد ما يعني أنه، انها مجرد التعجب النقطة، ولكن في بعض الأحيان انها دعا بضعة أشياء مختلفة. كل الحق، بحيث يأخذ يهمني من العوامل المنطقية. لذا، دعونا نتحدث عن العلائقية. مرة أخرى، إذا كنت على دراية هذا الحساب في المدارس الابتدائية، وربما كنت على دراية مع كيفية عمل هذه بالفعل. هذه تتصرف تماما كما كنت تتوقع. أقل من ذلك من شيء صحيح، في هذا سبيل المثال، إذا كان x أقل من ذ. لذلك، إذا كان x و y هو 4 6 x هو أقل من ذ. هذا صحيح. أقل من أو يساوي يعمل بالمثل جدا. إذا كان x 4، و y هي 4، ثم x هو أقل من أو يساوي ذ. اعظم من. س أكبر من ص. وأكبر من أو يساوي، س أكبر من أو يساوي ذ. إذا كان هذا صحيحا، ثم عليك تمرير هذا التعبير، وسوف تذهب إلى أسفل هذا المسار على الطريق. إذا كان لديك إذا كان x أكبر من ذ، و x هو، في الواقع، هو أكبر من ذ، عليك أن تفعل كل ما هو تخضع لهذا الشرط. لاحظ أننا لم يكن لديك حرف واحد لأقل من أو يساوي، كما قد تكون دراية من كتب الرياضيات. لذلك، لدينا أقل من رمز، متبوعا المساواة. هذه هي الطريقة التي نمثلها أقل من أو يساوي. وعلى نحو مماثل، نفعل ذلك لأكبر من أو يساوي. الأخيرين العلائقية مشغلي التي تعتبر مهمة يتم اختبار من أجل المساواة وعدم المساواة. لذلك، إذا كان x يساوي يساوي ص، صحيح إذا x و y في القيمة هي نفسها. إذا كان x 10، و ص 10، ثم س يساوي يساوي ذ صحيح. إذا كان x 10 و y هي 11، س يساوي يساوي ذ ليس صحيحا. يمكننا اختبار أيضا لعدم المساواة استخدام تعجب أو الانفجار أو NOT، ثانية. إذا كان x لا تساوي ص، إذا هذا هو الاختبار الذي نستخدمه هنا، سنكون على ما يرام. لذلك، إذا كان x لا يساوي ذ، سنذهب في هذا الطريق. كن حذرا حقا هنا. انها حقا وmistake-- شيوعا واحد من المؤكد أنني قدمت الكثير جدا عندما الأول هو الحصول على started-- لخطأ من غير قصد عامل التعيين، متساوين واحدة، للعامل مقارنة المساواة، متساوين مزدوجة. انها سوف تؤدي إلى بعض غريب السلوك في التعليمات البرمجية الخاصة بك، وعادة ما سوف المترجم تحذير لكم عن ذلك عند محاولة وترجمة التعليمات البرمجية الخاصة بك، ولكن في بعض الأحيان كنت قد تكون قادرة على التسلل من قبل. انها ليست بالضرورة شيئا جيدا أن كنت التسلل من قبل، وإن كان. فقط حتى إذا كنت تفعل اختبار عدم المساواة، إذا كنت التحقق ما إذا كان اثنين المتغيرات المختلفة لها نفس القيمة داخل منها، تأكد من استخدام يساوي متساوين، والأنداد لا واحدة. وسوف بهذه الطريقة البرنامج يكون السلوك الذي تنوي. أنا دوغ ويد وهذا هو CS50.