פירוט שפת תכנות - {} (סוגריים מסולסלים)

פורום זה מכיל תרגום לעברית של מדריכים, דוגמאות קוד, פירוט שפת תכנות לכרטיסי Arduino וחומרים לימודיים אחרים מהאתר arduino.cc

פירוט שפת תכנות - {} (סוגריים מסולסלים)

הודעהעל ידי Alex » א' ספטמבר 14, 2014 8:06 pm

סוגריים מסולסלים { } הם חלק חשוב מאד בשפת התכנות C. משתמשים בהם בכמה מבנים שונים, כפי שיתואר בהמשך, ולפעמים זה יכול לבלבל את המתחילים.
הסוגריים המסולסלים תמיד מגיעים בזוגות, אם יש סוגר הפותח "}" אחריו חייב להופיע הסוגר הסוגר "{". תנאי זה בדרך כלל מכונה כאיזון של סוגריים מסולסלים. סביבת פיתוח Arduino כוללת תכונה נוחה של בדיקת האיזון של סוגריים מסולסלים. פשוט תבחרו סוגר או שתשימו את הסמן מיד אחריו והבן זוג שלו יודגש בעורך של הסביבה.
כרגע יש בעיה עם התכונה הזו בסביבת הפיתוח מכיוון שהיא תסמן את הסוגר (בצורה הלא נכונה) גם אם הוא חלק מקוד שנמצא בהערות.
מתכנתים מתחילים וכאלה שמגיעים לתכנת ב-C משפות אחרות, כמו BASIC בדרך כלל מוצאים את השימוש בסוגריים מסולסלים כמשהו מבלבל או מפחיד. בסופו של דבר הסוגריים האלה מחליפים את השימוש ב-"End Function" בסוף כל פונקציה, את ה-ENDIF בכל בדיקת תנאי ואת ה-NEXT בכל לולאת FOR.
מכיוון ששימוש בסוגריים מסולסלים כל כך מגוון, המלצה היא לכתוב את שני הסוגריים, להוסיף כמה שרות חדשות ביניהם ואז ולהכניס את התוכן לתוכם. כך יהיה קל יותר לשמור על האיזון בין הסוגריים.
כשיש חוסר איזון בסוגריים אתם בדרך כלל תראו הודאות שגיאת הידור מבלבלות, קשות לפענוח ולרוב וקשות להבנה בתוכניות ארוכות. בגלל השימוש הנרחב בסוגריים המסולסלים במקומות שונים בקוד, יש חשיבות גדולה למיקומם ולמבנה התוכנית, הזזה של הסוגר שורה או שתיים לאיזה שהוא כיוון יכול לשנות את משמעות התוכניות בצורה דרמטית.

שימושים עיקריים של הסוגריים המסולסלים
פונקציות
קוד: בחר הכל
  void myfunction(datatype argument){
    statements(s)
  }


לולאות
קוד: בחר הכל
  while (boolean expression)
  {
     statement(s)
  }

  do
  {
     statement(s)
  } while (boolean expression);

  for (initialisation; termination condition; incrementing expr)
  {
     statement(s)
  }


התניות
קוד: בחר הכל
  if (boolean expression)
  {
     statement(s)
  }

  else if (boolean expression)
  {
     statement(s)
  }
  else
  {
     statement(s)
  }



ראו גם:
פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של {} Curly Braces לפי רישיון Creative Commons Attribution-ShareAlike 3.0.
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
סמל אישי של המשתמש
Alex
מנהל האתר
 
הודעות: 7890
הצטרף: ה' ינואר 28, 2010 8:27 pm

חזור אל תרגום מדריכים מהאתר arduino.cc

Jump box

מי מחובר

משתמשים הגולשים בפורום זה: CCBot [Bot]