Professional Documents
Culture Documents
Лекція №6
Лекція №6
Лекція №6
Три способи організації циклів
#include <stdio.h>
int main(void)
{
int x;
for(x=1; x<=100; x++) printf("%d˽", x);
printf(“\n”);
system("PAUSE");
}
Результат: ????????
1 2 3 … 100
Алгоритм виконання оператора for:
1. Спочатку виконується блок ініціалізації.
2. Далі перевіряється виконнання умови.
3. Якщо умова виконується, тобто набуває значення
true, виконується тіло циклу.
4. Після цього відбується зміна значення (значень)
параметра (параметрів) циклу.
5. Якщо ж на деякому кроці виконнаня циклічного
оператора умова не виконується, то відбувається
вихід з оператора циклу, тобто завершення його
виконання, і перехід до виконання наступних після
нього дій.
Приклад 2. Сформулювати умову задачі за наведеним кодом програми.
for(x=100; х!=65; х-=5)
{
z = sqrt(х);
printf("The square root of %d,˽%f", x, z) ;
}
Результат: ???????
Результат у=???????
˽
10
УВАГА! У циклі for перевірка умови виконується на самому початку, а це означає, що тіло цикла
може взагалі не виконатися, якщо початкова умова хибна. Розглянемо оператор,
помічений //*, у таких варіантах: 1) 10
11
2) 10
1) for (у = 10; у==х; ++у) printf ("%d ˽", у); 11
2) for (у = 10; у==х; у++) printf ("%d ˽", у); 3)
3) for (у = 10; у!=х; у++) printf ("%d ˽", у); 10
Зміна значень змінної у у наступних
операторах циклу
if (a=x+y) printf(“%d\n”,x);
else printf(“%d\n”,y);
Що змінилося?
Цикл з передумовою
Загальний вигляд:
while (умова) оператор;
Приклад 7.
char ch;
ch = '\0‘; // ініціалізація ch в значення “порожнє”
while (ch!='A') ch = getchar ();
Загальний вигляд:
do
{
послідовність операторів;
}
while (умова);
Приклад 11.2.
int i=0;
do i++, printf("%i ˽",i); // використано один послідовний оператор
while (i<10);
printf("\n");
Приклад 12.
do
scanf ("%d", &num);
while (num > 100);
char ch;
printf("1. Check Spellirig\n");
printf("2. Correct Spelling Errors\n");
printf("3. Display Spelling Errors\n");
printf(" Enter your choice: ");
do {
ch = getche(); // читання з клавіатури з виведенням у веденого символа
switch(ch)
{
case '1' : check_spelling (); break;
case '2' : correct_errors (); break;
case '3' : display_errors(); break; // обов’язково?
}
}
while(ch=='1' || ch=='2' || ch=='3');