תרגיל 0: Hello World
סדנה בתכנות C ו-C++ (67315) — תרגיל C מספר 0 — HUJI
נושאים: מבוא לשפת C, קומפילציה, פונקציית main, קלט/פלט סטנדרטי.
1. סקירה כללית
זהו התרגיל הפותח של הקורס. המטרה היא לוודא שסביבת הפיתוח שלכם מוגדרת כראוי ושאתם יכולים לכתוב, לקמפל ולהריץ תוכנית C בסיסית.
תכתבו תוכנית פשוטה שמדפיסה פלט למסוף באמצעות printf.
2. מושגי מפתח
2.1 פונקציית main
כל תוכנית C מתחילה את הריצה מפונקציית main. היא חייבת להחזיר מספר שלם -- על פי המוסכמה, 0 (או EXIT_SUCCESS) מציין ריצה מוצלחת:
int main() {
// הקוד שלכם כאן
return 0;
}
2.2 הכללת כותרות (Headers)
כדי להשתמש בפונקציות קלט/פלט סטנדרטיות כמו printf, יש לכלול את הכותרת המתאימה:
#include <stdio.h>
2.3 הדפסת פלט עם printf
הפונקציה printf מדפיסה פלט מעוצב למסוף. היא משתמשת במציינים (format specifiers) לשליטה באופן ההצגה:
| מציין | טיפוס |
|---|---|
%d | int |
%ld | long |
%f | float / double |
%s | מחרוזת (char*) |
%c | char |
דוגמה:
printf("Hello, World!\n");
printf("%d\n", 42);
printf("%ld\n", (long) 1 / 10);
2.4 קומפילציה
קמפלו את התוכנית באמצעות gcc:
gcc -Wall -Wextra -Wvla -std=c99 hello_world.c -o hello_world
הסבר דגלים:
-Wall-- הפעלת רוב האזהרות הנפוצות-Wextra-- הפעלת אזהרות נוספות-Wvla-- אזהרה על מערכים באורך משתנה-std=c99-- שימוש בתקן C99
לאחר מכן הריצו את התוכנית המקומפלת:
./hello_world
3. מבנה קבצים
hello_world.c
קובץ מקור יחיד המכיל את פונקציית main:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
4. נקודות חשובות
- הקפידו להחזיר
0מ-main-- זה מסמן למערכת ההפעלה שהריצה הצליחה - תמיד כללו
<stdio.h>כשמשתמשים ב-printf - קמפלו עם כל דגלי האזהרה -- תקנו כל אזהרה לפני ההגשה
- ה-
\nבסוף פלטprintfמבטיח שורה חדשה אחרי הטקסט
תרגיל זה מבסס את זרימת העבודה שתשמש אתכם לאורך כל הקורס: כתיבת קוד, קומפילציה עם דגלי אזהרה מחמירים, והרצה. התרגלו למחזור הזה מוקדם ככל האפשר.