0 оценок0% нашли этот документ полезным (0 голосов)
12 просмотров28 страниц
Lecture 3 C
Документ представляет собой лекцию по программированию на языке C++, охватывающую темы ветвлений и циклов. В нем рассматриваются операторы if, switch, goto, а также различные типы циклов, включая while, do-while, for и range-based for. Также обсуждаются вложенные циклы и операторы break и continue, а также примеры их использования.
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0 оценок0% нашли этот документ полезным (0 голосов)
12 просмотров28 страниц
Lecture 3 C
Документ представляет собой лекцию по программированию на языке C++, охватывающую темы ветвлений и циклов. В нем рассматриваются операторы if, switch, goto, а также различные типы циклов, включая while, do-while, for и range-based for. Также обсуждаются вложенные циклы и операторы break и continue, а также примеры их использования.
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 28
Программирование на языке C++
Лекция 3. Ветвления и циклы
Раджабов С.С.
НИУ ”ТИИИМСХ”
10 октября 2024 г.
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 1/1
Оператор if
Оператор if
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 2/1
Оператор if
Условный оператор if записывается так:
Дополнительно можно добавить ветку кода для случая, когда условие
ложно:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 3/1
Оператор if
Также можно выстроить цепочку условных операторов:
Если код внутри фигурных скобок состоит из одной инструкции, то
фигурные скобки можно не писать. Однако рекомендуется ставить фигурные скобки всегда во избежание ошибок.
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 4/1
Оператор if
На месте condition может стоять любое выражение логического типа.
Простейшие примеры таких выражений — это проверка на равенство (==) и неравенство (!=), а также сравнения на меньше / больше (<, <=, > и >=):
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 5/1
Сложные условия
Сложные условия
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 6/1
Сложные условия
Условия можно комбинировать с помощью логических операторов (и), ||
(или) и ! (не). Рассмотрим пример, где проверяется принадлежность точки разным интервалам на прямой.
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 7/1
Сложные условия
Операторы && и || ведут себя лениво: если первого аргумента уже
достаточно для ответа, то второй аргумент вычисляться не будет. Например, в выражении condition1 && condition2 второе условие не вычисляется, если первое ложно. Это часто используют для проверок корректности:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 8/1
Оператор switch
Оператор switch
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 9/1
Оператор switch
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 10 / 1
Оператор switch
Выражения внутри скобок оператора switch и в блоках case должны быть
простого целочисленного или символьного типа. В приведённой выше программе значение + относится к типу char. Использование сложных типов (например, строк) приведёт к ошибке компиляции:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 11 / 1
Оператор goto
Оператор goto
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 12 / 1
Оператор goto
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 13 / 1
Цикл while
Цикл while
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 14 / 1
Цикл while
Цикл while — это цикл с предусловием. Перед очередной итерацией
проверяется условие, и если оно истинно, то цикл продолжается. Рассмотрим пример печати таблицы квадратов чисел от 1 до 10:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 15 / 1
Цикл do-while
Цикл do-while
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 16 / 1
Цикл do-while
Это цикл с постусловием. Отличие от цикла while заключается в том, что
первая итерация всегда выполняется безусловно. Только после её завершения проверяется условие цикла. Если оно истинно, то цикл продолжается.
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 17 / 1
Цикл for
Цикл for
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 18 / 1
Цикл for
Цикл for записывается так:
Начальное значение такого параметра можно задать в разделе
initialization, условие — в condition, а действие над параметром, выполняющееся после каждой итерации, — в action. Цикл for эквивалентен такому циклу while:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 19 / 1
Цикл for
Напечатаем таблицу квадратов через цикл for:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 20 / 1
Цикл range-based for
Цикл range-based for
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 21 / 1
Цикл range-based for
Этот цикл применим к контейнерам разной природы (массивам,
векторам, спискам и т. д.), с которыми мы познакомимся позже. Пока рассмотрим его на примере строк. Цикл позволяет удобно проитерироваться по символам строки, не используя индексов. В этом примере мы считываем строку и печатаем отдельно все символы строки и их ASCII-коды:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 22 / 1
Вложенные циклы
Вложенные циклы
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 23 / 1
Вложенные циклы
Циклы могут быть вложенными. Напечатаем таблицу умножения:
Результат:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 24 / 1
Операторы break и continue
Операторы break и continue
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 25 / 1
прыгает в самый конец тела цикла и, если условие цикла позволяет, переходит на следующую итерацию. Напишем программу, которая считывает числа с клавиатуры до тех пор, пока пользователь не введёт ноль, а затем печатает их сумму:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 26 / 1
Считывание до конца ввода
Считывание до конца ввода
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 27 / 1
Считывание до конца ввода
Следующий цикл считывает числа до тех пор, пока поступающие
данные не закончатся:
Аналогично можно прочитать строки до конца ввода с помощью
std::getline:
Раджабов С.С. НИУ ”ТИИИМСХ” 10 октября 2024 г. 28 / 1