Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практичні алгоритмізація дл студ.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
6.12 Mб
Скачать

Операції інкремента і декремента

3. Написати і дослідити програмний код. Змінити значення змінної с з 5 на ваш номер варіанту і написати програмний код повторно, дослідити різницю виконаних програм.

/* Операцій преинкремента і постінкремента */

#include <stdio.h>

main ()

{

int c;

c = 5 ;

printf("%d\n", с);

printf("%d\n", c++); /* постінкремент */

printf("%d\n\n", с);

c = 5;

printf("%d\n", c);

printf("%d\n", + + с); /* преинкремент */

printf("%d\n", c);

return 0; /* успішне завершення */

}

5

5

6

5

6

Демонстрація відмінності між операціями преинкремента і постінкремента

passes += 1;

failures += 1;

student += 1;

з використанням операцій преинкремента у виді

++passes;

++failures;

++student;

чи з операціями постінкремента

passes++;

failures++;

student++;

Тут важливо звернути увагу на те, що при инкрементировании або декрементировании змінної в операторові, в якого входить тільки ця змінна, преинкрементная і постінкрементна форми дають один і той же ефект. Тільки при появі змінної в контексті більшого вираження преинкрементная і постінкрементна форми мають різний сенс (це ж вірно і для операцій предекремента і постдекремента).

Як операнд операцій інкремента або декремента може бути використано тільки просте ім'я змінної.

Лабораторна робота №16. Тема: Структурна розробка програм. Структура вибору if. Структура вибору if/else. Структура повторення while

Мета: Ознайомитися та засвоїти структурну розробку програм на мові програмування С.

1. Написати програму яка представлена нижче, дослідити її. Потім змінити число 10 на № студента за списком.

Основи структур повторення while

Розглянемо просту програму, яка виводить числа від 1 до 10. Оголошення int counter = 1;

іменує змінну (counter), що управляє, оголошує її цілим числом, резервує для неї пам'ять і привласнює їй початкове значення, рівне 1. Це оголошення не є виконуваним оператором.

Повторення, кероване лічильником

/* Повторення, кероване лічильником */

#include <stdio.h>

main ( )

{

int couner =1; /* ініціалізація */

while (counter <= 10)

{ /* умова повторення */

printf("%d\n", counter);

++counter; /* приріст */

}

return 0;

}

1

2

3

4

5

6

7

8

9

10

Оголошення і ініціалізація лічильника могли б бути виконані за допомогою операторів

int counter;

counter = 1;

Оголошення не є виконуваним оператором, але привласнення є таким. Ми використовуємо обидва методи ініціалізації змінних.

Оператор

++counter;

збільшує лічильник циклу на 1 при кожному виконанні циклу. Умова продовження циклу структури while перевіряє, чи є значення змінної, що управляє, меншим або рівнішим 10 (це останнє значення, для якого умова істинна). Зверніть увагу, що тіло цього циклу while виконується і у тому випадку, коли змінна, що управляє, дорівнює 10. Цикл завершується, коли змінна, що управляє, стає більше 10 (тобто змінна counter стає рівною 11).

Що програмують на C зробили б програму коротшою, ініціалізував змінну counter значенням 0 і замінивши структуру while на

while (++counter <= 10)

printf("%d\n", counter);

Цей код економить один оператор, оскільки приріст виконується безпосередньо в умові структури while перед його перевіркою. Крім того, тут усунені фігурні дужки навколо тіла структури while, оскільки while тепер містить тільки один оператор. Написання коду в такій стислій манері вимагає деякої практики.