הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תכנות - מדריכים, code snippets (https://hosts.co.il/forums/forumdisplay.php?f=68)
-   -   [מדריך] C - מדריך למתחיל בשפת C. (https://hosts.co.il/forums/showthread.php?t=14941)

meshuga 03-02-06 23:19

[מדריך] C - מדריך למתחיל בשפת C.
 
או קי, בואו נתחיל, להתחלה בואו נהביר כי C היא לא שפת אינטרנט ובשביל להריץ אותה דרוש קומפיילר (compiler שזאת תוכנה ש"מתרגמת" למחשב את מה שכתבת בשפה, יש קומפיילר לכל שפת תיכנות).
חיפשתי ופישפשתי בגוגל בשביל להשיג לכם קומפיילר ומצאתי בבקשה:
http://community.borland.com/article...51/tcpp101.zip

תחלצו את הקבצים לתקיה ותפעילו את קובץ install, הוא ישאל אותכם איפה להתקין וכו'..לא להיבהל מכמה ישן שזה, ככה זה.
אוקי, אם התקנתם רגיל זה אמור להיות בתקיית TC->BIN->TC.EXE
או קי, אפשר להתחיל, file->new או קי, זאת הסביבת עבודה שלכם, המסך הכחול הזה.
נתחיל,
הקוד הראשון שנכתוב הוא כמובן "Hello World" המפורסם.
והוא נראה ככה בC:
קוד:

#include <stdio.h>
void main(){
printf("Hello World");
}

הרצה:
run->run או (ctrl+f9)
אם תהיה שגיאה זה לא יריץ ויפרט על השגיאה.

עכשיו נפרק את הקוד לפי שורות
1.יבוא ספריית פונקציות הכתיבה, יש המון ספריות לכל מני פונקציות..בספריות הללו נכתבו פונקציות הבסיס של שפת C וכאשר אנחנו מצרפים את
הספריה המתאימה לאותה פונקציה (יש מספר פונקציות בספריה אחת) אפשר להשתמש בפונקציה, ללא הספריה הקומפיילר "לא יכיר" את הפונקציה.
2.תחילת התוכנית.
3.הדפסת "Hello World" באמצעות פונקציית printf.
4.סיום התוכנית.

הערות:
כל פקודה בC מסתיימת ב;.
כל פונקציה בC נכתבת באותיות קטנות.
אתם לא תראו את הפלט בקומפיילר מכיוון שהוא ישר יצא לאחר הפלט כי אין פונקציה שתעצור אותו, מי שרוצה "להעז"
מוזמן לכתוב מתחת ל
קוד:

#include <stdio.h>
את זה:
קוד:

#include <conio.h>
ולפני סוף התוכנית (לפני {) את זה:
קוד:

getch();
על הפונקציה הזאת לא נלמד אבל, מותר להשתמש כדי לראות "מה עושים".



פקודת הprintf:
משמשת אותנו לפליטת תווים למסך (בהמשך נלמד איך לשים משתנים בפנים), היא מתחילה בגרשיים ומסתיימת בגרשיים(שנמצאים בתוך הסוגריים).

הצהרת משתנים:
כמו בכל שפה, יש שימוש במשתנים, אבל בC לא כמו בשפות הנפוצות בפורום הזה (PHP,ASP) יש הפרדה בין מספר שלם,תו,מספר לא שלם.
נתחיל במספר כי הוא הכי קל.
נעשה קוד שאומר "Hello World Number 2" בעזרת משתנה.
קוד:

#include <stdio.h>
void main(){
int Num;
Num=2;
printf("Hello World %d",Num);
}

או קי, לפי שורות
1.יבוא ספריית פונקציות הכתיבה, יש המון ספריות לכל מני פונקציות..
2.תחילת התוכנית.
3.הצהרת משתנה מסוג מספר שלם (נפרט על כך בהמשך) בשם Num
4.הכנסת ערך 2 (מספר, לא תו).
5.הדפסה "Hello World Number 2".
6.סיום התוכניות.

או קי.
עכשיו נדבר על משתנים ונחזור לקוד עוד מעט.
במשתנים יש רגישות על אותיות קטנות וגדולות מה שאומר שNum לא שווה לnum.
סוגי המשתנים (העיקריים):
int - משתנה מסוג שלם, כלומר, אי אפשר לשים בו 1.5 אבל במשתנה הזה גם יש הגבלה מספרית שהטווח שלה הוא:
(מינוס)32768 ל-32767
כדי להדפיס את משתנה זה בהדפסה צריך להשתמש ב%d.
float - משתנה מסוג לא שלם הטווח מאוד גבוה, אז אין טעם כ"כ לדבר עליו.
כדי להדפיס את המשתנה הזה צריך להשתמש ב%f.
char - משתנה מסוג תו (אחד), מקבל את הערך הASCI של התוו (כלומר, מקבל את ה"מספר הסידורי" של כל תו) כל עוד הוא לא הוגדר אחרת. הכנסת הערך מתבצעת בעזרת גרשיים (לדוגמא:'c') או ערך מספרי (ASCI).
הדפסה עם משתנים:
גם, מתבצעת עם פונקציית printf אבל עם קצת "שינויים".
השלב הראשון זה לדעת מאיזה סוג המשתנה שאתה רוצה להדפיס (במקרה שלנו מסוג מספר שלם) אז במקרה הזה נשתמש ב%d.
השלב השני שהוא אחרי סגירת הסוגריים צריך להגדיר איזה משתנה זה אז עושים עם פסיק( "," (ללא הגרשיים)) ואחרי את המשתנה (כמו שנראה בקוד הנ"ל).
כך שזה נראה ככה:
קוד:

printf("Hello World %d",Num);
מי מה ואיך:
משתנה מסוג מספר שלם (int) נכתב עם %d
משתנה מסוג מספר לא שלם (float) נכתב עם %f (מודפס עם 6 אפסים אחרי הנקודה, נלמד לבטל את זה מאוחר יותר במדריך אחר)
משתנה מסוג תו (char) נכתב עם %c

טוב, אני חושב שמספיק להיום, במדריך הבא:
פעולות חשבון בC
לולאות
קליטת נתונים


טוב, השעה לא מאוחרת אבל אני די עייף הערות הארות יתקבלו בברכה ועם הזמן אני ישכתב אותו בהתאם לתגובות שלכם.
יום טוב.(לילה טוב יותר נכון)


אגב, ילדי כיתות ט' שפה...אם אתם לוקחים שנה הבאה מדעי המחשב..תתחילו להתרגל לקומפיילר ;)

somebody 03-02-06 23:25

חח אתה מלמד כמו בסדר שמלמדים בבצפר ;)
יפה יפה!

גם אותכם לא למדו על string?
כאילו לא משתמשים במסוג הזה משומה|:

meshuga 03-02-06 23:28

ציטוט:

נכתב במקור על ידי somebody
חח אתה מלמד כמו בסדר שמלמדים בבצפר ;)
יפה יפה!

גם אותכם לא למדו על string?
כאילו לא משתמשים במסוג הזה משומה|:

זה שלא לימדו זה לא אומר שאני לא יודע ;)
סתם, אממ..אני יודע קצת....פה ושם מערכים פה ושם גראפיקה וכו'....
כל מני...וזה כ"כ שונה מPHP שזה מצייייקקקק......
ד"א
צרף אותי למסנג'ר (מופיע בדף צור קשר בפורום מנהלים).

Dima 04-02-06 00:02

זה רק אני? או שכשמתקינים את המהדר אין קובץ הרצה בכלל?

meshuga 04-02-06 00:04

ציטוט:

נכתב במקור על ידי Dima
זה רק אני? או שכשמתקינים את המהדר אין קובץ הרצה בכלל?

bin->tc.exe
צודק, שכחתי להזכיר שזה לא בתקיה הראשית של הקומפיילר.

Dima 04-02-06 00:06

ציטוט:

נכתב במקור על ידי meshuga
bin->tc
צודק, שכחתי להזכיר שזה לא בתקיה הראשית של הקומפיילר.


ככה יותר טוב :)

עריכה: כל הקודים שעשית עכשיו, שגויים, המהדר פשוט לא מקבל אותם.

Deagly 04-02-06 00:18

מדריך נחמד למתחילים
הנה אתר גם מומלץ ללמוד ממנו- http://clang.eitan.ac.il
ובמדריך שרשמת שחכת ב include לעשות לפני זה #
כלומר:
קוד:

#include <stdio.h>
#include <conio.h>

וכו'.. :)

meshuga 04-02-06 00:19

ציטוט:

נכתב במקור על ידי Deagly
מדריך נחמד למתחילים
הנה אתר גם מומלץ ללמוד ממנו- http://clang.eitan.ac.il
ובמדריך שרשמת שחכת ב include לעשות לפני זה #
כלומר:
קוד:

#include <stdio.h>
#include <conio.h>

וכו'.. :)

טעות קריטית מצידי!!!......אני לא מאמין ששכחתי....
תודה רבה רבה על התיקון!

bestdesign 04-02-06 09:57

מדריך מצוין.

אני ממליץ לך גם ללמד קלט scanf קצת לולאות for ו while ואופרטורים, כי אלו הבסייסיים באמת.

יישר כוח.

iBain 04-02-06 10:49

אני אלמד D:

אז ככה

מדריכון פשוט שקולט מהמשתמש מידע ואחר כך אתם יכולים להשתמש בו כרצונכם,


מגדירים לדוגמא משתנה מסוג INT שנקרא I
עושה ככה
PHP קוד:

int i

** INT הוא למספרים שלמים שבין 32 אלף ל -32 אלף אם אני זוכר טוב,
את האופרטורים משוגע כתב לכם כבר ,

אז ככה עכשיו שואלים את המשתמש מה הוא מעונין להקליד לדוגמא:
PHP קוד:

printf("please enter a number"); 

יפה? עכשיו הוא יציג לכם " PLEASE ENTER A NUMBER "

עכשיו כדי לקלוט את המידע את צריכים לעשות

PHP קוד:

scanf("%d",&i); 

ועכשיו כדי להציג את המידע שנקלט והוכנס למשתנה I עושים ככה:

PHP קוד:

printf("you enter %d",i); 


meshuga 04-02-06 13:13

ציטוט:

נכתב במקור על ידי some1
אני אלמד D:

אז ככה

מדריכון פשוט שקולט מהמשתמש מידע ואחר כך אתם יכולים להשתמש בו כרצונכם,


מגדירים לדוגמא משתנה מסוג INT שנקרא I
עושה ככה
PHP קוד:

int i

** INT הוא למספרים שלמים שבין 32 אלף ל -32 אלף אם אני זוכר טוב,
את האופרטורים משוגע כתב לכם כבר ,

אז ככה עכשיו שואלים את המשתמש מה הוא מעונין להקליד לדוגמא:
PHP קוד:

printf("please enter a number"); 

יפה? עכשיו הוא יציג לכם " PLEASE ENTER A NUMBER "

עכשיו כדי לקלוט את המידע את צריכים לעשות

PHP קוד:

scanf("%d",&i); 

ועכשיו כדי להציג את המידע שנקלט והוכנס למשתנה I עושים ככה:

PHP קוד:

printf("you enter %d",i); 


אתה מוזמן לפתוח אשכול חדש עם המדריך (אבל יותר מתומצת....אין בוא כמעט כלום..:\) , אין טעם לשים אותו פה.
ד"א
חבר'ה זה מדריך אחד מתוך סדרה, תקראו קצת בעיון תסתכלו שהולכים להיות עוד כמה.

x-ray 04-02-06 13:20

יפה מאוד.. :)

ולמי ששאל,דווקא כן משתמשים בסטרינג....בבגרות היה לי תרגיל שאחת האפשרויות לפתרון (היעילה יותר) הייתה עם סטרינג..

matan 04-02-06 15:03

לא מצליח להתקין את הקומפיילר :(
מופיעה השגיאה הנ"ל
ציטוט:

קובץ המערכת אינו מתאים להפעלת ישומים של MS-DOS ושל Microsoft Windows
לחץ על סגור כדי לסיים את פעולת היישום
יש אולי קומפיילר אחר?

meshuga 04-02-06 15:09

ציטוט:

נכתב במקור על ידי matan
לא מצליח להתקין את הקומפיילר :(
מופיעה השגיאה הנ"ל

יש אולי קומפיילר אחר?

אממ..יש אבל צריך למצוא.....
תנסה להפעיל את הקובץ ככה (מקש ימני של העכבר על הקובץ):
מאפיינים -> תאימות -> "הפעל תוכניות זאת במצב תאימות עבור:" -> windows 95
ותלחץ אישור.

אם זה לא יצליח אני יחפש עוד קומפיילר.

ViPeRt 04-02-06 15:14

מדריך נחמד.
אבל יש עוד הרבה ללמד |קורץ|

meshuga 04-02-06 15:16

ציטוט:

נכתב במקור על ידי ViPeRt
מדריך נחמד.
אבל יש עוד הרבה ללמד |קורץ|

כמובן, זה היה "טעימה" יהיו עוד מדריכים בהמשך...שאני ימצא את הזמן..

matan 04-02-06 15:18

ציטוט:

נכתב במקור על ידי meshuga
אממ..יש אבל צריך למצוא.....
תנסה להפעיל את הקובץ ככה (מקש ימני של העכבר על הקובץ):
מאפיינים -> תאימות -> "הפעל תוכניות זאת במצב תאימות עבור:" -> windows 95
ותלחץ אישור.

אם זה לא יצליח אני יחפש עוד קומפיילר.

ניסיתי,לא עזר :(

Reality 10-09-06 23:55

מה לא בסדר פה? ם.0

ציטוט:

#include <stdio.h>
void main()
{
int i;
printf("Please Enter A Number");
scanf("%d",&i);
printf("you entered %d",i);
}

RS324 11-09-06 02:05

ציטוט:

נכתב במקור על ידי Reality
מה לא בסדר פה? ם.0

סתם מהסתכלות (אני לא מבין ב C) אבל נראה לי שאתה צריך גם להוסיף

PHP קוד:

#include <conio.h> 

אחרי ה סטיו

meshuga 11-09-06 05:55

ציטוט:

נכתב במקור על ידי RS324
סתם מהסתכלות (אני לא מבין ב C) אבל נראה לי שאתה צריך גם להוסיף

PHP קוד:

#include <conio.h> 

אחרי ה סטיו

הוא לא צריך כי הוא לא משתמש בשום פונקציה מהספריה הזאת.

למי ששאל, חבוב, הבאת פה חתיכת הקפצה, המדריך ננעל, אתה מוזמן לפתוח אשכול.


כל הזמנים הם GMT +2. הזמן כעת הוא 17:27.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ