c++Принятие решений.pptx
- Количество слайдов: 35
Продолжительность хранения и область видимости С. 116 123
Все переменные имеют ограниченное время жизни при выполнении программы. Они появляются в точке, где их объявили, а затем в некоторой точке они исчезают — не позднее момента завершения программы. Насколько долго существует конкретная пе ременная определяется свойством, , называемым продолжительностью хранения (storage duration). Существуют три продолжительности хранения переменных: • автоматическая; • статическая; • динамическая.
Автоматические переменные Такие переменные называются автоматическими, и о них говорят, что у них локальная область видимости, или область видимости блока. Автоматическая переменная “видима”, начиная с точки, в которой она объявлена, и до конца блока, содержащего ее объявление.
Автоматические переменные
Автоматические переменные Период жизни — это период времени выполнения про граммы начиная с момента первого объявления , переменной до момента ее уничтоже нияи освобождения занятой ею памяти для другого использования. Область видимости переменной — это часть программного кода, в которой доступна переменная.
Глобальные переменные Переменные, которые объявлены вне всех блоков и классов (о классах речь пойдет позже), называются глобальными, они имеют глобальную область видимости (которая так женазывается областью видимости глобального пространства имен или областью видимости файла). Глобальные переменные также по умолчанию имеют статическую продолжительность хранения.
Области видимости переменных
Оператор разрешения области видимости Глобальная переменная может быть скрыта локальной перемен нойс тем же именем. Но все же остается возможность получить доступ к такой глобаль нойпеременной, используя оператор разрешения области видимости (: : ).
Статические переменные Необходимо иметь возможность объявить переменную, имеющую область видимости в пределах блока, но обеспечить ей статический пе риодхранения. Спецификатор static обеспечивает такую возможность. static int count;
Принятие решений С. 146 -164
Сравнение значений Существует шесть базовых операторов для сравнения двух доступных значений. < меньше <= меньше или равно > больше >= больше или равно == равно != неравно
true — если сравнение истинно, и false — если нет int i=10, j= 5 i > j i != j j > 8 i <= j + 15 char first = 'A', last = 'Z'; first == 65 first < last 'Е' <= first != last
int i = 10, j = 20; double x = 1. 5, у = 0. 25 E 10; 1 < у у) j < (10 i) 2. 0*х >= (3 +
Оператор if Примеры if('А' == letter) cout << "Первая прописная, в алфавитном порядке. "; if(letter == 'А') { cout << "Первая прописная, в алфавитном порядке. "; letter = 'а'; }
Вложенные операторы if #include <iostream> using std: : cin; using std: : cout; using std: : endl; int main() { char letter(0); // Для хранения введенного значения cout << endl << "Введите букву: "; // Приглашение ввода cin >> letter; // Прочитать символ
if(letter >= 'А') // Больше или равно 'А' { if(letter <= 'Z') // Меньше или равно 'Z' { cout << endl << "Вы ввели прописную букву. " << endl; return 0; } } if(letter >= 'a') // Больше или равно 'а' { if(letter <= 'z') // Меньше или равно 'z' { cout << endl << "Вы ввели прописную букву. " << endl; return 0; } } cout << endl << "Вы ввели не букву. " << endl; return 0; }
Расширенный оператор if #include <iostream> using std: : cin; using std: : cout; using std: : endl; int main() { long number(OL); // Здесь хранится ввод cout << endl << "Введите целое число меньше 2 миллиардов: "; cin >> number;
if(number % 2 L) // Проверить остаток после деления на 2 cout << endl // Здесь остаток равен 1 << "Ваше число нечетное. " << endl; else cout << endl // Здесь остаток равен 0 << "Ваше число четное. " << endl; return 0; }
Вложенные операторы if-else if('y' == coffee) if('у' == donuts) cout << "У нас есть кофе и пончики. "; else cout << "У нас есть кофе, но нет пончиков. ";
Логические операторы и выражения && ЛОГИЧЕСКОЕ И ЛОГИЧЕСКОЕ НЕ || ЛОГИЧЕСКОЕ ИЛИ !
Логическое И if((letter >= 'А') && (letter <= 'Z')) cout << "Это заглавная буква. ";
Логическое ИЛИ if((income >= 100000. 00) || (capital >= 1000000. 00)) cout << "Сколько вы хотели бы занять, сэр (кланяясь)? ";
Логическое НЕ !(х > 5)
Комбинирование логических операторов #include <iostream> using std: : cin; using std: : cout; using std: : endl; int main() { char letter(0); // Здесь сохранить ввод
cout << endl << "Введите символ: "; cin >> letter; // Проверка на вхождение в алфавит if (((letter >= 'А') && (letter <= 'Z')) || ((letter >= 'а') && (letter <= 'z'))) cout << endl << "Вы ввели букву. " << endl; else cout << endl << "Вы ввели не букву. " << endl; return 0; }
Условный оператор с = а > b ? а : b; Условный оператор имеет следующий синтаксис. условие ? выражение 1 : выражение 2
Использование условного оператора при выводе #include <iostream> using std: : cout; using std: : endl; int main() { int n. Cakes(1); // Количество пирожных
cout << endl << "У нас есть " << n. Cakes << " пирожн" << ((n. Cakes > 1) ? "ых. " : "oe. ") << endl; ++n. Cakes; cout << endl << "У нас есть " << n. Cakes << " пирожн" << ((n. Cakes > 1) ? "ых. " : "oe. ") << endl; return 0; }
Оператор switch обеспечивает выбор из множества вариантов на основании набо рафиксированных значений заданного выражения. Он действует подобно вращающе муся переключателю (switch, дословно — переключатель), который можно установить в одно из фиксированных положений. В операторе switch выбор определяется значением указанного выражения. Вы устанавливаете возможные позиции switch одним или более значений case, одно из которых выбирается, если значение выражения совпадает с ним. Каждому возможному значению выражения оператора switch соответствует одно значение case, причем эти значения case должны отличаться друг от друга. Если значение выражения switch не соответствует ни одному из значений case, то оператор switch автоматически выбирает случай default.
Операторы, которые будут выполнены для конкретного случая, могут быть также заключены в фигурные скобки, причем иногда это необходимо.
Совместное использование в операторе case
c++Принятие решений.pptx