Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PR_СП_лабы_11.doc
Скачиваний:
7
Добавлен:
22.04.2019
Размер:
755.71 Кб
Скачать

4. Приклад програми

Приклад програми, що виводить на екран привітання:

# include <stdio.h>

int main (void)

{printf ("Hello, World! \ N");

return 0;}

5. Основні керуючі конструкції мови с

Умовний оператор if ...else.

if (умова)

оператор1

else

оператор2

Якщо умова істинна, то виконуватися перший оператор, інакше другий. Якщо в умові відпрацьовують кілька операторів, то вони поміщаються фігурні дужки. Друга частина (else) може опускатися якщо нам не потрібно обробляти помилкове умова. Допускається вкладення умовних операторів. При порівнянні на рівність необхідно пам'ятати, що a = b пишеться як a == b (подвійне одно, інакше ми отримаємо прісваеніе, тобто a приклад значення рівне b). Інші операції порівняння: більше (>), менше (<), не дорівнює (!=), логічна операція І (&&), логічна операція АБО (||).

Приклад (оператор - пошук мінімального з двох чисел)

printf ("Мінімальна зі значень% i і% i одно", a, b);

int a = 1;

int b = 2;

if (a <b)

printf ("% d ", a);

else

printf ("% d ", b);

if (a == b)

printf (" (обидва числа однакові) ");

printf (" \ n ");

Ітераційний цикл - цикл керований лічильником.

for (ініціалізація; умова; операція)

{оператори}

Перший параметр ініціалізує лічильник, другий - умова при істинності якого виконуються оператори, третій - операція виконується перед новою итерацией.

Приклад (обчислення факторіала числа):

printf (" обчислення факторіала \ n ");

const int N = 5;

int i, f = 1;

for (i = 1; i <= N; i + +)

{f*= i;

printf ("% d! =% d \ n ", i,f);}

В якості операції в прикладі використовується постфіксній форма інтремірованія (збільшення змінної на 1). Цикл повторюється до тих пір, поки i менше або дорівнює N. Операція f *= i (прісваеніе з множенням) еквівалентна формі f = а * i.

Цикл з передумовою - цикл керований умовою.

while (умова)

{оператори}

Цикл виконується поки умова істинна (умова перевіряється на початку).

Приклад (обчислення суми чисел):

printf ("обчислення суми чисел \ n");

i = 0;

f = 0;

while (i <5)

{f+ = + + i;

printf ("S (% d) =% d \ n ", i,f);}

Операція f + = + + i еквівалентна двом операторам i++; f = f + i;

Цикл з постусловіем - цикл керований умовою.

do

{оператори}

while (умова)

Цикл виконується поки умова істинна (умова перевіряється в кінці, тобто тіло циклу випольняется принаймні один раз).

Приклад (обчислення квадратів);:

printf ("обчислення квадратів \ n");

i = 0;

do

{f= i * i;

printf ("% d ^ 2 =% d \ n", i, f);

i + +;}

while (f <25);

Оператор вибору switch.

switch (вираз)

{case константа_1: оператори; break;

...

case константа_n: оператори; break;

default: оператори;

break;}

Оператор switch обчислює вираз і переходить до першого збігається значенням після case. Далі виконуються оператори цього блоку і за командою break відбувається вихід зі структури. Якщо ні одне зі значень не збігається з константами з case, то виконуються оператори блоку default. Відзначимо, що константи в case блоці визначаються на етапі компіляції, тому вони не можуть містити змінних і функцій.

Приклад.

Int a = 2, b = 5;

...

for (i = 0; i <= 5 ; i + +)

{switch(i)

{case0: c = a + b; break;

case 1: c = a - b; break;

case 2: c = a * b; break;

case 3: c = (float) a / b; break;

default: c = 0; break;}

printf ("Результат: i =% i, c =% f \ n", i,

c);}

Оператор виходу зі структури break може бути опущений. У цьому випадку, пошук збігів буде продовжений після виконання відповідного блоку case.

Оператори break і continue.

Використання оператора break ми вже бачили на прикладі структури switch. Оператор break - це вихід з циклу чи конструкції switch.

Приклад (цикл по i від 0 до 4, але при i = 2 відбувається вихід з циклу):

for (i = 0; i <5; i + +)

{if(i == 2) break;

printf ("Індекс: i = % i \ n ", i);}

Оператор continue - перехід на кінець циклу (тобто пропуск всіх операторів від continue до кінця структури циклу).

Приклад (цикл по i від 0 до 4, але при i = 2 відбувається перехід на кінець циклу):

for (i = 0; i <5; i + +)

{if(i == 2) continue;

printf ("Індекс: i =% i \ n ", i);}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]