Структуры управления
Условная структура If и Else • Синтаксис: if (условие) выражение • Пример: if (x == 100) cout << "x is 100";
• • • if (x > 0) cout << "x is positive"; else if (x < 0) cout << "x is negative"; else cout << "x is 0";
Итерационные структуры(циклы) • While • Do-While • For
Цикл While • While (условие) выражение int main() { //объявляем переменные и инициализируем int a=10, s=0; //определяем условие - пока значение а больше 5 while (a>5){ //к значению переменной s прибавляем а s+=a; //при каждой итерации значение а уменьшается на 1 a-=1; } //распечатываем на экране сумму всех чисел между 10 и 5 cout<
Цикл Do-While • • Do выражение While (условие) Тело цикла выполняется хотя бы один раз int main() { int a, s=0; do{ cin>>a; s+=a; } while (a<5); cout << s; } return 0;
Цикл For • for (инициализация; условие; увеличение) выражение; int main() { //обратный отсчет с применением for (int i=10; i>0; i--) cout<
Множественные условия для For • for ( n=0, i=100 ; n!=i ; n++, i-- ) { • // какое-нибудь выражение. . . }
For для бесконечного цикла и прерывание программы(break) int main() { } int a; for (; ; ){ cin>>a; if (a==0) break; } return 0;
Выражение continue int main() { //распечатать числа от 0 до 9 for(int i=0; i<10; i++){ //пропустить все четные числа if(i%2==0) continue; cout<
Выражение перехода - goto int main () { } int n=10; loop: cout << n << ", "; n--; if (n>0) goto loop; cout << "FIRE!n"; return 0;
Структура выбора - switch • switch (expression) { case constant 1: group of statements 1; break; case constant 2: group of statements 2; break; . . . default: default group of statements • }
Сравнение switch и if-else
ФУНКЦИИ • Тип имя(параметр1, параметр 2…) выражения
Передача параметров по значению и по ссылке • Передача по значению – создается копия переменной для использования внутри функции. int x=5, y=3, z; z = addition ( x , y );
Передача по ссылке • Переменные обрабатываются напрямую, то есть функция меняет ее значение. А также это удобно когда нужно менять значения нескольких переменных в одной функции. void doubling(int& a){ a*=2; } int main () { int a=3; doubling(a); cout<
Значения по умолчанию в параметрах #include using namespace std; int divide (int a, int b=2) { int r; r=a/b; return (r); } int main () { cout << divide (12); cout << endl; cout << divide (20, 4); return 0; } Результаты: 6 и 5
Перегруженные функции #include using namespace std; int operate (int a, int b){ return (a*b); } float operate (float n, float m){ return (n/m); } int main (){ int x=5, y=2; float n=5. 0, m=2. 0; cout << operate (x, y); cout << "n"; cout << operate (n, m); cout << "n"; return 0; }
Объявление функции • Объявление и реализация функции могут быть разделены в целях улучшения читабельности кода