רוצים שתממש "מיני שורת פקודה":
למעשה רוצים ללמד אותך קצת על קלט, פלט והטיפול בהם, בכך שתכתוב מין מסוף קטן שהמשתמש יכול להריץ דרכו יישומים.
stdin הוא "הקלט הסטנדרטי" - בד"כ זו המקלדת אם כי אפשר "לכוון" לשם גם דברים אחרים.
זה מה ש-scanf, getchar ושאר החברים קוראים ממנו.
stdout - הוא הפלט הסטנדרטי, בד"כ המסך, אבל כמו הקלט יכול להיות גם מקומות אחרים, זה מה ש-printf וחברים כותבים עליו.
stderr הוא כמו stdout אבל לשם אמורים להדפיס טקסט של הודעות שגיאה.
בד"כ stdout ו-stderr מופנים שניהם למסך כך שלא רואים בעין הבדל בניהם, אבל בהחלט ניתן לבצע הפרדה כדי לסנן פלט ענייני של תוכנית ושגיאות.
במערכות linux ודומות כל אלה הם למעשה קבצים (לא קבצים אמתיים על דיסק) כי המערכת מתייחסת לכל דבר כקובץ, ולכן ניתן להשתמש עליהם בפונקציות שעובדות עם קבצים, כמו למשל fprintf או fscanf.