
- •1.1 Арифметические операторы.
- •1.3. Логические операторы
- •1.6. Выражения
- •1.7. Преобразование типов
- •2.6. Вложение else if
- •2.7. Инструкция switch
- •3.1. Оператор цикл for
- •3.4. Цикл do-while
- •3.3. Цикл while
- •4.1. Алгоритм Евклида
- •4.2. Алгоритмы обмена чисел
- •4.3.А. Для заданного натурального числа определить количество единичных бит в его представлении.
- •4.3.B. Найти количество повторений каждой цифры у заданного натурального числа
- •4.3.C. Перевод из 10-й с/с в 2..9
- •5.1. Объявление и определение функций .
- •5.2. Функция main()
- •5.3. Функция main() с параметрами
- •5.4. Обмен данными между функциями. Возвращаемое значение
- •5.5. Параметры функции
- •5.6.A. Функция перевода числа в различные нумерации
- •5.6.C. Поиск количества единичных бит в двоичном представлении числа.
- •5.6.E. Вычисление n!
- •5.6.F. Вычисление сочетаний из n по m без факториала
- •7. Функции форматированного вывода
- •7. Функции форматированного вывода (продолжение)
- •8. Функции форматированного ввода
- •9. Функции общего назначения
- •Void srand(unsigned int );
- •11.1. Объявление и инициализация массива
- •11.3. Ввод-вывод массивов
- •11.4 Операции над элементами массива
- •11.5. Передача массивов функциям
- •11.6. Обработка одномерных и двумерных массивов
- •11.7. Поиск элемента с заданными характиристиками
- •12.1. Переменные-указатели
- •12.2. Oператоры для работы с указателями.
- •12.3. Арифметические действия с указателями.
- •12.4. Динамическое распределение памяти
- •12.5. Указатели и массивы
- •12.6. Массивы-параметры
- •12.7. Указатели на константы и константные указатели.
- •12.8. Указатели на функции.
- •12.9. Алгоритмы преобразование и перестановки .
- •12.10. Алгоритмы расширение и сжатие массивов
- •13.1Сортировка пузырьком
- •13.2Сортировка Вставками
- •13.3Сортировка выбором
- •13.4Линейный поиск
- •Int sprintf(char *buffer, const char *format, ...);
- •15 Цели введения новых типов:
- •Int fclose(file* stream);
- •Int feof(file* stream);
- •18. Функции и разработка программ
- •18.1. Функции с переменным количеством параметров
- •18.2. Глобальные и локальные переменные, область видимости и время существования.
- •18.3. Спецификаторы классов памяти.
- •18.4. Компоновка нескольких файлов в одну программу
- •18.5. Директивы препроцессора
- •Задача Иосифа Флавия
- •Задача о рюкзаке
- •Классическая архитектура компьютера
- •Процессор - программно-управляемое устройство
- •Регистры, назначение и характеристика
- •Xchg приемник, источник
- •23Команды сравнения:
- •25 Команды организации циклов:
- •26 Команды пересылки:
- •27 Логические команды:
- •28 Команды обработки строк
- •Префиксы повторения
- •29.1. Регистры сопроцессора
- •29.2. Команды пересылки данных
- •29.3. Арифметические команды
- •29.4. Команды сравнения чисел
- •29.5. Трансцендентные команды
- •29.6. Управляющие команды
- •30.1. Команда call
- •23.6. Внешние подпрограммы
- •23.7.Компилятор masm
2.7. Инструкция switch
С помощью оператора switch программа может передать управление в одну из нескольких точек программы в зависимости от значения выражения.
switch (выражение) {
case константа_1: оператор; break;
case константа_2: оператор; break;
case константа_3: оператор; break;
…
case константа_m: оператор; break;
default: оператор;
}
Выражение должно иметь целочисленный тип. Значение выражения сопоставляется со всеми находящимися внутри switch-оператора case- константами.
Оператор, указанный после case-метки, выполняется, если значение switch-выражения равно соответствующей константе. Если ни с одной из case-констант совпадения нет, то управление передается на конструкцию с default-меткой, при условии ее наличия, в противном случае ни одна из подынструкций switch не выполняется.
Так как case-константы являются метками, то после найденного совпадения операторы будут выполняться последовательно до тех пор, пока не закончится switch-оператор. Поэтому после каждого блока операторов, относящегося к конкретной case-метке, необходимо указать ключевое слово (оператор) break (если это необходимо). Оператор break сразу же передает программное управление за пределы switch-оператора, завершая его.
3.1. Оператор цикл for
Цикл for является циклом с предпроверкой условия выхода. Конструкция for-цикла имеет синтаксис: for (выражение1; выражение2; выражение3) оператор;
В выражении1 производится инициализация переменных цикла. Если выражение1 включает несколько операторов, то они должны быть разделены запятыми. Выражение1 может быть опущено в конструкции цикла, но точка с запятой после него должна быть оставлена. В качестве выражения1 применяются присваивания или вызовы функций.
Выражение2 формулирует условие выполнения цикла (т.е. если выражение2 истинно, то операторы тела цикла выполняются, в противном случае происходит выход из цикла). Если выражение2 опущено, то считается, что его значение всегда истинно. В последнем случае операторы тела цикла будут повторяться до тех пор, пока один из них не приведет к выходу из цикла.
Выражение3 выполняется после каждого прогона цикла. Здесь обычно выполняются приращения переменных цикла. Если выражение3 включает несколько операторов, то они должны быть разделены запятыми. Выражением3 может быть опущено в конструкции цикла. В выражении3 обычно применяют присваивания или вызовы функций.
Раздел оператор может состоять из одного оператора или из блока операторов. Отдельные операторы должны всегда заканчиваться точкой с запятой. Если в качестве тела цикла выступает блок операторов, то он должен быть заключен в фигурные скобки.
3.2. Бесконечный цикл for(;;) представляет собой особый вид цикла for. Он получается, если все три элемента определения цикла for опустить и оставить только точки с запятой, разделяющие элементы.
Программно выход из такого цикла может быть осуществлен только с помощью оператора break , так как условие выхода из цикла не указано.
3.4. Цикл do-while
В языке С++ существует конструкция цикла do или do-while. Самое важное его отличие от цикла while состоит в том, что операторы тела цикла do выполняются хотя бы один раз. Оценка выражения, содержащего условие выхода из цикла, происходит всегда после выполнения тела цикла. Конструкция цикла имеет синтаксис:
do оператор
while (выражение);