כל הזכויות שמורות לקרן כליף ©
מותר להשתמש בחומר מאתר זה לשימוש פרטי בלבד, ואין להציגו ברבים ללא היתר כתוב מראש מבעלת האתר.
 
Home

מבוא לתכנות מערכות / יישומים מתקדמים בשפת C

בקורס זה תוצג שפת C וכן מימוש לנושאים מתקדמים: תוצג השפה למתכנתי JAVA / C++, נלמד מהם מצביעים (פויטרים), מחרוזות, מבנים, קבצי header וחלוקת הפרוייקט למודולים, תהליך הקומפילציה וה- preprocessor והקצאות דינאמיות.בנושאים המתקדמים ילמדו הנושאים הבאים: מצביעים לפונקציות, variadic function, עבודה עם סיביות, קבצים, יצירת קובץ ספריה (lib), מימוש מבני הנתונים רשימה (list) ועץ (tree) ויוצגו דוגמאות לשילוב כל הנושאים ביחד.

להלן קישורים לנושאי הקורס:    

פרק זה סוקר את השינויים בתחביר לעומת שפת JAVA: רקע לשפת C, הגדרת משתנים, קלט ופלט, פונקציות, מערכים וסוגי משתנים.



לראש הדף


בפרק זה נלמד מהו מצביע (פוינטר), מוטיבציה ללמידת מצביעים, האופרטורים * ו- &, אתחול מצביע, העברת פרמטר לפונקציה by pointer, מצביע const, הקשר בין מערך לכתובת, פעולות חיבור וחיסור עם כתובות, מצביע מטייל על מערך, העברת מערך לפונקציה, הבעייתיות בהחזרת מערך מפונקציה, מערך של כתובות, והעברת מצביע לפונקציה לצורך שינוי הצבעתו.



לראש הדף


בפרק זה נכיר מהי מחרוזת וההבדל בינה לבין מערך של תווים, נכיר את הפקודות: getchar, putchar, getch, getche, נראה כיצד לאתחל מחרוזת, הפקודות: gets, puts, הספריה string.h ומתוכנה הפונקציות: strlen, strcpy, strcmp, strcat, מערך של מחרוזות, הפונקציות: sprintf, sscanf, הפונקציות: strchr, strstr, strtok וכן נכיר את ה- static storage.



לראש הדף


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



לראש הדף


בפרק זה נלמד כיצד לחלק את הפרוייקט לקבצים ומדוע, נכיר את בעית ה- include'ים כפולים, הידור מותנה ומאקרו.



לראש הדף


בפרק זה נראה מהי מוטיבציה להקצאות דינאמיות, מהי הקצאה דינאמית, יצירת מערך בגודל שאינו ידוע מראש, החזרת מערך מפונקציה, הקצאת מערך של מערכים, הגדלת מערך, הפונקציה strdup ונראה דוגמאות משולבות של מבנים עם הקצאות דינאמיות.



לראש הדף


בפרק זה נרחיב את השימוש במצביעים ונלמד על פונקציות המקבלות מספר משתנה של פרמטרים (variadic functions).
הפרק יפתח בתזכורת למצביעים, המרות בין מצביעים, המצביע void*, מהו מצביע לפונקציה, שימושים במצביע לפונקציה, הפונקציה atexit, מערך של מצביעים לפונקציות, שילוב מצביע לפונקציה עם void*, והפונקציות qsort ו- bsearch. בנוסף נראה מהו enum וכיצד הוא ממומש בשפת C.
בהמשך הפרק נראה מהי Variadic Function והשימוש בפונקציות va_list, va_start, va_arg, va_end.



לראש הדף


מוטיבציה לעבודה עם סיביות למטרות כיווץ והצפנה, נלמד מהן סיביות ונכיר ונשתמש באופרטורים הבאים: & | ^ ~ >> <<



לראש הדף


בפרק זה נלמד על המוטיבציה לעבודה עם קבצים, נכיר קבצי טקסט וקבצים בינאריים, פעולות על קבצים (עבור שני סוגי הקבצים): פתיחת קובץ, קריאה מקובץ, כתיבה לקובץ, סגירת קובץ. וכן נראה את הפקודות: fseek, ftell, rewind, ferror, fflush, feof.



לראש הדף


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



לראש הדף


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



לראש הדף


בפרק זה נכיר את מבנה הנתונים עץ, הגדרות של עצים, יצירת עץ, מעברים על עצים (inorder, preorder, postorder), חיפוש בעץ, ממערכים לעץ, מעץ לרשימה.



לראש הדף


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



לראש הדף


ליצירת קשר >>


כל הזכויות שמורות לקרן כליף ©
מותר להשתמש בחומר מאתר זה לשימוש פרטי בלבד, ואין להציגו ברבים ללא היתר כתוב מראש מבעלת האתר.