Newest Viewed Downloaded

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

מבוא למדעי המחשב שפת c – סיכום דוא"ל: keren@eli-wigs.com

הערות

במצגת זו יש סיכום של חלק מהחומר הנלמד. חומר שנלמד בשיעור ו/או בתרגולים ולא מופיע במצגת זו, יכול להופיע בבחינה.

משתנים

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

פעולות אריתמטיות

הפעולות הבסיסיות המוגדרות בשפה: + חיבור – חיסור * כפל / חילוק % מודולו =שארית החלוקה. תוצאת החילוק של שני מספרים שלמים היא מספר שלם. אם נרצה שתוצאה זו תהיה מספר שלם, עלינו לבצע הסבה (המרה). דוגמאות: 10%3=1 10/3=3 (double)10/3=3.33333 20%4=0 20/7=2

if

מבנה: if (תנאי) { פקודה1; פקודה2; . . . { כל הפקודות בין הסוגריים המסולסלים יתבצעו רק אם התנאי הלוגי מתקיים (אם הוא אמת). אם ישנה פקודה אחת שצריכה להתבצע ולא רצף פקודות, אין צורך בסוגריים מסולסלים. אם נכתוב בנוסף: else { פקודה1; פקודה2; . . . { הפקודות בסוגריים המסולסלים אחרי ה else יתבצעו רק אם התנאי הלוגי הנ"ל לא מתקיים (אם הוא שקר)

if (תנאי) פקודה1; פקודה2; פקודה1 תתבצע רק אם ערך התנאי הנבדק הוא אמת. פקודה2 תתבצע בכל מקרה, אין לה קשר לפקודת ה-if.

לולאות

הפקודות יתבצעו כל עוד התנאי הלוגי מתקיים הפקודות יתבצעו פעם אחת בכל מקרה, ולאחר מכן ימשיכו להתבצע כל עוד התנאי הלוגי מתקיים. while (תנאי) { פקודות } do { פקודות }while (תנאי);

for(אתחול מונה;תנאי;ביטוי אריתמטי לשינוי ערך המונה) { פקודות {

פונקציות

טיפוס_הערך_המוחזר שם_הפונקציה (משתנים וטיפוסיהם) { גוף הפונקציה { לא ניתן לכתוב פונקציה בתוך פונקציה אחרת. פונקציה יכולה לקורא רק לפונקציות שהוגדרו לפניה. המשתנים שמוגדרים בכותרת הפונקציה מקבלים את ערכיהם הראשוניים מהפונקציה הקוראת. הפקודה return מחזירה ערך לפונקציה הקוראת ומסיימת את הפונקציה הנוכחית. ברגע שהתבצעה פקודת return הפונקציה מסתיימת ושאר הפקודות בפונקציה לא יתבצעו.

מערכים

הצהרה על מערך: טיפוס שם_המערך[גודל]; האינדקסים של מערך בעל n איברים, ממוספרים מ 0 עד n-1. דוגמה: הצהרה על מערך בשם array בעל 10 אברים מטיפוס שלם, וקליטת ערכים לתוכו בלולאה: int array[10],i; for (i=0;i<10;i++) scanf (“%d”,&array[i]); העברת המערך array לפונקציה בשם func: func(array); ההעברה היא ללא סוגריים מרובעים וללא ציון הגודל. כאשר func מוגדרת למשל באופן הבא: void func(int a[])

ניתן להעביר את גודל המערך כמשתנה נוסף: func(array,10); ואז הפונקציה יכולה להיות מוגדרת באופן הבא: void func(int a[],int size)

מחרוזות

הצהרה: char שם_המחרוזת[גודל]; ניתן להתייחס למחרוזת כאל מערך של תווים, לכן ניתן לקלוט מחרוזת באמצעות לולאה (בכל פעם נקלוט תו אחד). דרך נוספת לקליטת מחרוזת: scanf(“%s”,שם_המחרוזת); שימו לב, לא השתמשנו בתו &. הבעיה: קליטת התווים תיפסק כשנגיע לתו רווח. התו האחרון במחרוזת תמיד יהיה '0\'. כשמאתחלים מחרוזת או כשקולטים אותה מהמשתמש, תו זה מתווסף אוטומטית לסוף המחרוזת. אך אם התכנית יצרה לבד את המחרוזת, חובה להוסיף את התו '0\' כתו אחרון.

מבנים

טיפוס הגדרת מבנה: struct שם_המבנה { טיפוס1 שם_משתנה1; טיפוס2 שם_משתנה2; . . . { כעת ישנו טיפוס חדש: שם_המבנה struct הצהרה על משתנה מטיפוס זה: שם_משתנה שם_המבנה struct פנייה למשתנה שמוגדר בתוך המבנה: שם_משתנה.שם_המבנה

מצביעים

מצביע הוא משתנה שמכיל כתובת זיכרון. הצהרה על מצביע: שם_המצביע* טיפוס למשל: int *ptr; ptr הוא מצביע שיוכל להכיל כתובת של משתנה מטיפוס int. שם_משתנה& = כתובת הזיכרון של המשתנה. למשל: x& = הכתובת של x. לאחר ההצהרה על מצביע ניתן לתת לו ערך – כתובת זיכרון. ptr=&x; הערך של המצביע ptr הוא כתובת הזיכרון של המשתנה x. או במילים אחרות ptr מצביע על x.

שם_מצביע* = המשתנה עליו מצביעים. בדוגמה הקודמת ptr הצביע על x,כלומר x= *ptr. ולכן הפקודות הבאות שקולות: x=5; *ptr=5; על מנת לשנות את ערכי המשתנים של הפונקציה הקוראת, נעביר לפונקציה את כתובות המשתנים ולא את ערכיהם. שם המערך הוא מצביע לאיבר הראשון במערך. למשל: char a[5]; a הוא מצביע, ערכו הוא הכתובת של a[0].

הקצאת זיכרון דינאמית

על מנת להקצות זיכרון במהלך ריצת התכנית (למשל, כשגודל המערך לא ידוע מראש) נשתמש בפונקציה malloc המוגדרת בספרייה stdlib.h (*טיפוס)=מצביעmalloc*מספר_המשתנים)sizeof(((טיפוס; לאחר ההקצאה נבדוק אם היא הסתיימה בהצלחה: if (מצביע==NULL) … ניתן להתייחס למצביע כאל מערך. כשנסיים את השימוש במצביע נשחרר אותו: free(מצביע);

תיקון ממצגת מספר 11, עמוד 3

200 201 202 203 206 205 204 207 c num 200 201 202 203 206 205 204 207 c num

Showing 1 - 17 of 17 items Details

Name: 
sikum
Author: 
Amir Cohen
Company: 
ELI-WIGS
Description: 
משתניםהצהרה: ; שם_משתנה טיפוס שם משתנה יתחיל באות או קו תחתון בלבד, ויכול להכיל גם מספרים. יש לבחור שמות בעלי משמעות. משתנים לא מותחלים הם בעלי ערך חסר משמעות שנקרא "זבל", ולכן יש לשים לב לאתחול משתנים בעת הצורך. ניתן להצהיר על משתנים רק בתחילת בלוק פקודות. שפת c מבחינה בין אותיות קטנות לגדולות. למשל, המשתנה sum והמשתנה Sum הם שני משתנים שונים.
Tags: 
מצביע | הוא | ptr | טיפוס | משתנה | ניתן | הפונקציה | למשל
Created: 
1/20/2007 9:14:21 AM
Slides: 
17
Views: 
0
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap