המדריך נכתב במקור על ידי עצמי, ופורסם לראשונה בפורום מתחרה. כל הזכויות שמורות. אין זכות להעתיק ללא רשות הכותב.
---------------------------------------------------------------------------------
מדריך זה מלמד על: מבנה התוכנית בC, פקודות בסיסיות בC, אופרטורים, הפקודה if-else ולבסוף - תוכנית קצרה המחשבת ממוצע של שני ציונים.
מבנה תוכנית:
קוד:
#include<stdio.h>
void main()
{
// כאן נכתב הקוד
}
ניגש להסבר: כל תוכנית בשפת C תתחיל כך, השורה הראשונה קוראת לספרייה של קלט/פלט סטנדרטי. בכל תוכנית שתכתוב תהיה חייב לכלול את הפקודה הזאת לפני תחילת הקוד.
בשורה ה-3 מתחיל קוד הMain. מטרת השורה הזאת היא להכריז על הmain ולתחום אותו (ב-{}).
כל תוכנית בשפת C תתחיל להריץ את הפקודות בmain, ואין דרך לשנות זאת. לכן חייבים לכלול את הפונקציה main בכל תוכנית.
כמה דברים חשובים לפני שמתחילים:
1)כל פקודה בC חייבת להסתיים בתו פסיק-נקודה(
, אי השמת סימן זה לאחר פקודה כלשהי תגרור לשגיאה.
2)כמעט בכל תוכנית שתבנה, תצטרך לכלול משתנים. על משתנה מצהירים כך:
את ההצהרה על משתנים יש לכתוב לפני כל פקודה אחרת בתוכנית.
הערה: סוגי המשתנים והשוני ביניהם יוסברו בהמשך.
פקודות בסיסיות:
כדי לבנות תוכנית בשפת C, עליך לדעת פקודות בסיסיות. להלן 2 פקודות קלט/פלט:
הפקודה printf - הקלדת טקסט למשתמש בתוכנית. לדוגמא הקוד הבא יברך את המשתמש לשלום:
הפקודה scanf - קליטת משתנים מהמשתמש. לדוגמא זהו קוד לקליטת המשתנה X והצגתו:
קוד:
scanf("%d", &x);
printf("%d", x)
אופרטורים בC:
כמו בכל שפת תכנות, גם בC יש אופרטורים. אופרטורים הם פעולות שונות (בד"כ פעולות מתמטיות)
שנעשות על משתנים, האופרטורים בC הם:
א)אופרטורי השוואה:
= - אופרטור ההשמה. בעזרת אופרטור זה נציב ערכים למשתנים.
=! - שונה מ... האופרטור יחזיר ערך אמת אם שני המשתנים שונים אחד מהשני.
== - שווה ל... האופרטור יחזיר ערך אמת אם שני המשתנים שווים זה לזה.
< - גדול מ... האופרטור יחזיר ערך אמת אם המשתנה הראשון גדול מהמשתנה השני.
> - קטן מ... האופרטור יחזיר ערך אמת אם המשתנה הראשון קטן מהמשתנה השני.
=< - גדול שווה ל... האופרטור יחזיר ערך אמת אם המשתנה הראשון גדול או שווה למשתנה השני.
=> - גדול שווה ל... האופרטור יחזיר ערך אמת אם המשתנה הראשון קטן או שווה למשתנה השני.
דוגמאות קוד:
הסבר: מציב לa את הערך 8, עכשיו בעת הצגת משתנה זה הערך יהיה 8.
הסבר: מציב לa את הערך 1 אם B קטן או שווה לC, אחרת מציב לa את הערך 0.
ב)אופרטורים ארימטמטיים:
* - כפל, מבצע פעולות כפל על שני משתנים או יותר.(כופל את המשתנה הראשון בשני)
/ - חילוק, מבצע פעולות חילוק על שני משתנים או יותר(מחלק את המשתנה הראשון בבשני).
+ - חיבור, מבצע פעולות חיבור על שני משתנים או יותר(מחבר את המשתנה הראשון בשני).
- - חיסור, מבצע פעולות חיסור על שני משתנים או יותר(מחסיר את המשתנה השני מהראשון).
% - מודולו, מחזיר את השארית של החלוקה ל10 (מחזיר את השארית מתוצאת החלוקה של 2 משתנים)
דוגמאות קוד:
מציב למשתנה a את המכפלה של b בc.
קוד:
int substruction=a/b;
int leftover=a%b
מציב במשתנה substruction את תוצאת החילוק (מנה) של המשתנה a במשתנה b,
מציב במשתנה leftover את השארית של המשתנה a במשתנה b.
ג)אופרטורים לוגיים:
&& - מחזיר ערך אמת אם שני הביטויים שבצדדיו נכונים (שקול למשפט: גם X וגם Y)
|| - מחזיר ערך אמת אם אחד (או שתיים) מהביטויים שבצדדיו נכונים (שקול למשפט: או X או Y או שניהם)
XOR - מחזיר ערך אמת רק אם אחד מהביטויים שבצדדיו נכונים ((שקול למשפט: או X או Y)
דוגמאות קוד:
מציב לa את הערך 1 אם b גדול מ2 או אם c שווה ל3 או שגם וגם. אחרת מוצב בa הערך 0.
קוד:
int a=(b>2 XOR c=3);
מציב לa את הערך 1 אם b גדול מ2 או אם c שווה ל3. אחרת מוצב בa הערך 0.
הפקודה if:
הפקודה if-else בודקת אם תנאי מסויים הוא נכון. אם התנאי נכון הפקודות שאחרי הif יתבצעו
אם לא, הפקודות שאחרי הelse יתבצעו.
דוגמא:
קוד:
int a=8;
if(a<25) a=0
else a=20
הפקודה בודקת אם המשתנה a קטן מ25, אם זה נכון (וזה אכן נכון), יוצב למשתנה a הערך 0,
אחרת, יוצב למשתנה a הערך 20.
כדי ליישם את מה שלמדת במדריך זה, נבנה תוכנית קצרה, שמטרתה לקלוט 2 ציונים ולכתוב למשתמש
את הממוצע שלהם.
קוד:
#include<stdio.h>
void main()
{
int test1,test2, average;
Start:
printf("enter 2 marks\n");
scanf("%d", &test1);
scanf("%d", &test2);
if( (test1>100 || test1<0) || (test2>100 || test2<0) )
{
printf("Marks can move bitween 0 to 100... Enter your marks again: \n");
goto Start;
}
else
{
average=(test1+test2)/2;
printf("The average of your marks is %d", average;
}
}
הקוד הנ"ל לא יוסבר על מנת שהקורא ייישם את המדריך. אם לא הבנתם את הקוד, קראו שוב את המדריך או צרו קשר.