לדלג לתוכן

3.2 - הבסיס - תרגול

תרגול 1 - פונקציית main והחזרת ערך

  1. כתבו תוכנית בסיסית עם main שמחזירה את הערך 0.

  2. שנו את הערך המוחזר ל--1, קמפלו והריצו. מה ההבדל?

  3. הוסיפו פרמטרים לפונקציה main והדפיסו את כמות הארגומנטים (argc) בעזרת printf.
    ניתן להוסיף ארגומנטים לתוכנה באמצעות הרצתה בטרמינל, ממש כך:

    ./my_program this is an arguments! 
    

    במקרה הזה argc יהיה 5 (מחשיבים גם את שם התוכנה כארגומנט)

תרגול 2 - הגדרת משתנים והצבת ערכים

  1. צרו משתנים מסוגים שונים: int, char, short, float, double.

  2. אתחלו אותם לערכים שונים (כולל true, 'A', "hello", ו-0xFA).

  3. הדפיסו כל משתנה עם printf בהתאם לסוגו.

תרגול 3 - פעולות מתמטיות

  1. בצעו פעולות חיבור, חיסור, כפל וחילוק עם משתני int ו-float.

  2. הדפיסו את התוצאה של כל פעולה.

  3. מה קורה אם מבצעים חילוק של שני מספרים שלמים ומאחסנים את התוצאה ב-float?

תרגול 4 - פעולות ++ ו---

  1. אתחלו משתנה int a = 5.

  2. צרו משתנה b = a++ והדפיסו את a ו-b.

  3. צרו משתנה c = ++a והדפיסו את a ו-c.

תרגול 5 - פעולות לוגיות ובינאריות

  1. אתחלו שני משתני char בביטים (0b10101010, 0b11110000).

  2. בצעו עליהם פעולות &, |, ^, ! והדפיסו את התוצאות בהקס (%x).

תרגול 6 - מחרוזות וכתובות

  1. צרו מחרוזת: char* msg = "hello world";

  2. הדפיסו את המחרוזת ואת הכתובת שלה עם %s ו-%p.

  3. אתחלו משתנה char ב-'a' והדפיסו אותו ואת ערך ה-ASCII שלו.

תרגול 7 - שילוב הדפסות

  1. צרו 3 משתנים: שם, גיל, ו-עיר.
  2. הדפיסו משפט כמו:
    "שלום, קוראים לי X, אני גר ב-Y ואני בן Z"
    באמצעות printf אחד בלבד.
  3. הסתכלו על הקוד אסמבלי של התוכנה, והסבירו אותו.