× מי אנחנו? התוכנית הראשונה משתנים קלט ופלט אופרטורים חשבוניים משפטי בקרה לולאות לולאות דו ממדיות casting sizeof typedef פונקציות רקורסיות מצביעים מצביע כפול מערכים מערכים דינאמיים מערכים דו ממדים מחרוזות חיפוש בינארי מיון בועות מיון בחירה מיון הכנסה מיון מהיר מיון מיזוג

Let's learn C

לולאות

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

סוגי לולאות:






חותמת הלולאות תיראה כך:


חותמת של for:

CODE 1:
#include <stdio.h>
void main()
{
  //for decleration
  int i;
  for (i = 0; i < number; i++)
  {
    // code
  }
}    
        

חותמת של while:

CODE 2:
#include <stdio.h>
void main()
{
  //while decleration
  while (something)
  {
    // code
  }
}    
        

חותמת של do-while:

CODE 3:
#include <stdio.h>
void main()
{
  //do-while decleration
  do
  {
    // code
  } while (something);
}    
        

דוגמה ללולאת for:

במקום לרשום:

CODE 4:
#include <stdio.h>
void main()
{
  printf("1\n");
  printf("2\n");
  printf("3\n");
  printf("4\n");
  printf("5\n");
}    
            

נוכל לרשום:
אם נסתכל על שורת הקוד השנייה נוכל לראות שלושה דברים:

  1. תנאי התחלה (i=0): מראה לנו מאיפה להתחיל את הספירה.
  2. תנאי עצירה (i < 5): מראה לנו מתי עלינו לעצור.
  3. מהו השינוי (i++): מראה לנו שבכל סיבוב של הלולאה (איטרציה) אנו מגדילים את המשתנה i באחד בדיוק.

CODE 5:
#include <stdio.h>
void main()
{  
  int i;
  for(i=0 ; i < 5 ;i++)
  {
    printf("%d\n", i);
  }
}

דוגמה ללולאת while:

פה אנו מגדירים משתנה בשם flag ו counter והלולאה תיעצר רק אם counter יהיה גדול או שווה ל10 וזאת משום שflag ישתנה ל0 ולולאת הwhile שלנו תפסיק להתקיים.

CODE 6:
#include <stdio.h>
void main()
{  
  int flag = 1 , counter = 0;
  while (flag != 0)
  {
    if(10 <= counter)
    {
      flag = 0;
    }
    else
    {
      counter++;
    }
  }
}

דוגמה ללולאת do-while:

פה אנו מגדירים שני משתנים number, sum.
המחשב יקלוט מספרים עד שאנו נכניס לו את המספר 0.
כלומר, הלולאה תעצר רק כשאשר נכניס לו את המספר 0.
ולאחר שאנו נכניס את הערך 0 המחשב ידפיס את הסכום.
*אין צורך לתת ערך התחלתי למשתנה number כי הלולאה תרוץ פעם אחת לפחות.

CODE 7:
#include <stdio.h>
void main()
{  
  int number ,sum = 0;
  do 
  {
    printf("Please enter number (enter 0 to stop)\n");
    //for visual studio 2017 or above use scanf_s
    scanf("%d",&number);
    sum += number;
  } while (number != 0);
  printf("the sum is : %d",sum);
}