בית פורומים למתכנתים שבינינו

מדריך שפת C - מההתחלה!

שלום אורח. באפשרותך להתחבר או להירשם
הצג 15 הודעות בעמוד הוסף לדף האישי  דווח למנהל שלח לחבר
נשלח ב-28/7/2011 15:27 לינק ישיר 
מדריך שפת C - מההתחלה!

נלקח מ:http://www.underwar.co.il/

מבוא ותוכנית ראשונה

מבוא
ככל שעוברים השנים, מחשבים נמצאים בשימוש רב יותר ויותר בחיינו - המחשב האישי חודר לכמעט כל
בית, ומחשבים שונים משולבים במגוון יישומים - במכשירים סלולריים, במכוניות ואפילו בטלפונים
סלולריים. מחשבים אלו מבצעים מגוון רחב של פעולות.
בתור משתמשים, אנו מפעילים תוכנות שונות על המחשב. .PC- נתמקד רגע במחשב האישי - ה
נניח שנרצה לבצע פעולה מסוימת על המחשב - למשל - כתיבת מסמך. סדר פעולות אפשרי בשבילנו הוא
הקלדת המסמך הרצוי ואז שמירתו לדיסק. ,Word פתיחת תוכנת
עובדת? כיצד תוכנות אחרות על המחשב עובדות? ויותר Word נשאל עכשיו את השאלה: כיצד התוכנה
חשוב מכך - איך נוכל ליצור תוכניות חדשות שיתאימו למטרות ולצרכים שלנו?
התשובה: תוכנות נכתבות בעזרת שפות תכנות - שפות מוגדרות היטב המאפשרות לנו לומר למחשב מה
.C ברצוננו שיבצע. במסמך זה נציג את אחת משפות התכנות הקיימות - שפת
אנשים החדשים לתחום התכנות מופתעים פעמים רבות כאשר מסתבר להם עד כמה המחשב הוא מכונה
פשוטה, מבחינת הפקודות שאנו יכולים לומר לו לבצע. למשתמש הקצה נראה לעיתים שהמחשב הוא מעין
כלי קסם המסוגל לבצע אינסוף פעולות, בעוד שלמעשה כל עושר התוכניות הקיימות מושג על ידי שפה
נוקשה ובעלת מספר מילים מצומצם ביותר.
נסיר כעת מעט מהערפל ונציג כיצד אנו יכולים להפעיל על המחשב תוכניות שאנו כותבים.
בעזרת שפת תכנות אנו הופכים את הרעיונות שלנו לתוכנית שרצה במחשב.
אנו מספקים למחשב הוראות צעד אחד צעד כיצד עליו לבצע את המשימה המבוקשת והמחשב עוקב אחר
הוראות אלו.
תהליך התכנות כולל לרוב תכנון מוקדם: כאשר אנו באים לכתוב תוכנית, ראשית נחשוב על סדרת הוראות
למחשב, שביצוען יביא אל התוצאה הרצויה. סדרת הוראות אלו תכתב בשפה הקרובה מאוד לשפת בני
אדם - בצורת אלגוריתם. האלגוריתם צריך להגדיר את הקלט אותו אמורה התוכנית לקבל, את העיבוד
שהתוכנית אמורה לעשות על הקלט, ואת הפלט שהתוכנית תפיק בסיום.
לאחר שיש בידנו אלגוריתם, נעבור לממש אותו בשפת תכנות. נפתח עורך טקסט ונכתוב בו את התוכנית
בשפת התכנות הנבחרת.
הינה שפה עילית - כלומר היא מכילה ביטויים הקרובים יחסית לשפה האנגלית, ומכילה מבני C שפת
מחשב מבין רק הוראות הכתובות בשפה .C בקרה מורכבים. המחשב אינו מבין הוראות הכתובות בשפת
הנקראת שפת מכונה. לפיכך, השלב הבא ביצירת התוכנית שלנו הוא תרגום התוכנית לשפת מכונה.
תוכנית הממירה את ההוראות שכתבנו בשפת תכנות להוראות בשפת מכונה אותן המחשב יודע לבצע,
.Compiler נקראת מהדר או
שהופכת את Linker לאחר שהמהדר הידר את התוכנית שכתבנו, אנו משתמשים בתוכנית נוספת הנקראת
שניתן להריצו. EXE התוכנית לקובץ
לכאורה תהליך זה ארוך ומסורבל. בפועל כלי העבודה המצויים כיום מאפשרים לבצע את תהליך יצירת
.Microsoft Visual C++- ו Borland C++ התוכנה בקלות. שתי סביבות עבודה טובות הינן
הנוחה יותר לעבודה עם תוכניות קטנות. ,Borland C++ המלצתנו למתכנת המתחיל היא לעבוד עם
נוחה יותר עבור פרויקטים גדולים. Microsoft Visual C++
ועוד, והן מאפשרות לבצע תהליך זה (Linker) סביבות עבודה אלו כוללות בתוכן עורך, מהדר, מקשר
במהירות על ידי תפריטים.
Algorithm Editor C Program Machine
Code
Compiler Execute Output



תוקן על ידי אנוני_מוס ב- 28/07/2011 15:45:17




דווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-28/7/2011 15:38 לינק ישיר 
תוכנית ראשונה ב-c

תוכנית ראשונה ב-c

על המסך. "Hello, World" התוכנית מדפיסה את המילים .C נציג כעת תוכנית ראשונה בשפת

1) #include <stdio.h>

2) int main()

3) {

4) printf("Hello, World!\n");

5) return 0;

6) }

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

נסביר את תפקיד כל אחת משורות התוכנית:

.stdio.h בשם (Header) 1. הוראה למהדר להכניס לפני התוכנית את קובץ הכותרת

בה אנו printf() בין היתר של הפקודה ,C- קובץ זה מכיל הגדרות של פקודות שונות ב

.C משתמשים בתוכנית זו. קובץ זה מכיל הרבה מפקודות הקלט/פלט של שפת

היא קטע של הוראות שניתן להריצו, ושיכול C- פונקציה ב .main 2. הגדרת פונקציה בשם

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

מתחילה.

אנו .main() כרגע די לנו בעובדה שריצת התוכנית מתחילה בבלוק זה המוגדר בעזרת

בהרחבה. C עוד נעסוק בנושא הפונקציות בשפת

הסימן { מציין את סוף .main 3. הסימן } מציין את התחלת הבלוק בו יהיו ההוראות של

מתחיל בסימן } ומסתיים C ככלל, כל בלוק בשפת .main בלוק הפקודות של הפונקציה

ב-{.

היא פונקציה המשמשת להדפסת המחרוזת המצויה בין המרכאות. (מחרוזת - printf .4

שמשמעותו מעבר לשורה הבאה. ,C הוא סימן מיוחד בשפת \n רצף אותיות). הסימן

אומר לתוכנית להחזיר למערכת ההפעלה 0, כלומר לסיים את התוכנית return 0 .5

ולהודיע למערכת ההפעלה שהתוכנית הסתיימה בלי שגיאה (מקובל ש 0- מייצג סיום

מוצלח של התוכנית, וכל מספר אחר מייצג שגיאה).

יודפס על המסך. "Hello, World" כאשר נריץ תוכנית זו, הטקסט

כל אחד מהשורות הסתיימה ב- ; (נקודה פסיק). ,main() הערה: נשים לב שבתוך הפונקציה

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

אחת השגיאות הנפוצות של מתכנתים מתחילים היא לשכוח לשים ; במקומות הדרושים, וחשוב לשים לב

לכך.

המרכיבות את התוכנית שלנו בשם קוד התוכנית. C מינוח: נהוג לכנות את הפקודות בשפת



תוקן על ידי אנוני_מוס ב- 28/07/2011 15:49:41




דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-28/7/2011 15:50 לינק ישיר 
זיכרון המחשב ומשתנים

זיכרון המחשב
כאשר נכתוב תוכנית, נרצה לאפשר לה לשמור מידע, לנתח אותו ולבצע עליו פעולות.
את מידע התוכנית נשמור בזיכרון המחשב.
נתאר קצת את זיכרון המחשב:
ביט היא יחידה היכולה לקבל רק שני .(Bit) היחידה הבסיסית ששומרת במחשב מידע מכונת ביט
נעיר כי במחשבים מודרניים ) .(Byte) ערכים: 0 או 1, דלוק או מכובה. קבוצה של 8 ביטים נקראת בית
בית הוא לרוב יותר מ 8- ביטים, אולם לצורך ההסבר נניח שבית הוא בן 8 ביטים).
הזיכרון של המחשב בנוי מרצף של בתים, המכילים בתוכם נתונים. הבתים מכונים גם תאים.
ניתן לדמיין את הזיכרון של המחשב בתור רצף של בתים, שלכל אחד מהם יש מספר מזהה ייחודי, ובכל
אחד מהם נשמרים נתונים.
למספר המזהה הייחודי של התא נקרא כתובת.
נביט למשל בשרטוט הבא.
1001 1002 1003 1004 1005 1006 1007
01001110 10101010 00101110 10101011 10000111 11100111 10101101
שרטוט זה הינו דוגמא איך יכול להראות קטע מהזיכרון.
המספרים 1001-1007 מייצגים את כתובת התאים. האפסים והאחדות מייצגים נתונים שיכולים להיות
בתאים.
כיצד נשמור בזיכרון נתונים אחרים פרט לאפסים ואחדות, למשל - מספרים, אותיות וכו'?
התשובה: בעזרת ייצוג של מספרים ואותיות כרצפים מוסכמים של אפסים ואחדות, ופיענוח של האפסים
והאחדות על ידי המחשב.
בלי להכנס למתמטיקה שמאחורי הנושא, נאמר כי קיימת שיטה לקשר בין המספרים המוכרים לנו,
הנקראים מספרים בבסיס עשרוני, לרצפים של אפסים ואחדות, המכונים מספרים בינריים, באופן חד חד
ערכי.
כמו כן, אם נקבע כי לכל אות בשפה קיים מספר מייצג, אז נוכל לשמור גם את האותיות בזיכרון כמספרים.
קיימים מספרים ואותיות. אנו C מפשטת לנו את העבודה עם הזיכרון על ידי הפשטה. בשפת C שפת
הוא זה שימיר אותם בשבילנו לאפסים ואחדות C יכולים להשתמש בהם בתוכניות שלנו, והמהדר של
שישמרו בזיכרון המחשב.



דדווח על תוכן פוגעני

סמל אישי
מנותק
   
בית > פורומים > אינטרנט ומחשבים > למתכנתים שבינינו > מדריך שפת C - מההתחלה!
מנהל לחץ כאן לנעילת האשכול
הוסף לעמוד האישי  דווח למנהל שלח לחבר

bholext