משתמש:NVileos/ארגז חול/שפת C/שפת C (גרסה חלונות 7)/שלום עולם!
[[תמונה:50% .svg|50px]] |
ספר זה טרם הושלם ונמצא עדיין בכתיבה. ייתכן שחסרים בו פרקים, או אף נושאים שלמים. לפיכך, כרגע לא ניתן ללמוד ממנו על כל הנושא בצורה מקיפה. כמו בכל אחד מהספרים, מהדפים ומהנושאים בוויקיספר, גם כאן אתם מוזמנים להוסיף את הפרקים שלדעתכם חסרים. כל פעולה שעשויה לעזור תתקבל בברכה, כולל הערות ובקשות בדף השיחה של הספר. מידע נוסף |
הערת "הסברון": ידע - שפת C.
עבודה - פרוייקט.
פרק בעבודה - קובץ בפרוייקט.
מורה - המהדר והמקשר.
ספריה - הסיפריה בשפת C.
נהוג לפתוח את הלימוד של שפת C באמצעות הצגת תכנית המדפיסה "שלום עולם!" למסך. בכך ניתן לראות את המבנה הבסיסי של שפת התכנות ואת הדרך שבה היא מבצעת הדפסות למסך. נבצע את המנהג הזה גם כאן.
התוכנית הראשונה
[עריכה]"קדימה! למה אנחנו מחכים?! בוא נתחיל כבר...!"
וואו,תרגיעו. פשוט תפתחו את Dev-C++. שם יהיה חלון קטן שכתוב בו: "Did you know...", אז סגרו אותו עם האיקס. למעלה בקצה השמאלי תלחצו על "File - New - Project...". שם, בחלונית, בכפתור "Basic" תלחצו על "Empty Project", שנו את שמו ל-"Lesson1", ושמנו נקודה ב-"C Project". לחצו על "OK". תפתח חלונית. שם תלחצו על "Desktop", אחר כך על הכפתור עם התיקייה, תשנו את שמה ל-"C". לחצו פעמיים עליה ואז תלחצו "Save".
תלחצו למעלה בקצה השמאלי על הכפתור "Project - New File".
"מה עשינו?"
אנחנו הקמנו פרוייקט חדש, או כמו שאני אוהב לקרוא לו - ספר חדש, ובתוך העבודה הוספנו קובץ, או כמו שאני אוהב לקרוא לו - פרק. עכשיו - תכתבו שם:
#include <stdio.h>
int main()
{
printf("Hello world\n");
getchar();
return 0;
}
מהקוד הזה אפשר להקים תוכנה שתדפיס "Hello World!" על המסך.
"אבל לא הבנו את הקוד!"
עכשיו אני אסביר!
השורה הראשונה
[עריכה]השורה הראשונה היא כזאת:
#include <stdio.h>
היא מספרת למחשב:"תקשיב, תחפש בסיפריות שלי את הסיפריה 'stdio', כדי שאני אוכל לבצע את פעולת פלוט וקלוט"
"מהי סיפריה?"
הסברון:
דמיינו את הידע, שעליו אתם מסתמכים, כדי לכתוב עבודה. לצערינו, הידע לא רחב, וחסרים בעבודה פרטים מאוד חשובים, למשל: העבודה שלכם היא על נלסון מנדלה. אתם גם צריכים להביא ציטוטים שלו, אבל אתם לא מכירים. לכן, אתם הולכים לסיפריה, וקוראים עוד מידע. במקרה הזה, אתם הולכים לסיפריה העירונית, וקוראים על האיש. נגיד ומצאתם ספר בשם "ארוכה הדרך לחירות". שם מצאתם את הציטוט:"אל תירא. הירא שונא והשונא הורג. השלך חרבך ומורא לא תדע עוד", אז כתבתם אותו בעבודה. בעבודות גם כתוב המקור שבו מצאתם את הציטוט. במקרה הזה, כתבתם:"הספריה העירונית תל אביב, ארוכה הדרך לחירות". אם המקור כתוב, המורה אומר:"בסדר". אם לא כתוב בעבודה המקור, המורה יוריד על זה נקודות ציון.
(אם לא הבנתם, לכו להתחלת העמוד, וקראו את הערת "ההסברון")
במציאות:
אותו הדבר כאן. שפת C היא שפה קטנה מאוד. איך נעשה אם אי אפשר לכתוב שם משהו שיודפס למסך? בשביל זה יש ספריות. ספריות הם קבצים, שיש בהם מידע, כמו על פעולת פלט וקלט. אם יש הפנייה לשם, המהדר והמקשר מאשרים ונותנים אישור למידע הקשור לתחום, אבל אם לא, המהדר מעיר על זה.
"מהי פעולת פלט וקלט?"
בסיפריה יש קובץ בשם פלט וקלט. בקובץ יש מידע על המחשב והמשתמש. מהו המידע? המידע הוא, למשל, פנייה למשתמש באמצעות הדפסת טקסט למסך, או פנייה של המשתמש למחשב באמצעות סריקת טקסט מהמסך.
השורה השנייה
[עריכה]השורה השנייה היא כזאת:
int main()
היא מספרת למחשב:"אוקיי, כאן אתה מתחיל להריץ את התוכנה, כרגיל, בלי שום הגדרות."
"מה זאת אומרת 'בלי שום הגדרות'?"
זאת אומרת, שאנחנו לא מגדירים את הקובץ, אנחנו עושים עבודה רגילה.
השורה השלישית
[עריכה]השורה השלישית היא כזאת:
{
היא מספרת למחשב:"עכשיו! תתחיל!"
כאן המחשב פותח את התחלת העבודה.
השורה הרביעית
[עריכה]השורה הרביעית היא כזאת:
printf("Hello world\n");
היא מספרת למחשב:"תדפיס במסך 'Hello world', תעבור שורה וזהו"
כאן המחשב פונה למשתמש ואומר לו:"Hello world", ואז עובר שורה. "הסוף" הזה הוא הסימן ';', ומסמל סוף משפט, כמו שבשפת בני אדם הנקודה מסמלת סוף משפט.
השורה החמישית
[עריכה]השורה החמישית היא כזאת:
getchar();
היא מספרת למחשב:"סרוק קליד שהמשתמש הקליד. לא צריך הגדרות."
כאן המחשב סורק קליד מהמשתמש (כלומר מחכה שהמשתמש ילחץ על משהו) ואז סורק אותו, תיכף תראו למה.