1 / 23

מבוא למדעי המחשב

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

thimba
Download Presentation

מבוא למדעי המחשב

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

  8. ציון תווים בשפת C - דוגמא

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

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

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

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

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

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

  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. h e l l o w o r l d ‘\0’ (4) מחרוזות strings • מחרוזות הן סדרות של תווים. • ציון מחרוזת: ע"י סדרה של תווים בין מרכאות כפולות. דוגמא: “hello world” “” (המחרוזת הריקה) • ייצוג מחרוזת: סדרה רציפה של תווים שבסופה התו '0\' • אין הגבלה על אורך מחרוזת, אך יש לסרוק אותה עד סופה כדי לדעת מה אורכה.

  17. הפונקציה sizeof הפונקציה sizeof מקבלת כפרמטר אובייקט או טיפוס ומחזירה את גודלו במספר הבתים שמשמשים לאחסונו בזיכרון. # include <stdio.h> 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. הפונקציה 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. הפונקציה sizeof שאלה: מה יהיה פלט התכנית הבאה: # include <stdio.h> int main( ) { printf(“%d\n”, sizeof(“string”)); return 0; }

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

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

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

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

More Related