- •Содержание работы
- •1 Элементы языка с
- •1.1 Символы
- •2 Простые типы данных
- •3 Операции над числовыми данными
- •4 Объявление переменных
- •5 Структура программы на с
- •7 Директива #define
- •9 Библиотека математических функций
- •Содержание работы
- •1 Условный оператор if
- •Пример 1 Поиск наибольшего значения
- •Пример 2 Определение принадлежности точки фигуре
- •2 Составной оператор
- •Пример 3 Проверка условия существования треугольника
- •3 Вложенный оператор
- •Пример 4 Вложенное ветвление
- •4 Оператор выбора switch
- •Содержание работы
- •1 Определение цикла
- •Пример 1 Виды циклов
- •Задание 1
- •2 Оператор цикла for
- •3 Оператор цикла while
- •4 Оператор цикла do while
- •5 Табулирование функций
- •Пример 2 Табулирование непрерывной функции
- •Пример 3 Табулирование сложной функции
- •6 Вычисление конечных сумм и произведений
- •Пример 4 Вычисление суммы
- •Пример 5 Вычисление произведения
- •7 Управляющие конструкции break, continue, return, goto
- •Содержание работы
- •1 Понятие и описание массивов
- •Пример 1 Объявление одномерного массива
- •Пример 2 Объявление двумерного массива
- •2 Одномерные массивы Пример 3 Ввод элементов одномерного массива
- •Пример 4 Нахождение суммы и среднего значения элементов массива
- •Пример 5 Нахождение наибольшего элемента массива и его номера
- •3 Двумерные массивы (матрицы)
- •Пример 6 Суммирование матриц
- •4 Символьные массивы
- •Пример 7 Описание символьного массива
- •Пример 8 Сравнение строк
- •5 Указатели и операции над указателями
- •Пример 9 Описание указателей
- •Пример 10 Операции над указателями
- •Пример 11 Сравнение указателей
- •6 Связь между массивом и указателем
- •Содержание работы
- •1 Модульное программирование
- •2 Объявление функции
- •Пример 1 Объявление функции
- •Задание 1
- •Это важно
- •2 Формальные и фактические параметры функции
- •Задание 3
- •Содержание работы
- •1 Создание класса
- •Пример 1 Объявление класса
- •Задание 1
- •Пример 2 Доступ к членам класса
- •Задание 2
- •2 Полиморфизм
- •Пример 3 Перегрузка функций
- •Задание 3
- •Содержание работы
- •1 Понятие формы. Конструктор форм Windows Forms
- •2 Элементы управления
- •3 Создание приложений с помощью Windows Forms Application Пример 1 Создание простейшего оконного приложения
- •Пример 2 Создание идентификационной формы
- •Пример 3 Изменение параметров MessageBox.Show
- •5 Анализ кода
- •6 Расчетные формы Пример 4 Создание расчетной формы
- •Пример 5 Создание простейшего меню
- •7 Создание оконных приложений на базе mfc
3 Вложенный оператор
В качестве выполняемого в условном операторе действия может быть другой условный оператор, т.е. допускается использование вложенных операторов if. Оператор if может быть включен в конструкцию if или в конструкцию else.
Чтобы сделать программу более читабельной, рекомендуется группировать операторы и конструкции во вложенных операторах if, используя фигурные скобки. Если же фигурные скобки опущены, то компилятор связывает каждое ключевое слово else с наиболее близким if, для которого нет else.
Пример 4 Вложенное ветвление
Неполное вложенное ветвление:
y=1;
if (x,=0)
if (x==0) y=0;
else y=-1;
Полное вложенное ветвление:
if (x<=0)
if (x==0) y=0;
else y=-1;
else y=1;
Задание 4
Определите значение переменной r не вводя код программы. В чем заключается отличие программ?
Программа 1 |
Программа 2 |
int t=2, b=7, r=3; if (t>b) {if (b < r) r=b;} else r=t; printf("%d\n",r); |
int t=2, b=7, r=3; if (t>b) if (b < r) r=b; else r=t; printf("%d\n",r); |
Задание 5
Используя вложенные условные операторы, напишите программу решения квадратного уравнения.
Задание 6
Определить в каком квадранте находится точка с координатами x и y. Написать две программы: с использованием неполной формы условного оператора и вложенных условий.
4 Оператор выбора switch
Следующий фрагмент также иллюстрирует вложенные операторы if:
char ZNAC;
int x,y,z;
if (ZNAC == '-') x = y - z;
else if (ZNAC == '+') x = y + z;
else if (ZNAC == '*') x = y * z;
else if (ZNAC == '/') x = y / z;
else ...
Однако, конструкции использующие вложенные операторы if, являются довольно громоздкими и не всегда достаточно надежными. Другим способом организации выбора из множества различных вариантов является использование специального оператора выбора switch.
Оператор switch предназначен для организации выбора из множества различных вариантов.
Формат оператора switch:
switch (выражение)
{ [объявление]
case константное-выражение1: список-операторов1;
case константное-выражение2: список-операторов2;
default: список операторов;
}
Схема выполнения оператора switch следующая:
– вычисляется выражение в круглых скобках;
– вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;
– если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;
– если ни одно из константных выражений не равно выражению, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после switch оператор.
Это важно
-
отметим, что в теле оператора switch можно использовать вложенные операторы switch, при этом в ключевых словах case можно использовать одинаковые константные выражения;
-
конструкция со словом default может быть не последней в теле оператора switch;
-
ключевые слова case и default в теле оператора switch существенны только при начальной проверке, когда определяется начальная точка выполнения тела оператора switch;
-
все операторы, между начальным оператором и концом тела, выполняются вне зависимости от ключевых слов, если только какой-то из операторов не передаст управления из тела оператора switch;
-
необходимо позаботится о выходе из case, если это необходимо. Чаще всего для этого используется оператор break;
-
для того, чтобы выполнить одни и те же действия для различных значений выражения, можно пометить один и тот же оператор несколькими ключевыми словами case.
Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его операторов switch, do, for, while. После выполнения оператора break управление передается оператору, следующему за прерванным.
Пример 6
Рассмотрим ранее приведенный пример, в котором иллюстрировалось использование вложенных операторов if, переписанной теперь с использованием оператора switch.
char ZNAC;
int x,y,z;
switch (ZNAC)
{
case '+': x = y + z; break;
case '-': x = y - z; break;
case '*': x = y * z; break;
case '/': x = u / z; break;
default : ;
}
Использование оператора break позволяет в необходимый момент прервать последовательность выполняемых операторов в теле оператора switch, путем передачи управления оператору, следующему за switch.
Задачи
-
Определить, принадлежит ли число с отрезку от а до в.
-
Даны три действительных числа. Выберите те из них то, которые принадлежат отрезку [1; 3].
-
Определить в каком квадранте находится точка с координатами x и y, вывести номер квадранта.
-
Вычислите площадь кольца. Программа должна проверять правильность исходных данных.
-
Написать программу, вычисляющую значение функции
-
Вводятся значения двух переменных x и y, если значения обоих переменных положительные, то вычислить квадратные корни.
-
Написать программу, определяющую упорядочены ли по возрастанию действительные числа а, b и с
-
Написать программу, определяющую упорядочены ли по убыванию целые числа а, b и с
-
Лабораторная работа № 3
Операторы циклов
Цель работы: изучить определение, назначение и виды циклов, приобрести навыки в решении задач с помощью операторов цикла, усвоить правила и особенности их применения.