במדריך זה נלמד על ביטויים (Expressions) - שבתוכם קיימים אופרנדים ( operands ) ,
קבועים ( constants ) ואופרטורים ( operators ) .
אז קודם כל , למי שלא קרא את החלקים הקודמים :
חלק א' ||| חלק ב'
אופרטורים :
אופרטורים נותנים לך את הפאשרות לבצע פעולות חיבור , חיסור , כפל , חילוק ( / ) , ואפילו חישוב שארית ( % ) .
לדוגמא :
Sum = product_a + product_b - product_c ;
בדוגמא הזו , השתמשנו באופרטור החיבור , וגם באופרטור החיסור .
המשתנה Sum יכיל את סכום שני המשתנים product_a + product_b פחות product_c .
דוגמא נוספת :
Price = money * price / club_card
בדוגמא הזו , השתמשנו גם באופרטור הכפל וגם באופרטור החיסור.
המשתנה Price יכיל את מנת המשתנים money * price חלקי המשתנה club_card.
דוגמא נוספת :
;Mdl = Num % 10
בדוגמא הזו , השתמשנו באופרטור השארית .
המשתנה Mdl יכיל את השארית של חלוקת Num ב 10.
ניתן לבנות ביטויים ארוכים ומורכבים , ואפשר אפילו לשלב סוגריים . לדוגמא :
Total = (car_price + tape_price) *(100+tax) /100
חשוב לדעת , שמשתנה מסויים יכול להופיע מספר פעמים , כמו כאן :
Price = prd + prd*2
ואפשר אפילו לעשות כך:
Counter = Counter +10
בדוגמא הזו פשוט "קידמנו" את המשתנה Counter ב10 .
יש המון מקרים בהם נרצה לקדם משתנה בעזרת הוספה של ערך כלשהו .
לרוב , נרצה לעשות זאת בלולאות , בעת קידום מונה ב-1 , או בעת ספירת פריטים למשל.
יש גם האפשרות של הקטנה או הגדלה ב-1 . קיימים שני אופרטורים נפוצים מאוד בשביל זה :
++ יקדם את ערך המשתנה ב-1
-- יחסר מהמשתנה את הערך 1.
בגלל זה , הביטויים הבאים שקולים :
Total = Total + 1 ;
Total++;
++Total;
את האופרטור ++ או -- אפשר לכתוב לפני או אחרי המשתנה , בהתאמה.
יש הבדל משמעותי בין הפעולות. זה קצת מבלבל , אבל צריך לשים לב היטב למיקום האופרטור .
כשנשתמש באופרטור לפני המשתנה , המשתנה יקודם ב1 תחילה , ורק אחר כך נוכל להשתמש בערכו החדש.
כאשר האופרטור יופיע לאחר המשתנה , קודם נשתמש בערך הקודם של המשתנה , ורק אחר כך ערכו יקודם.
הדוגמאות הבאות יסבירו את זה:
int a = 5 , b = 10 , q =8 , p = 13;
int c , d , e ;
c = a++;
int f ;
כאן האופרטור מופיע אחרי המשתנה a , ולכן , קודם תבוצע ההשמה
ורק לאחר מכן יקודם המשתנה a .
בסוף הוראה זו ערך c יהיה 5 וערך a יהיה 6 .
דוגמא נוספת :
d = ++b;
האופרטור מופיע לפני השמתנה b , ולכן , תחילה יקודם המשתנה b ורק לאחר מכן תבוצע ההשמה.
בסיום הוראה זו ערך b יהיה 11 וכך גם ערך d .
( החוקים פועלים גם על האופרטור -- ) .
בC קיימים גם אופרטורי יחס , לדוגמא :
גדול מ <
גדול או שווה ל =<
קטן מ >
קטן או שווה ל =>
שווה ל ==
שונה מ =!
דוגמאות :
if ( Age < 60 )
printf("not accepted " );
if ( code != 1425 )
exit(1) ;
כותב המדריך : עומרי כדורי, מערכת Fuxim .
קבועים ( constants ) ואופרטורים ( operators ) .
אז קודם כל , למי שלא קרא את החלקים הקודמים :
חלק א' ||| חלק ב'
אופרטורים :
אופרטורים נותנים לך את הפאשרות לבצע פעולות חיבור , חיסור , כפל , חילוק ( / ) , ואפילו חישוב שארית ( % ) .
לדוגמא :
Sum = product_a + product_b - product_c ;
בדוגמא הזו , השתמשנו באופרטור החיבור , וגם באופרטור החיסור .
המשתנה Sum יכיל את סכום שני המשתנים product_a + product_b פחות product_c .
דוגמא נוספת :
Price = money * price / club_card
בדוגמא הזו , השתמשנו גם באופרטור הכפל וגם באופרטור החיסור.
המשתנה Price יכיל את מנת המשתנים money * price חלקי המשתנה club_card.
דוגמא נוספת :
;Mdl = Num % 10
בדוגמא הזו , השתמשנו באופרטור השארית .
המשתנה Mdl יכיל את השארית של חלוקת Num ב 10.
ניתן לבנות ביטויים ארוכים ומורכבים , ואפשר אפילו לשלב סוגריים . לדוגמא :
Total = (car_price + tape_price) *(100+tax) /100
חשוב לדעת , שמשתנה מסויים יכול להופיע מספר פעמים , כמו כאן :
Price = prd + prd*2
ואפשר אפילו לעשות כך:
Counter = Counter +10
בדוגמא הזו פשוט "קידמנו" את המשתנה Counter ב10 .
יש המון מקרים בהם נרצה לקדם משתנה בעזרת הוספה של ערך כלשהו .
לרוב , נרצה לעשות זאת בלולאות , בעת קידום מונה ב-1 , או בעת ספירת פריטים למשל.
יש גם האפשרות של הקטנה או הגדלה ב-1 . קיימים שני אופרטורים נפוצים מאוד בשביל זה :
++ יקדם את ערך המשתנה ב-1
-- יחסר מהמשתנה את הערך 1.
בגלל זה , הביטויים הבאים שקולים :
Total = Total + 1 ;
Total++;
++Total;
את האופרטור ++ או -- אפשר לכתוב לפני או אחרי המשתנה , בהתאמה.
יש הבדל משמעותי בין הפעולות. זה קצת מבלבל , אבל צריך לשים לב היטב למיקום האופרטור .
כשנשתמש באופרטור לפני המשתנה , המשתנה יקודם ב1 תחילה , ורק אחר כך נוכל להשתמש בערכו החדש.
כאשר האופרטור יופיע לאחר המשתנה , קודם נשתמש בערך הקודם של המשתנה , ורק אחר כך ערכו יקודם.
הדוגמאות הבאות יסבירו את זה:
int a = 5 , b = 10 , q =8 , p = 13;
int c , d , e ;
c = a++;
int f ;
כאן האופרטור מופיע אחרי המשתנה a , ולכן , קודם תבוצע ההשמה
ורק לאחר מכן יקודם המשתנה a .
בסוף הוראה זו ערך c יהיה 5 וערך a יהיה 6 .
דוגמא נוספת :
d = ++b;
האופרטור מופיע לפני השמתנה b , ולכן , תחילה יקודם המשתנה b ורק לאחר מכן תבוצע ההשמה.
בסיום הוראה זו ערך b יהיה 11 וכך גם ערך d .
( החוקים פועלים גם על האופרטור -- ) .
בC קיימים גם אופרטורי יחס , לדוגמא :
גדול מ <
גדול או שווה ל =<
קטן מ >
קטן או שווה ל =>
שווה ל ==
שונה מ =!
דוגמאות :
if ( Age < 60 )
printf("not accepted " );
if ( code != 1425 )
exit(1) ;
כותב המדריך : עומרי כדורי, מערכת Fuxim .