קדימות אופרטורים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 38 מתוך 66.
קדימות אופרטורים קובעת את הסדר שבו אופרטורים מחושבים בביטוי. הבנת הקדימות חיונית לכתיבת ביטויים לוגיים נכונים.
עיינו בדוגמה הזו:
int result = 5 + 3 * 2;מה הערך של result? הוא 11, לא 16, כי לכפל יש קדימות גבוהה יותר מלחיבור.
הנה סדר קדימויות מפושט (מהגבוה לנמוך):
- סוגריים
() - כפל/חילוק
* / % - חיבור/חיסור
+ -
- אופרטורי השוואה
< > <= >= - אופרטורי שוויון
== !=
- וגי AND לוגי
&& - או לוגי
|| - אופרטורי השמה
= += -=וכו׳
בואו נראה איך זה חל:
bool result = 5 > 3 && 10 < 20 || 7 == 8;תחילה, ההשוואות מוערכות: 5 > 3 הוא true, 10 < 20 הוא true, ו־7 == 8 הוא false.
לאחר מכן, AND לוגי: true && true הוא true.
לבסוף, OR לוגי: true || false הוא true.
לכן התוצאה היא true.
השתמש בסוגריים כדי להפוך את הקוד שלך לברור יותר:
bool result = (5 > 3 && 10 < 20) || (7 == 8);אתגר
קלצור מתודה בשם EvaluateExpression שמקבלת שלושה מספרים שלמים (a, b, c) ומחזירה ערך בוליאני.
המתודה שלך צריכה להחזיר את התוצאה של הביטוי הזה:a > b || a == c && b < c
לאחר מכן, צור מתודה נוספת בשם EvaluateWithParentheses שמחשבת את הערך של:(a > b || a == c) && b < c
התוכנית שלך צריכה לקרוא שלושה מספרים שלמים מהמסוף ולהדפיס את התוצאות של שתי ההערכות בשורות נפרדות.
נסו בעצמכם
using System;
class Program
{
public static bool EvaluateExpression(int a, int b, int c)
{
// כתבו כאן את הקוד שלכם
}
public static bool EvaluateWithParentheses(int a, int b, int c)
{
// כתבו כאן את הקוד שלכם
}
static void Main(string[] args)
{
Console.WriteLine("Enter three integers:");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int c = int.Parse(Console.ReadLine());
// קראו למתודות שלכם והדפיסו את התוצאות
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין