לדלג לתוכן

3.3 פוינטרים תרגול

תרגול – פוינטרים, מערכים, מחרוזות ו־scanf

תרגול 1 – שימוש ב־scanf והצבה למשתנה

  1. כתבו תוכנה שמבקשת מהמשתמש להכניס מספר שלם.

  2. שמרו את המספר במשתנה מסוג int.

  3. הדפיסו את המספר באמצעות printf.


תרגול 2 – scanf עם כתובת

  1. אתחלו משתנה מסוג char.

  2. בקשו מהמשתמש להכניס תו, וקראו אותו בעזרת scanf.

  3. הדפיסו את ערך ה־ASCII של התו בעזרת %d.


תרגול 3 – מחרוזות ומצביעים (char*)

  1. אתחלו משתנה מסוג char* עם הערך "hello".

  2. הדפיסו את המחרוזת עם %s.

  3. הדפיסו את המצביע עצמו עם %p.


תרגול 4 – מערכים ו־scanf

  1. הגדירו מערך מסוג int בגודל 3.

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

  3. הדפיסו את כל שלושת המספרים.


תרגול 5 – קשר בין פוינטרים ומערכים

  1. הגדירו מערך מסוג int בגודל 3 והכניסו לתוכו ערכים ידנית (ללא scanf).

  2. אתחלו פוינטר מסוג int* שמצביע על המערך.

  3. הדפיסו את הערכים של המערך גם בעזרת הסינטקס arr[i] וגם בעזרת *(p + i) (ללא לולאה – שורה שורה).


תרגול 6 – scanf עם מחרוזות

  1. צרו מערך מסוג char בגודל 100.

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

  3. הדפיסו את המחרוזת.

טיפ: אין צורך ב־& כאשר עושים scanf למערך תווים, כי הוא כבר מצביע.


תרגול 7 – argv ו־argc

  1. כתבו תוכנית שמדפיסה את כמות הארגומנטים שהתקבלו (argc).

  2. הדפיסו את שם התוכנית (argv[0]) ואת הארגומנט הראשון שהוזן (אם קיים).


תרגול 8 – char** וניתוח מחרוזות

  1. כתבו תוכנית שמקבלת ארגומנט מ־argv[1] שהוא מחרוזת.

  2. אתחלו פוינטר מסוג char* שמצביע על argv[1].

  3. הדפיסו את התו הראשון, השני והשלישי מהמחרוזת.


בונוס: תרגול מסכם

  1. בקשו מהמשתמש להכניס שם (מחרוזת), גיל (int) ומספר אהוב (int).

  2. הדפיסו משפט:
    "שלום %s, אתה בן %d, והמספר האהוב עליך הוא %d"

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