Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :

Similar presentations


Presentation on theme: "1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :"— Presentation transcript:

1 1 מבוא למדעי המחשב מושגי יסוד

2 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות : 0,1,2, …,9 רווחים : רווח, tab, enter וכו ' סימנים אחרים : +, -, *, /, =, (, ), [, ], {, }, ’, ”, #, %, &, _, !, ?, \,, ~, ^, |,., …

3 3 מזהים identifiers מזהים הם שמות - המילים שברצוננו לבטא בשפת C מזהים יכולים לכלול אותיות, ספרות ואת הסימן _ מזהים מתחילים באות ( או ב - _) ה - case משמעותי :aBC≠abC האורך אינו מוגבל אך רק 31 התווים הראשונים הם משמעותיים מוסכמה : אותיות קטנות למשתנים וגדולות לקבועים שני סוגי מזהים : 1. מזהים כלליים : שמות ( של משתנים, פונקציות וכו ') 2. מילים שמורות : מילים בעלות משמעות מיוחדת בשפת C. מציינות הוראות (for, while, … ), סוגי טיפוסים (int, double, … ) וכו '. לא ניתן השתמש במילים שמורות כשמות ( גורר טעות קומפילציה ).

4 4 טיפוסי נתונים נתונים הם האובייקטים שתוכניות C עובדות עליהם ( תכניות מחשב מעבדות נתונים ). הנתונים במחשב הם מספרים המיוצגים בספרות בינאריות. bit ( ביט ) – ספרה על בסיס 2 (0 או 1). באמצעות n ביטים ניתן לייצג ערכים שונים זה מזה. byte ( בית ) – 8 ביטים ( 256 אפשרויות ). word ( מילה ) – בין 4 ל - 8 בתים ( תלוי מחשב ). בתאי הזיכרון ניתן לשמור נתונים. התאים רצופים ולכל byte יש כתובת משלו. שפות מחשב שונות מאפשרות למתכנת גמישות בהגדרת טיפוסי נתונים מורכבים יותר ממספרים – טיפוסי הנתונים הפרימיטיביים ששפת מחשב מגדירה שונים משפה לשפה.

5 5 טיפוסי נתונים בשפת C (data types) ייצוג מספרים : שלמים (int) ממשיים (double, float) ייצוג טקסט : תווים (char) מחרוזות

6 6 (1 ) תווים characters מיוצגים במחשב ע " י byte אחד בדיוק (= 8 סיביות ) => יש 256 תווים שונים. התווים מיוצגים בזיכרון ע " י מספרים – ישנם תקנים הקובעים ערך מספרי לכל תו. התקן הנפוץ – תקן ASCII: מייחס לכל תו מספר בין 0 ל - 255. האותיות הקטנות מיוצגות ע " י מספרים רציפים. כנ " ל לגבי האותיות הגדולות והספרות. שפת C מייצגת תווים בזיכרון ע " י שמירת ערך מספרי עפ " י תקן כלשהוא. תווים הניתנים להדפסה : 9,a,z,A,$, … תווים שאינם ניתנים להדפסה : תו המציין סוף קובץ, התו הריק...

7 7 ציון תווים בשפת C בין גרשיים - הצורה המודפסת של התו ( אם הוא ניתן להדפסה ): ‘ A ’, ‘ 3 ’, ‘ * ’ ע " י המספר האוקטלי של התו ( בבסיס 8): ‘ \007 ’ – התו שערכו המספרי 7 עפ " י טבלת ה - ASCII, בבסיס אוקטלי. ע " י המספר ההקסדצימלי של התו ( בבסיס 16): ‘ \xFF ’ כאשר x מיצג הקסדצימלי. ייצוג הערכים המספריים עפ " י טבלת ה - ASCII בבסיס הקסדצימלי. ייצוג ע " י המספר ההקסדצימלי והאוקטלי מאפשר לייצג גם תווים שאינם ניתנים להדפסה.

8 8 ציון תווים בשפת C - דוגמא התו A ערך מספרי לפי תקן ASCII65 בין גרשיים 'A''A' ייצוג אוקטלי '101\' ייצוג הקסדצימלי '41x\'

9 9 (2 ) מספרים שלמים integers תופס מספר קבוע ≥ 2 של בתים בזיכרון (לפחות 16 סיביות) – לכל הפחות 65,536 מספרים שונים. 8 bit7 bitsign 8 bit 0 – חיובי 1 - שלילי

10 10 ציון מספרים שלמים בסיס דצימלי62 בסיס אוקטלי: מתחיל ב- 0 076 בסיס הקסדצימלי: מתחיל ב- 0x או 0X0X3E

11 11 ייצוג מספרים שלמים מספר שלם – int מספר שלם ארוך – long int: תופס לפחות 4 בתים ציון כמו מספרים שלמים רק בתוספת l או L בסוף מספר שלם קצר – short int

12 12 מה בין ייצוג מספרים שלמים לייצוג תווים ? טיפוס הנתונים של תווים הוא למעשה טיפוס הנתונים של מספר שלם, שייצוגו הפנימי צר במיוחד (רק בית אחד). שימו : כל הפעולות המותרות על שלמים מותרות גם על תווים, למשל: אופרטורים אריתמטיים.

13 13 (3 ) מספרים ממשיים float, double ייצוג בשיטת הנקודה הצפה: סימן ( מספיקה סיבית אחת ) בסיס מעריך

14 14 מספרים ממשיים float, double שפת C תומכת ב- 3 טיפוסי נתונים למספרים ממשיים (בהתאם לתחום ולדיוק הדרושים): double – דיוק של לפחות 10 ספרות אחרי הנקודה העשרונית ותחום מספרים של עד. float – דיוק של לפחות 5 ספרות אחרי הנקודה העשרונית ותחום מספרים של עד. long double – דיוק של לפחות כמו double ואולי יותר. הממדים המדויקים הם תלויי מימוש והשפה אינה מתחייבת לגביהם.

15 15 ציון מספרים ממשיים בשפת C מספר ממשי יכלול חלק שלם וחלק שבור, מופרדים בנקודה עשרונית. לאחר החלק השבור תבוא האות e או E ולאחריה המעריך, עם או בלי סימן. בסוף המעריך יכולות לבוא האותיות F,f לציון float או L,l לציון double. החלק השלם או החלק השבור יכולים להיות מושמטים, אך לא שניהם. הנקודה העשרונית או ה- e והמעריך (אך לא שניהם) יכולים להיות מושמטים. דוגמא: דרכים שונות לציון המספר 1234.5: 1234.5f 123.45e1L 1234.5 12345e-1 12.345E+2 1.2345e3

16 16 (4 ) מחרוזות strings מחרוזות הן סדרות של תווים. ציון מחרוזת: ע"י סדרה של תווים בין מרכאות כפולות. דוגמא:“hello world” “”(המחרוזת הריקה) ייצוג מחרוזת: סדרה רציפה של תווים שבסופה התו '0\' אין הגבלה על אורך מחרוזת, אך יש לסרוק אותה עד סופה כדי לדעת מה אורכה. helloworld ‘ \0 ’

17 17 הפונקציה sizeof הפונקציה sizeof מקבלת כפרמטר אובייקט או טיפוס ומחזירה את גודלו במספר הבתים שמשמשים לאחסונו בזיכרון. # include int main( ) { printf( “ The size of a char is %d.\n ”, sizeof(char)); printf( “ The size of an int is %d.\n ”, sizeof(int)); printf( “ The size of a long int is %d.\n ”, sizeof(long)); printf( “ The size of a short int is %d.\n ”, sizeof(short)); printf( “ The size of a double is %d.\n ”, sizeof(double)); printf( “ The size of a float is %d.\n ”, sizeof(float)); printf( “ The size of a long double is %d.\n ”, sizeof(long double)); return 0; }

18 18 הפונקציה sizeof פלט התכנית: The size of a char is 1. The size of an int is 4. The size of a long int is 4. The size of a short int is 2. The size of a float is 4. The size of a double is 8. The size of a long double is 12. תלוי בסביבת העבודה

19 19 הפונקציה sizeof שאלה: מה יהיה פלט התכנית הבאה: # include int main( ) { printf( “ %d\n ”, sizeof( “ string ” )); return 0; }

20 20 הפונקציה sizeof שאלה: מה יהיה פלט התכנית הבאה: # include int main( ) { printf( “ %d\n ”, sizeof( “” )); return 0; }

21 21 הגדרת משתנים משתנים – שמות סימבוליים לתאים בזיכרון. אם תכנית משתמשת במשתנה עליה להגדיר אותו: int num; מטרת הגדרה (definition) של משתנה: 1. קביעת טיפוס המשתנה (אילו ערכים הוא יוכל לקבל, אילו פעולות ניתן יהיה לבצע עליו). 2. הקצאת מקום מספיק בזיכרון עבור משתנה זה. הטיפוס שנקבע עבור משתנה נשאר קבוע במהלך כל חיי התכנית, והמקום שיוקצה עבורו יישאר קבוע אף הוא. הגדרת משתנה מטיפוס int בשם num

22 22 תחביר הגדרת משתנים הגדרה כוללת שם של טיפוס, ולאחריו רשימה של שמות משתנים, אחד או יותר, מופרדים בפסיקים זה מזה. בסוף הרשימה יבוא הסימן נקודה-פסיק (;): int lower, upper, step; char c; זה שקול ל: int lower; /* lower range of numbers*/ int upper; /* upper range of numbers*/ int step; char c; מאפשר לכתוב הערות ( כל מה שנמצא בין /* לבין */) - הקומפיילר מתעלם לחלוטין מהערות. כתיבה קומפקטית

23 23 תחביר הגדרת משתנים כאשר מגדירים משתנים ניתן לאתחל אותם (וניתן לאתחל מספר משתנים בהגדרה אחת): char one=‘1’; int i=0; double x=2.4, y=3.5, z; ערך משתנה עשוי להשתנות במהלך ביצוע התכנית. בהגדרה של משתנה ניתן להוסיף const לפני שם הטיפוס ולקבוע בכך שהערך אסור שישתנה: const int num=2; מה יקרה אם כן ננסה לשנות ערך זה? תלוי מימוש! (שפת C לא מבטיחה כלום).


Download ppt "1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :"

Similar presentations


Ads by Google