Види інструкцій С++

Содержание

Слайд 2

Види інструкцій С++ Визначення (оголошення) expr; інструкція-вираз { } складена інструкція

Види інструкцій С++

Визначення (оголошення)
expr; інструкція-вираз
{ } складена інструкція
; пуста

інструкція

for покроковий цикл
while цикл з передумовою
do-while цикл з післяумовою

if умовна інструкція
switch перемикач
continue інструкція продовження
break інструкція виходу
return інструкція повернення
goto інструкція переходу

Лінійні алгоритми

Галужені алгоритми

Циклічні алгоритми

Слайд 3

Загальні зауваження щодо інструкцій Усі інструкції, крім блоку, завершуються символом ;

Загальні зауваження щодо інструкцій

Усі інструкції, крім блоку, завершуються символом ;
Кожна інструкція

може бути помічена міткою, яку розпізнає goto
Обчислене значення expr може ігноруватится
Цілочислові значення на місці bool неявно перетворюються до bool
Інструкція-оголошення локалізує точку введення об'єкта в область видимості
Слайд 4

Умовна інструкція if Алгоритм : обчислюється expr і результат трактується (без

Умовна інструкція if

Алгоритм :
обчислюється expr
і результат трактується (без приведення) як

bool
якщо отриманий результат true , то виконується instr1 ,
інакше виконується instr2 (якщо вона наявна)
Слайд 5

Перемикач switch

Перемикач switch

Слайд 6

Алгоритм перемикача Алгоритм : обчислення expr співставлення отриманого результат зі значенням

Алгоритм перемикача

Алгоритм :
обчислення expr
співставлення отриманого результат зі значенням константних виразів

у заданому порядку
при першому співпадінні значень виконання відповідних інструкцій,
інакше виконання інструкцій за замовчуванням (якщо вони наявні)
Слайд 7

C03:Menu2.cpp int main() { bool quit = false; // Flag for

C03:Menu2.cpp

int main() {
bool quit = false; // Flag for quitting

while(quit == false) {
cout << "Select a, b, c or q to quit: ";
char response;
cin >> response;
switch(response) {
case 'a' : cout << "you chose 'a'" << endl;
break;
case 'b' : cout << "you chose 'b'" << endl;
break;
case 'c' : cout << "you chose 'c'" << endl;
break;
case 'q' : cout << "quitting menu" << endl;
quit = true;
break;
default : cout << "Please use a,b,c or q!"
<< endl;
}
}
}
Слайд 8

expr Type Promotion char response; switch(int k=sizeof (response)) { case 1

expr Type Promotion

char response;
switch(int k=sizeof (response)) {
case 1 :

cout << "char:" < case 2 : cout << "short:"< case 4 : cout << "int:" < default : cout << "unexpected size" < }
switch(int k=sizeof (response+1.0)) {
case 1 : cout << "char:" < case 2 : cout << "short:"< case 4 : cout << "int:" < default : cout << "unexpected size" < }
Слайд 9

Покроковий цикл for Алгоритм : Обчислення init-expr Обчислення cond-expr Якщо результат

Покроковий цикл for

Алгоритм :
Обчислення init-expr
Обчислення cond-expr
Якщо результат попереднього обчислення

є 0(трактується як false), то перехід на наступну після for інструкцію (завершення циклу)
інакше :
4.1. виконання instr
4.2. обчислення loop-expr
4.3. перехід на #2
Слайд 10

Зауваження щодо for

Зауваження щодо for

Слайд 11

Приклади використання циклу for cout unsigned minNumber; cin >> minNumber; cout

Приклади використання циклу for

cout<<"minNumber?";
unsigned minNumber;
cin >> minNumber;
cout<<"maxNumber?";
unsigned maxNumber;
cin >> maxNumber;

// послідовність квадратів

натуральних чисел
// від minNumber по maxNumber включно
for( unsigned k=minNumber; k <= maxNumber; ++k ){
cout<<"k="<
Слайд 12

unsigned minNumber=UINT_MAX-10; unsigned maxNumber=UINT_MAX; ?

unsigned minNumber=UINT_MAX-10;
unsigned maxNumber=UINT_MAX;

?

Слайд 13

Цикл з передумовою while Алгоритм : Обчислення expr Якщо результат попереднього

Цикл з передумовою while

Алгоритм :
Обчислення expr
Якщо результат попереднього обчислення є

0(трактується як false), то перехід на наступну після while інструкцію (завершення циклу)
інакше :
3.1. виконання instr
3.3. перехід на #1
Слайд 14

Зауваження щодо while

Зауваження щодо while

Слайд 15

Цикл з післяумовою do-while Алгоритм : Виконання instr Обчислення expr Якщо

Цикл з післяумовою do-while

Алгоритм :
Виконання instr
Обчислення expr
Якщо результат попереднього

обчислення є 0 (трактується як false), то перехід на наступну після do-while інструкцію (завершення циклу)
інакше перехід на #1
Слайд 16

Зауваження щодо do-while

Зауваження щодо do-while

Слайд 17

Прийоми використання циклів Вибір виду інструкції циклу for - відома наперед

Прийоми використання циклів

Вибір виду інструкції циклу
for - відома наперед к-сть ітерацій
while

- к-сть ітерацій наперед невідома, їх може бути 0
do_while - відбудеться принаймні 1 ітерація, але їх к-сть наперед невідома
Очевидний спосіб керування ітераціями
break - достроковий вихід з циклу
continue - завершення поточної ітерації
Код ініціалізації розміщувати безпосередньо
перед інструкцією while або do_while
у заголовку for