30
1 קורס מבוא למדעי המחשב קורס מבוא למדעי המחשב סמסטר א סמסטר א' ' תשס תשס" ח מרצה מרצה: : מרסלו מרסלו שיכמן שיכמן שיעור ראשון: מבוא לתכנותonline.shenkar.ac.il/moodle online.shenkar.ac.il/moodle http:// http:// " ענייני מינהלה "ענייני מינהלה המרצה המרצה: מרסלו מרסלו שיכמן שיכמןemail email : [email protected] [email protected] טל טל: 611 611- 0072 0072 אתר הקורס אתר הקורס) ) שבו יופיעו כל המצגות שבו יופיעו כל המצגות:( :( online.shenkar.ac.il/moodle online.shenkar.ac.il/moodle http:// http:// מפתח כניסה מפתח כניסה: 81 81 st9 st9

1 - שפת C מבוא

Embed Size (px)

DESCRIPTION

1 - שפת C מבוא

Citation preview

Page 1: 1 - שפת C מבוא

1

קורס מבוא למדעי המחשבקורס מבוא למדעי המחשב

חח""תש סתש ס' ' סמסטר אסמסטר א

שיכמןשיכמן מרסלומרסלו: : מרצהמרצה

מ בוא לתכנ ות : שיע ור ראש ו ן

online.shenkar.ac.il/moodleonline.shenkar.ac.il/moodlehttp://http://

""ענייני מינהלה ענייני מינהלה ""

שי כ מןשי כ מן מרסלומרסלו ::המרצההמרצה••

••emailemail:: [email protected]@cs.biu.ac.il

00720072--611611 ::טלטל••

): ): ש בו יופיעו כל המצגו תש בו יופיעו כל המצגו ת ( (אתר הקורסאתר הקורס••

online.shenkar.ac.il/moodleonline.shenkar.ac.il/moodlehttp://http://

8181st9st9 ::מפתח כניס המפתח כניס ה••

Page 2: 1 - שפת C מבוא

2

מטרות ה קורס מטרות ה קורס

היכרות ב סיסי ת עם מבנה המחש ב ויכולו תיו היכרות ב סיסי ת עם מבנה המחש ב ויכולו תיו ��

CCשפ ת שפ ת : : הכרת שפ ת תכנו תהכרת שפ ת תכנו ת��

שימוש ב תכנו ת לפת רון בעיות שימוש ב תכנו ת לפת רון בעיות ��

ותרג ילים ותרג יליםתירגוליםתירגולים

קובי חביבקובי חביב ::מתרגלמתרגל••

תירגולתירגולומטרתם בעיקר ומטרתם בעיקר , , מחשביםמחשבים-- נערכים בכיתת נערכים בכיתתהתירגוליםהתירגולים••

..מעשי של החומר שנלמד בהרצאותמעשי של החומר שנלמד בהרצאות

, , תזכורת על עיקרי החומר של ההרצאהתזכורת על עיקרי החומר של ההרצאה//יש בהם גם חזרהיש בהם גם חזרה••

..ולפעמים פירוט נוסף למה שהיה בהרצאהולפעמים פירוט נוסף למה שהיה בהרצאה, , דוגמאות נוספותדוגמאות נוספות

.. הבא הבאבתירגולבתירגול להגשה להגשה ביתבית--תרגיליתרגילי ינתנוינתנו בתירגולבתירגול••

Page 3: 1 - שפת C מבוא

3

הציון בק ורס הציון בק ורס

יש בקורס חוב ת יש בקורס חוב ת ( ( הבית הבית -- מהציון הוא מ מוצע תרגילי מהציון הוא מ מוצע תרגילי1515%%••..ההכנה וה ה גשה ביחידיםההכנה וה ה גשה ביחידים). ). הגשה הגשה

מהציון הוא מ מוצע המ בחנים שב מהלך הסמ סטר מהציון הוא מ מוצע המ בחנים שב מהלך הסמ סטר 1515%%••).).שלוש ת הציונים הט ובים מתוך ארבעה מבחניםשלוש ת הציונים הט ובים מתוך ארבעה מבחנים((

ה בחינה היא על כל ה בחינה היא על כל (( מהציון הוא ציון בחינת הגמר מהציון הוא ציון בחינת הגמר 7070%%••).).בית בית --ותרגיליותרגילי, , תירגוליםתירגולים, , כולל הרצאותכולל הרצאות, , החומרהחומר

..6060ציון המעבר הוא ציון המעבר הוא ••

..7070%%יש נוכחות חובה בשיעורים יש נוכחות חובה בשיעורים ••

ת נושאי הקו רסת נושאי הקו רסרשימרשימ ––סילבוס סילבוס

הכרת המחשב הכרת המחשב ••

CC בשפתבשפתמבנה תוכ נית מבנה תוכ נית ••

היכר ות עם סביבת הע בוד ה התכנ ותית היכר ות עם סביבת הע בוד ה התכנ ותית ••

טיפוסי נת ונ ים בסיס ים טיפוסי נת ונ ים בסיס ים ••

קליטת נת ונים ו הצגתם קליטת נת ונים ו הצגתם ••

CCפעולות אר יתמטיות ב פעולות אר יתמטיות ב ••

CCפעולות ל וגי ות ב פעולות ל וגי ות ב ••

if elseif else ––משפטי תנאי משפטי תנאי ••

while , do while , for while , do while , for ––לולא ות לולא ות ••

פונקצי ות וש ימוש בה ן פונקצי ות וש ימוש בה ן ••

רקורס יה רקורס יה ••

מערכים מערכים ••

מחרוזות מחרוזות ••

מצביעים מצביעים ••

מיונ ים מיונ ים ••

הגדרת טיפוס י נתו נים על הגדרת טיפוס י נתו נים על ••

structuresstructures ––ידי המתכ נת ידי המתכ נת

Page 4: 1 - שפת C מבוא

4

ספרים מו מלצי םספרים מו מלצי ם

•• C How to program / Deitel and DeitelC How to program / Deitel and Deitel

•• A Book on C / Kelley and PohlA Book on C / Kelley and Pohl

•• The C Programming Language / The C Programming Language /

Kernighan and RitchieKernighan and Ritchie

??שאלות שאלות

" " ענייני מנהלהענייני מנהלה " "––קורס תכנו ת קורס תכנו ת

Page 5: 1 - שפת C מבוא

5

נושאי השיעו ר היום נושאי השיעו ר היום

הכרת המחש ב הכרת המחש ב ••

מבוא לשפו ת תכנו ת מבוא לשפו ת תכנו ת ••

יתרונות ו חסרונות יתרונות ו חסרונות–– CCשפ ת שפ ת ••

כלי פיתוח תו כנית כלי פיתוח תו כנית ••

שלבי תרגום התו כנית שלבי תרגום התו כנית ••

תוכניו ת לדוגמאתוכניו ת לדוגמא••

מבוא מבוא --מחשבים ו תכנ ו תם מחשבים ו תכנ ו תם ::למשללמשל. . אפשר כידוע לעשות הרבה דברים עם מחשבאפשר כידוע לעשות הרבה דברים עם מחשב

/.../...בשבש--שש שש //''ברידגברידג//לשחק אית ו שחמטלשחק אית ו שחמט••

..לעשות חי שוב ים מתמטייםלעשות חי שוב ים מתמטיים••

. . לראות סרטיםלראות סרטים••

. . לתכנ ן מטוסיםלתכנ ן מטוסים••

..לגלו ש באינטר נטלגלו ש באינטר נט••

..להשמי ע מוזיק הלהשמי ע מוזיק ה••

. . אלקטרו ניאלקטרו ני--לשלוח דו אר לשלוח דו אר ••

..להכ ין סרטי א נימצי הלהכ ין סרטי א נימצי ה••

. . תמליליםתמלילים--לבצע עיבוד לבצע עיבוד ••

. . להכ ין מצגותלהכ ין מצגות••

........ועוד וע ודועוד וע וד••

Page 6: 1 - שפת C מבוא

6

מבוא מבוא --מחשבים ו תכנ ו תם מחשבים ו תכנ ו תם ::למשללמשל. . הרבה מאוד מכשירים מכילים בתוכם מחשבהרבה מאוד מכשירים מכילים בתוכם מחשב, , בנוסףבנוסף

..כספומטכספומט••

..סלולריסלולריטלפון טלפון ••

..ממיר טלוויזיהממיר טלוויזיה••

••DVDDVD..

..מענה קולימענה קולי••

..חטיפיםחטיפים--מכונותמכונות••

..מכוניותמכוניות••

..מטוסיםמטוסים••

..לווייניםלוויינים••

......ועוד ועודועוד ועוד••

חלקים עיקריי ם של מחשב אישי חלקים עיקריי ם של מחשב אישי

מסךמסך••

מדפסתמדפסת••

רמקוליםרמקולים••

מקלדת מקלדת ••

עכברעכבר••

סורקסורק••

כונן תקליטוריםכונן תקליטורים••

כונן דיסקטיםכונן דיסקטים••

קשיחקשיח--דיסקדיסק••

אמצעי פלט

פלט/אמצעי קלט

אמצעי קלט

של המחשב" המוח"זיכרוןזיכרון••

מעבד מעבד ••

Page 7: 1 - שפת C מבוא

7

פיר וט פיר וט --של המחשב של המחשב " " המוחהמוח"": הזיכרון •

. אוסף של מיליוני או מיליארדי רכיבים אלקטרוניים זעירים•

).מסוייםבטווח ( כל אחד מהם מסוגל לשמור מספר •

בשונה , כשמכבים את המחשב תוכן הזיכרון נמחק, כידוע•

שנשאר גם אחרי , CD/דיסקט/ממידע שנשמר על דיסק

.שמכבים את המחשב

").כתובת"יש להם ( תאי הזיכרון ממוספרים •

פיר וט פיר וט --של המחשב של המחשב " " המוחהמוח""): CPU (המעבד •

. אוסף של רכיבים אלקטרוניים זעירים•

כמו , מסוגל לבצע כמה מאות פעולות בסיסיות על מספרים•

קריאת , שמירת מספר בזיכרון, חילוק, כפל, חיסור, חיבור

.וכדומה, השוואת מספרים, מספר מהזיכרון

. מסוגל לבצע מיליארדי פעולות כאלה בשניה•

Page 8: 1 - שפת C מבוא

8

??מה ה מחשב ב אמת יודע לעש ותמה ה מחשב ב אמת יודע לעש ות, , חיסורחיסור, , חיבורחיבור((לבצע פעולות בסיסיות על מספרים לבצע פעולות בסיסיות על מספרים , , כאמורכאמור••

).).וכדומהוכדומה, , השוואההשוואה, , חילוקחילוק, , כפלכפל

עוד נעסוק בכך עוד נעסוק בכך ((פלט פלט ולתת מידע כ ולתת מידע כקלטקלטלקבל מידע והוראות כלקבל מידע והוראות כ••..כל המידע וההוראות מיוצגים במחשב כמספריםכל המידע וההוראות מיוצגים במחשב כמספרים). ). בהמשךבהמשך

.. את מה שהוכנס אליו ואת תוצאות העבודה שלו את מה שהוכנס אליו ואת תוצאות העבודה שלולשמורלשמור••

.. בתוצאת פעולות אחרות בתוצאת פעולות אחרותבתלותבתלותלבצע פעולות לבצע פעולות ••

..ביניים בזיכרוןביניים בזיכרון--י שמירת תוצאותי שמירת תוצאות""עע, , פעולות רבות פעולות רבותלשלבלשלב••

אופן הפעול ה הבסי סי של מ חשבאופן הפעול ה הבסי סי של מ חשב

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

עם הנתונים עם הנתונים בזיכרון בזיכרון מבצע הוראות שנמצאות מבצע הוראות שנמצאותהמעבדהמעבד••.. את התוצאות את התוצאותבזיכרוןבזיכרוןושומר ושומר , , שמאוחסנים בושמאוחסנים בו

..אלא אם מתקבלת הור אה אחרתאלא אם מתקבלת הור אה אחרת, , ההור אות מבוצע ות לפי הס דרההור אות מבוצע ות לפי הס דר••

.. למשתמש במחשב למשתמש במחשבכפלטכפלטהתוצאות מוחזרות התוצאות מוחזרות ••

).).19461946, , בב""ארהארה" (" (נוימןנוימן--ארכיטקטורת פוןארכיטקטורת פון"" מבוסס על מבוסס על --

Page 9: 1 - שפת C מבוא

9

חומרה ותוכנה חומרה ותוכנה

".".חומרהחומרה""כל החלקים הפיזיים של המחשב ביחד נקראים כל החלקים הפיזיים של המחשב ביחד נקראים ••

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

).).נסביר בהמשךנסביר בהמשך((להיות בשפה שהמחשב מבין להיות בשפה שהמחשב מבין

כשמדליקים את המחשב מופעלת תוכנה בסיסית שנקראת כשמדליקים את המחשב מופעלת תוכנה בסיסית שנקראת ••.. ומאוחסנת על הדיסק הקשיח של המחשב ומאוחסנת על הדיסק הקשיח של המחשב""מערכת ההפעלהמערכת ההפעלה""

היא התוכנה שמתווכת בין חלקי החומרה של היא התוכנה שמתווכת בין חלקי החומרה של מערכת ההפעלהמערכת ההפעלה••..ובינם לבין תוכנות אחרות ולבין המשתמש במחשבובינם לבין תוכנות אחרות ולבין המשתמש במחשב, , המחשבהמחשב

חומרה ותוכנה חומרה ותוכנה

. . תוכנו ת מחש בתוכנו ת מחש בהדבר העיקרי שנלמ ד בקורס הוא ליצור הדבר העיקרי שנלמ ד בקורס הוא ליצור ••

לצורך זה נלמד שפה ש תאפשר לנו ל ת ת למח שב לצורך זה נלמד שפה ש תאפשר לנו ל ת ת למח שב ••

..CCשפ ה בשם שפ ה בשם , , הוראות לביצועהוראות לביצוע

..הקורס לא יעסוק כמעט בנושאי רכיבי החומרההקורס לא יעסוק כמעט בנושאי רכיבי החומרה••

Page 10: 1 - שפת C מבוא

10

מבוא לשפ ות תכנותמבוא לשפ ות תכנות

איך מתק שרים עם המחשב איך מתק שרים עם המחשב

כדי ליצור תוכנה חדשה כדי ליצור תוכנה חדשה

שפת מכונה שפת מכונה : : שפות תכנותשפות תכנות

לפי זרמים חשמלייםלפי זרמים חשמליים: : השפה הבסיסית של המחשבהשפה הבסיסית של המחשב••

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

במחשבים הראשונים כל פעולה בסיסית הצריכה הזזת במחשבים הראשונים כל פעולה בסיסית הצריכה הזזת ••כמו כמו ((מתגים חשמליים רבים כדי להעביר זרמים מתאימים מתגים חשמליים רבים כדי להעביר זרמים מתאימים

).).שרואים בסרטים ישניםשרואים בסרטים ישנים

Page 11: 1 - שפת C מבוא

11

שפת מכונה שפת מכונה : : שפות תכנותשפות תכנות

שמייצגים שמייצגים , , יםים--11//00י רצפים של י רצפים של ""הוראות כאלה למעבד יוצגו עהוראות כאלה למעבד יוצגו ע••..1010111010101110לדוגמא לדוגמא . . נמוך בכל חיבורנמוך בכל חיבור//אם מועבר זרם גבוהאם מועבר זרם גבוה

) ) ההוראותההוראות((כיום המחשב יודע לקרוא את הרצפים האלה כיום המחשב יודע לקרוא את הרצפים האלה ••, , אז אין צורך להזיז מתגים חשמלייםאז אין צורך להזיז מתגים חשמליים. . ''וכווכו, , ים יםCDCD, , מדיסקיםמדיסקים

פרקטי לכתוב תוכנית בשפת פרקטי לכתוב תוכנית בשפת --אבל זה עדיין מאוד מסובך ולאאבל זה עדיין מאוד מסובך ולא..מכונהמכונה

ויתכנו ויתכנו , , כל מעבד מכיר אך ורק את שפת המכונה שלוכל מעבד מכיר אך ורק את שפת המכונה שלו, , כןכן--כמוכמו••..שפות מכונה שונות למעבדים שוניםשפות מכונה שונות למעבדים שונים

אסמבלי אסמבלי שפת שפת : : שפות תכנותשפות תכנות

באנגליתבאנגליתשפה בסיסית עם פקודות פשוטות שפה בסיסית עם פקודות פשוטות ••

) ) MOV,ADD,PUSHMOV,ADD,PUSH(( , , שכל אחת מהן מתורגמת שכל אחת מהן מתורגמת

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

גם גם אבל אבל , , יםים--11//00-- לא צריך לכתוב את רצפי ה לא צריך לכתוב את רצפי הבאסמבליבאסמבלי••

.. מאוד מסובך לתכנת מאוד מסובך לתכנתאסמבליאסמבליבשפת בשפת

9MOV R2 9

ADD R1 R2

MOV R1 7R2 R1

7

AX

16

Page 12: 1 - שפת C מבוא

12

שפות עיליות שפות עיליות : : שפות תכנותשפות תכנות

שפות שכבר קצת יותר מזכירות אנגלית שפות שכבר קצת יותר מזכירות אנגלית אלהאלה••

CC , ,++++CC, , בייסיקבייסיק, , פסקלפסקל: : שפות עיליות לדוגמאשפות עיליות לדוגמא••

לסדרת לסדרת כלל כלל --כל פקודה בשפה עילית מתורגמת בדרךכל פקודה בשפה עילית מתורגמת בדרך••

))לא רק פקודה אחתלא רק פקודה אחת(( בשפת מכונה בשפת מכונה פקודותפקודות

הן משתמשות גם בסימנים מתמטייםהן משתמשות גם בסימנים מתמטיים••

בכדי לתרגמן לשפת מכונה בכדי לתרגמן לשפת מכונה))מהדרמהדר((קומפיילר קומפיילר נדרש נדרש ••

שונים שוניםלישומיםלישומיםלכל שפה יתרונות וחסרונות והתאמה לכל שפה יתרונות וחסרונות והתאמה ••

sum=9+7

מאפייני שפת מאפייני שפת C C השפה הע ילית שנלמד השפה הע ילית שנלמד --

יתרונות יתרונות

מאפשרת מאפשרת ––שפה פרוצדוראלית שפה פרוצדוראלית ••

הגדרת הוראות חדשות הגדרת הוראות חדשות

")")פונקציותפונקציות("("

מאפשרת שימוש מאפשרת שימוש ––מודולרית מודולרית ••

חוזר בחלקים של תוכניותחוזר בחלקים של תוכניות

תאימות למחשבים שוניםתאימות למחשבים שונים••

))מהירות ביצועמהירות ביצוע((שפה יעילה שפה יעילה ••

נותנת גישה נותנת גישה , , באופן יחסיבאופן יחסי••

של המחשבשל המחשב" " לקרבייםלקרביים""

חסרונות חסרונות

•• syntaxsyntax) ) קצת קצת ) ) תחבירתחביר

מבלבל מבלבל

של המחשב של המחשב " " לקרבייםלקרביים""גישה גישה ••

))לפעמים זה פתח לטעויותלפעמים זה פתח לטעויות((

Page 13: 1 - שפת C מבוא

13

שישמשו א ותנו לתכנות שישמשו א ותנו לתכנות ) ) תוכנותתוכנות((כלים כלים

ניעזר בכ מה תו כנות שכ בר ניעזר בכ מה תו כנות שכ בר CC כדי לכתוב תו כנית בשפ ת כדי לכתוב תו כנית בשפ ת

: : קיימותקיימות

••EditorEditor -- תוכנה לכתיבת ועריכת התוכנית בשפת תוכנה לכתיבת ועריכת התוכנית בשפת CC

").").source codesource code --הה("("

••CompilerCompiler) ) מתרגם את התוכנית משפה עילית מתרגם את התוכנית משפה עילית –– ))מהדרמהדר

").").object codeobject code("("לשפת מכונה לשפת מכונה

••LinkerLinker -- מחבר כמה קבצי מחבר כמה קבצי objectobject) ) ומייצר קובץ ומייצר קובץ ) ) אחד או יותראחד או יותר

).).בשפת מכונהבשפת מכונה(( יחיד יחיד ((””executableexecutable““))הרצה הרצה

••DebuggerDebugger--מאפשר הרצה מבוקרת של התוכנית פקודה מאפשר הרצה מבוקרת של התוכנית פקודה --

..לצורך בדיקה ותיקוןלצורך בדיקה ותיקון, , פקודהפקודה--אחראחר

שלבי יצירת ה תוכניתשלבי יצירת ה תוכנית

Cתוכנית Editor כתיבת התוכנית -

Page 14: 1 - שפת C מבוא

14

שלבי יצירת ה תוכניתשלבי יצירת ה תוכנית

Cתוכנית

Compiler object- לC-מתרגם פקודות ב

code) מכונה-שפת(

Editor כתיבת התוכנית -

שלבי יצירת ה תוכניתשלבי יצירת ה תוכנית

Cתוכנית

Compiler

לקובץ objectמחבר מספר קבצי

Linkerהרצה

object- לC-מתרגם פקודות בcode) מכונה-שפת(

Editor כתיבת התוכנית -

Page 15: 1 - שפת C מבוא

15

שלבי יצירת ה תוכניתשלבי יצירת ה תוכנית

Cתוכנית

Compiler

Linker

(exe) קובץ הרצה

לקובץ objectמחבר מספר קבצי

הרצה

object- לC-מתרגם פקודות בcode) מכונה-שפת(

Editor כתיבת התוכנית -

שלבי יצירת ה תוכניתשלבי יצירת ה תוכנית

Cתוכנית

Compiler

Linker

(exe) קובץ הרצה

ידי -השלב ים האל ה נעש ים אוט ומטית על

.בתירג ולתוכנ ה קי ימת שנכ יר

Editor כתיבת התוכנית -

Page 16: 1 - שפת C מבוא

16

שלבי יצירת ה תוכניתשלבי יצירת ה תוכנית

Cתוכנית

Compiler

Linker

(exe) קובץ הרצה

ידי -השלב ים האל ה נעש ים אוט ומטית על

.בתירג ולתוכנ ה קי ימת שנכ יר

הדבר העי קרי שנ למד בקור ס יהי ה איך

. עצמהC-לכתוב את תו כנ ית ה

Editor כתיבת התוכנית -

חומרה ותוכנהחומרה ותוכנה, , חלקי המחשב חלקי המחשב--

שפת מכונה ושפות עיליות שפת מכונה ושפות עיליות--

תרגום תוכנית משפה עילית תרגום תוכנית משפה עילית--

? ? שאלותשאלות --

סיכ ום בינ י ים סיכ ום בינ י ים

Page 17: 1 - שפת C מבוא

17

CC מחשב ב שפת מחשב ב שפת --איך נראית ת וכניתאיך נראית ת וכנית

CCתוכנית ראשונה בשפת תוכנית ראשונה בשפת

#include <iostream.h>

void main()

{

cout << “Hello World”;

}

Page 18: 1 - שפת C מבוא

18

11 שורה שורה ––תוכנית ראשונה תוכנית ראשונה

#include <iostream.h>

void main()

{

cout << “Hello World”;

}

#include – מאפש ר

שימוש בפעולו ת שנכת בו

י מיש הו אחר "כבר ע

ידו בנפרד-ונשמרו על

iostream.h ספריה( "הוא קובץ ("

פל ט /של פעולו ת שמ טפלות ב קלט

(standard input/output)

11 שורה שורה ––תוכנית ראשונה תוכנית ראשונה

#include <iostream.h>

void main()

{

cout << “Hello World”;

}

: 1אז משמ עו ת שורה

מש תמ שים בפעולו ת

פל ט שמפור טות /קלט

. iostream.hבקוב ץ

הקומפיילר פשוט מ צרף (

את ה קובץ הז ה ל ת חילת

התוכני ת שלנו לפני תחילת

).התרגום לשפ ת מ כונה

Page 19: 1 - שפת C מבוא

19

11 שורה שורה ––תוכנית ראשונה תוכנית ראשונה

#include <iostream.h>

void main()

{

cout << “Hello World”;

}

: 1אז משמ עו ת שורה

מש תמ שים בפעולו ת

פל ט שמפור טות /קלט

. iostream.hבקוב ץ

שה ק ומפיילר מבצע , עיבוד מוקדםמסמן , # באופן כללי

זה (על ה תוכני ת לפני ת חילת ה תרגום לשפת מ כונה

).preprocessorי חלק בקו מפיילר שנקרא "מבוצע ע

22 שורה שורה ––תוכנית ראשונה תוכנית ראשונה

#include <iostream.h>

void main()

{

cout << “Hello World”;

}

שורה קבו עה שבה

מתחיל ביצו ע תו כנית

C .זא ת : משמ עו תה

הפונקציה הראשי ת "

". לביצוע

Page 20: 1 - שפת C מבוא

20

55+ + 33 שורות שורות ––תוכנית ראשונה תוכנית ראשונה

#include <iostream.h>

void main()

{

cout << “Hello World”;

}

שורה קבו עה שבה

מתחיל ביצו ע תו כנית

C .זא ת : משמ עו תה

הפונקציה הראשי ת "

". לביצוע

מייד אחריה יופיעו

סוגריים מסולסלים

ובסיום , פותחים

סוגריים מסולסלים

.סוגרים

44 שורה שורה ––תוכנית ראשונה תוכנית ראשונה

#include <iostream.h>

void main()

{

cout << “Hello World\n”;

}

מש תמ שים

coutבפעולה <<

iostream.h מתוך

היא מקבל ת רצף ש ל

תווים בין גרשיים

ומדפיסה , כפולים

. אותם על ה מסך

\n הוא סימון מיוחד

.שמס מן ירידת שורה

; בסיום כל פקודה בגו ף ה תוכני ת יש לרשו ם

. אחרת הקומפיילר ט ועה ב תרגום ונותן ה ודעת שגיאה

Page 21: 1 - שפת C מבוא

21

?? שאלות נוספות שאלות נוספות––תוכנית ראשונה תוכנית ראשונה

#include <iostream.h>

void main()

{

cout << “Hello World”;

}

Hello Worldמדפיסה

ח יש וב מספר השני ות ביממה ח יש וב מספר השני ות ביממה : : תו כנ ית שנ יהתו כנ ית שנ יה

#include <iostream.h>

void main()

{

int seconds, hours, minutes;

hours = 24;

minutes = 60;

seconds = hours * minutes * 60 ;

cout << “Seconds in a day: ” << seconds;

}

Page 22: 1 - שפת C מבוא

22

#include <iostream.h>

void main()

{

int seconds, hours, minutes;

hours = 24;

minutes = 60;

seconds = hours * minutes * 60 ;

cout << “Seconds in a day: ” << seconds;

}

את ה שורות האלה

כבר הכרנו

ח יש וב מספר השני ות ביממה ח יש וב מספר השני ות ביממה : : תו כנ ית שנ יהתו כנ ית שנ יה

ח יש וב מספר השני ות ביממה ח יש וב מספר השני ות ביממה : : תו כנ ית שנ יהתו כנ ית שנ יה

#include <iostream.h>

void main()

{

int seconds, hours, minutes;

hours = 24;

minutes = 60;

seconds = hours * minutes * 60 ;

cout << “Seconds in a day: ” << seconds;

}

Page 23: 1 - שפת C מבוא

23

44 שורה שורה ––תוכנית שנייה תוכנית שנייה

int seconds, hours, minutes;int seconds, hours, minutes;

".".הגדרת מ ש תנ יםהגדרת מ ש תנ ים" " זאת זאת ••

, , שלוש ה מקומו ת ב זיכרוןשלוש ה מקומו ת ב זיכרוןהשורה הזא ת מגדירה השורה הזא ת מגדירה ••שה תוכני ת תוכל ל ש מור בהם ערכים ולק רוא מהם את שה תוכני ת תוכל ל ש מור בהם ערכים ולק רוא מהם את

..שםשםלכל מקום כזה נותנים לכל מקום כזה נותנים . . הערכים שאוחסנו ב הםהערכים שאוחסנו ב הם

ההגדרה הזאת אומ רת ש ערכי ה מש תני ם האלה יהיו ההגדרה הזאת אומ רת ש ערכי ה מש תני ם האלה יהיו ••). ). intint מ טיפוסמ טיפוס((מספרים שלמים מספרים שלמים

;;--מס תיימ ת ב מס תיימ ת ב , , כמו פקודהכמו פקודה, , הגדרת מ ש תניםהגדרת מ ש תנים••

זיכר ון זיכר ון ––תוכנית שנייה תוכנית שנייה seconds minutes hours

תמונת הזיכרון לאחר

הגדרת המשתנים

Page 24: 1 - שפת C מבוא

24

חיש וב מספר השני ות ב יממהחיש וב מספר השני ות ב יממה

#include <iostream.h>

void main()

{

int seconds, hours, minutes;

hours = 24;

minutes = 60;

seconds = hours * minutes * 60 ;

cout << “Seconds in a day: ” << seconds;

}

השמה השמה : : 5,65,6 שורות שורות ––תוכנית שנייה תוכנית שנייה

hours = 24;hours = 24;

minutes = 60;minutes = 60;

.. מייצג הש מה מייצג הש מה== --סימן ה סימן ה ••

))יםים--intint(( הם מספרים שלמים הם מספרים שלמים 6060 ו ו 2424המספרים המספרים ••

6060 ו ו 2424השורות האל ה מכני סות א ת ה מספרים השורות האל ה מכני סות א ת ה מספרים ••

) ) מ ק ומות ש הקצנו בזי כרוןמ ק ומות ש הקצנו בזי כרון((לתוך המ שתנים לתוך המ שתנים

.. בה תאמה בה תאמה minutesminutes-- ו וhourshoursשש מותיהם שש מותיהם

Page 25: 1 - שפת C מבוא

25

זיכר ון זיכר ון --תוכנית שנייה תוכנית שנייה minutes hours

24

תמונת הזיכרון לאחר

hours = 24;

seconds

זיכר ון זיכר ון --תוכנית שנייה תוכנית שנייה minutes hours

24

תמונת הזיכרון לאחר

minutes = 60;

60

seconds

Page 26: 1 - שפת C מבוא

26

חיש וב מספר השני ות ב יממהחיש וב מספר השני ות ב יממה

#include <iostream.h>

void main()

{

int seconds, hours, minutes;

hours = 24;

minutes = 60;

seconds = hours * minutes * 60 ;

cout << “Seconds in a day: ” << seconds;

}

פע ולות חשבון פע ולות חשבון : : 77 שורה שורה ––תוכנית שנייה תוכנית שנייה

seconds = hours * minutes * 60 ;seconds = hours * minutes * 60 ;

. . משפט הש מה נוס ףמשפט הש מה נוס ף••

. . מייצג כפלמייצג כפל* * הסימן הסימן ••

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

..למקום של המ ש תנה שרשום בצד ש מאל למקום של המ ש תנה שרשום בצד ש מאל

. . חיבור וכפלחיבור וכפל, , חיסורחיסור, , מייצגים חילוק מייצגים חילוק/,/,--,+,*,+,*הסימנים הסימנים ••. . סדר הפעולות רגילסדר הפעולות רגיל

Page 27: 1 - שפת C מבוא

27

זיכר ון זיכר ון --תוכנית שנייה תוכנית שנייה minutes hours

24

תמונת הזיכרון לאחר

; seconds = hours * minutes * 60

6086400

seconds

חיש וב מספר השני ות ב יממהחיש וב מספר השני ות ב יממה

#include <iostream.h>

void main()

{

int seconds, hours, minutes;

hours = 24;

minutes = 60;

seconds = hours * minutes * 60 ;

cout << “Seconds in a day: ” << seconds;

}

Page 28: 1 - שפת C מבוא

28

פ לט פ לט-- 88 שו ר ה שו ר ה ––תו כני ת שנ י יה תו כני ת שנ י יה

cout << “Seconds in a day: ” << seconds;

. . תוכן של מש תנים תוכן של מש תניםcoutcoutניתן לכלול בהדפס ה של ניתן לכלול בהדפס ה של ••

) ) בלי ג רשיים כפוליםבלי ג רשיים כפולים((פשוט רוש מים את שם המ שתנ ה פשוט רוש מים את שם המ שתנ ה ••

לקחת א ת ה ערך לקחת א ת ה ערך ) ) מאיזה מש תנהמאיזה מש תנה((זה מציין מאיזה מקו ם זה מציין מאיזה מקו ם ••

. . להדפסהלהדפסה

אז השורה הזא ת ת דפיס את מ ספר הש ניות ביממה כמו אז השורה הזא ת ת דפיס את מ ספר הש ניות ביממה כמו ••

..שרצינושרצינו

?? שאלות נ וספ ו ת שאלות נ וספ ו ת––תו כנ ית שנ י יה תו כנ ית שנ י יה

#include <iostream.h>

void main()

{

int seconds, hours, minutes;

hours = 24;

minutes = 60;

seconds = hours * minutes * 60 ;

cout << “Seconds in a day: ” << seconds;

}

Page 29: 1 - שפת C מבוא

29

סיכוםסיכום

:דיברנו היום על

C מבוא לתכנות ולשפת •

C מבנה בסיסי של תוכנית •

הדגמה של שימוש במשתנים •

בשיעורים הקרובים נבין טוב יותר מה עומד מאחורי

.Cונכיר עוד דברים שניתן לעשות בשפת , הדוגמאות שראינו

??שאלות נו ספות שאלות נו ספות

שיעור ר אש ון שיעור ר אש ון––מבוא למדעי המחשב מבוא למדעי המחשב

Page 30: 1 - שפת C מבוא

30

!!בה צלח הבה צלח ה

שיעור ר אש ון שיעור ר אש ון––מבוא למדעי המחשב מבוא למדעי המחשב