אופרטורים / אופרנדים / ביטויים:
אופרטור – משהו הפועל על אופרנדים. לרוב נראה, מבחינה ויזואלית, כסימן בודד.
לדוג': / * - + & % ! – סימן בודד.
new – מילה.
: ? – אופרטור המורכב מ-2 סימנים שאינם צמודים.
<- -> - אופרטור המורכב מ-2 סימנים צמודים.
אופרנד – משהו שאופרטור פועל עליו, אלו הערכים שעליהם פועל אופרטור.
ביטוי – expression – זהו משהו שיש לו ערך. ביטוי יכיל בד"כ אופרטור עם האופרנדים עליהם הוא פועל.
ביטוי פשוט – מכיל רק אופרטור אחד.
ביטוי מורכב – מכיל יותר מאופרטור אחד.
לכל ביטוי ניתן לבצע תחשיב – אבליואציה.
אופרטורים אריתמטיים:
אופרטור סכימה אריתמטית:
+. מבצע חיבור. ערך הביטוי 5+2 יהיה 7.
אופרטור חיסור אריתמטי:
-. מבצע חיסור. ערך הביטוי 7-3 יהיה 4.
אופרטור כפל אריתמטי:
*. מבצע הכפלה. ערך הביטוי 5*2 יהיה 10.
אופרטור חילוק אריתמטי:
/. מבצע חילוק. ערך הביטוי 6/2 יהיה 3.
במידה והתוצאה של חלוקת שלם בשלם היא שבר – ערך הביטוי יהיה השלם (הערך שלפני הנקודה העשרונית), ללא השבר. לעומת זאת, באופרנדים מסוג עשרוני – התוצאה תמיד תהיה עשרונית.
כל האופרטורים הנ"ל דורשים 2 אופרנדים, כלומר אלו אופרנדים בינאריים.
הם יכולים לקבל אופרנדים רק מסוג שלם או עשרוני.
2 האופרנדים צריכים להיות מאותו סוג.
כל האופרטורים הללו פועלים ltr – משמאל לימין.
הקדימות תהיה / ו- * באותה רמת קדימות, והיא לפני האופרטורים – ו- +.
אופרטור מודולו:
%. אופרטור זה מחשב את השארית. ערך הביטוי 9%2 יהיה 1. החלוקה היא – 4 והשארית – 1.
זהו אופרטור בינארי. צריך להכיל 2 אופרנדים מסוג שלם או עשרוני.
האופרטור הוא ltr – משמאל לימין.
הקדימות תהיה באותה רמה של * ו- /.
אופרטור הנגציה:
-. הופך את ערך המס' לשלילי. ערך הביטוי 5- יהיה (5-).
זהו אופרטור אונרי, שיקבל אופרנד או שלם או עשרוני.
הוא פועל rtl – מימין לשמאל.
הקדימות שלו – מעל האופרטורים הבינאריים.
אופרטור ה+:
אין לו משמעות. זהו אופרטור אונרי הדורש אופרנד שלם או עשרוני. הקדימות שלו – כמו אופרטור הנגציה.
משתנים – variables:
משתנה – קבוצת בתים רציפים בזיכרון, שייחסנו לה שם. דרך המשתנה ניתן לבצע שינויים בתוך הבתים ויש סוג ערכים מסויים שניתן לאחסן בו.
הגדרת המשתנה היא ע"י כתיבת סוג המשתנה ואז שם המשתנה. לדוג': int number;
אופרטור השמה:
=. דורש 2 אופרנדים (אופרטור בינארי) מכל סוג שהוא, ובלבד שיהיו מאותו סוג. ערך האבליואציה הוא ערכו של האופרנד הימני.
לאופרטור זה יש side effect, כלומר, חוץ מערך הביטוי – גם ערך האופרנד השמאלי ייהפך לערך האופרנד הימני.
ערך הביטוי a=5 יהיה 5, וכן ערכו של a יהיה 5.
האסוציאטיביות באופרטור זה היא rtl – מימין לשמאל.
הקדימות שלו הכי נמוכה מכל האופרטורים.
כל ביטוי בעל side effect, ניתן לשים בסופו ; וכך ייהפך למשפט חוקי.
לדוג:
int a;
a = 5;
דוג' נוספת:
int a ,b, c;
a = 5+4*3+2%5+8;
b = c = a;
ערך האבליואציה של a יהיה 27, וכן: a=27, b=27, c=27.
אופרטור ההדבקה – concatenation:
+. זהו אופרטור בינארי. אחד האופרנדים חייב להיות מחרוזת. האופרנד השני יכול להיות מכל סוג. אם 2 האופרנדים הם מסוג מחרוזת – האבליואציה תהיה הדבקה של 2 המחרוזות.
לדוג': "abc" + "abc" הערך יהיה "abcabc".
אם אחד האופרנדים אינו מחרוזת – האופרנד שאינו מחרוזת יומר למחרוזת ואז תתבצע ההדבקה.
לדוג': "s" + 'f' יביא את הערך "sf".
האסוציאטיביות – rtl.
הקדימות – באותה קדימות של ה+ ו- - האריתמטיים.
קלט נתונים מהמשתמש:
הפקודה Console.ReadLine(); מאפשרת לקלוט מהמשתמש. הקלט תמיד יהיה מסוג . כאשר המשתמש מכניס ערך לביטוי, עליו להקיש ENTER וכך הקלט מתבצע.
לדוג':
name;
Console.WriteLine("Please enter your name and hit ENTER");
name=Console.ReadLine();
Console.WriteLine("your name is: " + name);
תרגילים:
1. כתוב תוכנית שמקבלת מהמשתמש את השם שלו ואת עיר המגורים שלו ומדפיסה הודעה שמסכמת את האינפורמציה.
2. כתוב תוכנית שמקבלת מהמשתמש את השם שלו ואת הגיל שלו ומדפיסה הודעה שמסכמת את האינפורמציה.\
ביצוע:
1.
class Program
{
static void Main([] args)
{
name;
Console.WriteLine("Please enter your name and press ENTER");
name = Console.ReadLine();
Console.WriteLine(name + ", in which city do you live?");
city;
city = Console.ReadLine();
output;
output = name + " lives in " + city;
Console.WriteLine(output);
}
}
2.
class Program
{
static void Main([] args)
{
name;
Console.WriteLine("Please enter your name and press ENTER");
name = Console.ReadLine();
Console.WriteLine(name + ", how old are you?");
age;
age = Console.ReadLine();
output;
output = name + " you are " + age + "years old";
Console.WriteLine(output);
}
{