מבוא לתכנות ולמדעי המחשב בשפת C/מבוא ותוכנית ראשונה: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 92:
ישנם שני כלי תוכנה בהם נשתמש בכדי ליצור תוכנית מחשב. הראשון הוא Editor, תוכנה לעריכת טקסט. ה Editor מאפשר למשתמש ליצור קובץ המכיל קוד של תוכנית (או בעצם כל דבר אחר שירצה) ולשמור אותו כקובץ.
 
הכלי השני הוא קומפיילרמהדר - Compiler. קומפיילרמהדר הוא תוכנת מחשב שמאפשרת תרגום של קובץ הכתוב בשפה אחת לקובץ אחר המכיל את אותה התוכנית בשפה אחרת. בקורס זה אנו נשתמש בקומפיילרבמהדר שיתרגם קבצים בשפת התכנות C לקבצים שקולים בשפת מחשב. שפת המחשב (machine language, או binary) היא השפה היחידה שהמחשב מסוגל לבצע. כל שפה אחרת חייבת להיות מתורגמת לשפת מכונה על מנת שאפשר יהיה להריץ אותה.
 
== שלום עולם ==
שורה 116:
 
* בשורה 1, אנו מאפשרים שימוש באמצעי קלט\פלט - מקלדת ומסך (פרטים - בהמשך).
* שורה 2 ריקה וכל תפקידה הוא להפריד בין חלקי הקוד. הקומפיילרהמהדר מתעלם ממנה וכל תפקידה הוא להפוך את הקוד לקריא יותר.
* בשורה 3 אנו מצהירים על תחילתו של החלק הראשי של התוכנית שלנו, ה - main.
* שורה 4 היא פקודת הדפסה של המשפט "Your wish is my command" על המסך. הסימון n\ מורה למחשב לעבור לשורה הבאה. שימו לב לסימן ה - ''';''' שמופיע בסוף הפקודה. נקודה-פסיק או [http://en.wikipedia.org/wiki/Semicolon semicolon] בלעז הוא סימון שמופיע בסוף כל פקודה לביצוע ב- C. סימן זה מאפשר לקומפיילרלמהדר להבחין ולהפריד בין פקודות.
* שורה 5 מורה על הפסקת main ויציאה מהתוכנית (חזרה למערכת ההפעלה).
* שורה 6 סוגרת את "בלוק" הקוד של - main. התוכן שנמצא בין סוגריים מסולסלים - {...} מהווה קטע קוד בעל משמעות מסויימת. המשמעות נגזרת מההקשר כלומר הקוד ש"עוטף" את הבלוק. שוב, דוגמאות נוספות יבהירו את הרעיון.
שורה 135:
gcc check.c -o check
</syntaxhighlight>
[http://he.wikipedia.org/wiki/GCC gcc] הוא שם הקומפיילרהמהדר בו נשתמש במהלך הקורס. קומפיילרמהדר, כזכור, הוא תוכנה המקבלת קובץ תוכנה בשפה אחת ויוצרת קובץ תוכנה שקול בשפה אחרת. במקרה שלנו מדובר בקומפיילרבמהדר המקבל תוכנית בשפת C ויוצר תוכנית שקולה מבחינת המשמעות בשפת המכונה שמעבד המחשב מבין. במילים אחרות, gcc '''מתרגם''' עבורנו את הקובץ שכתבנו ב C לקובץ חדש בשפת מכונה.
 
[[תמונה:gcc.png|center|500px]]
שורה 144:
לאחר, הפעלת פקודת התרגום שרשמנו למעלה, יווצר בתקייה הנוכחית קובץ חדש בשם check. אם ננסה לקרוא אותו בעזרת Editor או להתייחס אליו באופן אחר כקובץ טקסט, נקבל מידע חסר משמעות. הקובץ הזה מקודד באופן אחר (לפעמים מכנים אותו קובץ בינארי).
 
'''הערה:''' במהלך הקורס נוסיף עוד פרמטר אחד לפקודת הקומפילציה שיגרום לקומפיילרלמהדר להיות יותר קפדן מבחינת ההערות שייתן. הפרמטר Wall- הוא קיצור של all warnings כלומר, דרישה שהקומפיילרשהמהדר יתריע בפנינו בכל מקרה שהוא רואה בעיה, גם עם לא מדובר בשגיאה ממש. הדרישה הזאת תעזור לכם מאוד לאתר תקלות חמקמקות במיוחד. פקודת הקומפילציה בה השתמשנו תראה כך:
<syntaxhighlight lang = "text">
gcc -Wall check.c -o check
שורה 174:
</syntaxhighlight>
 
תקבלו את כל האופנים בהם ניתן להריץ את הקומפיילרהמהדר.