Lecture 2 Flashcards

1
Q

variable

A

משתנה: תא בזיכרון, שערכו עשוי להשתנות במהלך התכנית, בו נשמרים נתונים הנחוצים עבור פעולת התכנית

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

identifier

A

מזהה: נועד כדי לתת שם למשתנה, לטיפוס או לפונקציה
• יכול להיות מורכב מאותיות, ספרות, ומקף תחתון אך אינו יכול להתחיל בספרה
• מומלץ לבחור מזהים בעלי משמעות
• מזהים ארוכים מדי פוגעים בקריאות

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

constants

A

ניתן להגדיר ולהשתמש בקבועים מטיפוסים שונים - שלמים וממשיים

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

string constant

A

קבוע מחרוזת
נתון בתוך מרכאות “…”
לדוגמא “a = b + c”;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what’s the diffrence between ‘a’ and “a”?

A

‘a’ - הינו קבוע תו

“a” - הינו קבוע מחרוזת

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

’ \n ‘

A

קבוע תו מיוחד שמשמעותו מעבר שורה

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

’ ' ‘

A

קבוע תו מיוחד שמשמעותו גרש

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

’ " ‘

A

קבוע תו מיוחד שמשמעותו גרשיים

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

’ \0 ‘

A

קבוע תו מיוחד שמשמעותו סוף מחורזת

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

define constant

A

הגדרת קבועים סימבוליים על ידי define#
• ההוראה גורמת לכך שבשלב ה preprocessing יוחלפו כל המופעים של הקבוע בסדרת התווים המוגדרת
• מופעים בתוך מחורזת אינם מוחלפים
• הקבוע אינו משתנה ולא מוקצה עבורו זיכרון

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

סיבות לשימוש בקבועים סימבוליים

A
  1. שמות משמעותיים תורמים לקריאות התכנית
  2. הדרת קבוע תורמת לקריאות התכנית (וחוסכת הקלדות חוזרות של מספר ארוך - π לדוגמא)
  3. הגדרת קבוע למעלה מאפשרת באמצעות שינוי בודד לשנות את סך המופעים בתכנית
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

טיפוסי משתנים וקבועים בשפת C

A

יש להגדיר משתנים ואת טיפוסיהם לפני שנעשה בהם שימוש
ההגדרה הינה הוראה לקומפיילר:
• להקצות תא בזיכרון בגודל המתאים
• לקרוא לו בשם הנתון
• לפרש את תוכנו לפי הטיפוס הנתון
ניתן להוסיף גם אתחול
טיפוס המשתנה קובע את גודל תא הזיכרון שמוקצה עבורו, כיצד מפרשים את הסדרה הבינארית השמורה בו ואת הפעולות אותן ניתן לבצע עליו

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

טיפוס מסוג int

A

כל קבוע שלם הינו מטיפוס int, אלא אם מסומן אחרת

גודלו מוקצה בדרך כלל ל 4 בתים

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

טיפוסים שלמים נוספים

A

char, short, long
1=char<=short<=int<=long
על ידי הוספת המילה השמורה unsigned לפני שמות הטיפוסים השלמים נוותר על ייצוג המספרים השליליים ונכפיל את תחום המספרים החיוביים הניתנים לייצוג

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

ייצוג תווים

A

קבועי תו הינם מטיפוס שלם.
קיימות טבלאות ידועות המשייכות לכל תו ערך שלם כדוגמאת טבלת ASCII
משתנה בודד מטיפוס char שגודלו בית בודד, מספיק על מנת לשמור את כל הערכים המופעים בטבלת ASCII

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

הטיפוס הבסיסי double

A

קבועים ממשיים הינם מטיפוס double אלא אם מסומן אחרת
ישנם טיפוסים נוספים ממשיים
float

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

האופרטור (sizeof(object

A

האופרטור מחזיר את מספר הבתים הדרוש כדי לאחסן את הפריט בזיכרון כאשר הפריט הוא: שם של טיפוס type או ביטוי expression

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

casting

A

המרת טיפוסים מפורשת casting זהו אופרטור המרה שהוא קודם לסדר פעולות חשבון חיבור חיסור כפל וחילוק

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

expressions

A

ביטויים:
לכל ביטוי יש טיפוס ויש ערך
ביטוי הינו צירוף בעל משמעות של קבועים, משתנים ואופרטורים. ביטויים לפעמים מורכבים מתתי ביטויים.
נשים לב לסוגים שונים של פעולות שיכולות להרכיב ביטוי:
חד מקומית unary
דו מקומית binary
תלת מקומית ternary

20
Q

הטיפוס של ביטוי חשבוני

A

פעולות חשבון המתבצעות על ערכים מאותו טיפוס מובילות לתוצאות מאותו הטיפוס
אם בביטוי מעורבים משתנים/קבועים מטיפוסים שונים, מתבצעת המרה אוטומטית (conversion/promotion) של הערכים לטיפוס הכללי יותר
char->short->int->long->float->double
מומלץ לא להשתמש ב float

21
Q

פעולות חשבון וחילוק בשלמים

A

פעולות החשבון לפי סדר פעולות כפל חילוק חיבור חיסור. קיבוציות משמאל לימין.
חלוקה בשלמים היא מספר שלם

22
Q

a / b

A

[a : b}

23
Q

a % b

A

a - [a : b] * b

24
Q

+11 / +5

A

2 (1)

25
Q

8 / -3

A

-2 (2)

26
Q

-23 / 5

A

-4 (-3)

27
Q

-9 / -2

A

4 (-1)

28
Q

Assignment Operation

A

פעולת השמה מעתיקה את ערכו של הביטוי בצד הימני אל המקום אשר מצוין בביטוי בצד שמאלי
לשים לב כי בשפת C “=” הוא אפרטור השמה.
הביטוי משמאל חייב לציין מקום ואילו הביטוי מימין מציין ערך.
האסוציאטיביות של אופרטורי השמה היא מימין לשמאל לדוגמא איפוס של 3 משתנים בביטוי אחד a=b=c=0

29
Q

טיפוס וערך של ביטוי השמה

A

טיפוסו כטיפוס העצם משמאל

ערכו כערך החדש של העצם משמאל

30
Q

כאשר הטיפוס של הערך המושם שונה מזה של המקום אליו מתבצעת ההשמה

A

נדרשת המרה!
לפעמים המרה תגרום לאובדן אינפורמציה - אם ממירים לטיפוס “קטן” יותר.
תזכורת - בפעולות בין טיפוסים שונים תתבצע המרה אוטומטית לטיפוס הכללי יותר

31
Q

פעולת חשבון: +

A

פעולת ס”ביות: &

32
Q

פעולת חשבון: -

A

פעולת ס”ביות: ^

33
Q

פעולת חשבון: *

A

פעולת ס”ביות: |

34
Q

פעולת חשבון: /

A

פעולת ס”ביות: <

35
Q

פעולת חשבון: %

A

פעולת ס”ביות:&raquo_space;

36
Q

increment

A

פעולת קידום

37
Q

decrement

A

פעולת נסיגה

38
Q

4 שיטות לקידום משתנה לאחר השינוי

מה המשמעות של השוני?

A

++x
x++
x+=1
x=x+1

39
Q

מה הבדל אם פעולת הקידום או הנסיגה בצד שמאל או ימין של הביטוי?

A

כאשר פעולת הקידום/נסיגה
בצד שמאל - ערך הביטוי כולו כערכו לאחר השינוי
בצד ימין - ערך הביטוי כולו כערכו לפני השינוי

40
Q

ערך לוגי - ביטויי וערכי אמת

A

לכל ביטוי חשבוני שנכתוב ב-C ניתן גם לייחס ערך לוגי. אם ערכו המספרי של הביטוי הינו 0 אזי ערך האמת שלו הינו False אחרת ערך האמת שלו הוא True

41
Q

אופרטור &&

A

and

42
Q

אופרטור ||

A

or

43
Q

אופרטור !

A

not

44
Q

מה קודם למה אופרטורים של השוואה או אופרטורים לוגיים?

A

אופרטורים של השוואה קודמים לאופרטורים לוגיים

45
Q

system(“pause”);

A

מאפשר להשהות את מה שרואים על המסך עד לחיצה על מקש כלשהו