Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Условные операторы





Условный оператор if используется для разветвления процесса выполнения кода программы на два направления.

В языке Си имеется две разновидности условного оператора:

·

if (x > 0) x = 0; if (i!= 1) j++, s = 1; –используем операцию «запятая»; if (i!= 1) { j++; s = 1; –последовательность операций (блок);}
Простой; (выражение – логическое или арифметическое выражение, вычисляемое перед проверкой, и, если выражение истинно (не равно нулю), то выполняется оператор, иначе он игнорируется; оператор – простой или составной (блок) оператор языка Си. Если в случае истинности выражения необходимо выполнить несколько операторов (более одного), их необходимо заключить в фигурные скобки.

Синтаксис простого оператора:

if (выражение) оператор;

Примеры записи условного оператора if:

 

· полный. Синтаксис полного оператора условного выполнения:

if (выражение) оператор 1;

else оператор 2;

Если выражение не равно нулю (истина), то выполняется оператор 1, иначе – оператор 2. Операторы 1 и 2 могут быть простыми или составными (блоками).

Наличие символа «;» перед словом else в языке Си обязательно.

Структурная схема Примеры записи:

if (x > 0) j = k+10;

else m = i+10;

if (x>0 && k!=0) {

j = x/k; x += 10;

}

else m = k*i + 10;

Операторы 1 и 2 могут быть любыми операторами, в том числе и условными. Тогда, если есть вложенная последовательность операторов if – else, то фраза else связывается с ближайшим к ней предыдущим if, не содержащим ветвь else. Например:

if (n > 0)

if(a > b) z = a;

else z = b;

 

17. Условная тернарная операция.(?:)

Условная операция – тернарная, т.к. в ней участвуют три операнда. Формат написания условной операции следующий:

Выражение 1? выражение 2: выражение 3;

если выражение 1 (условие) отлично от нуля (истинно), то результатом операции является значение выражения 2, в противном случае – значение выражения 3. Каждый раз вычисляется только одно из выражений 2 или 3.

На рис. 6.3 приведена схема вычисления результата, которая аналогична схеме полного оператора if (см. рис. 2 вопрос 16):

 

 

Условное вычисление применимо к арифметическим операндам и операндам-указателям.

Рассмотрим участок программы для нахождения максимального значения z из двух чисел a и b, используя оператор if и условную операцию.

1. Запишем оператор if:

if (a > b) z = a;

else z = b;

2. Используя условную операцию, получим

z = (a > b)? a: b;

Условную операцию можно использовать так же, как и любое другое выражение. Если выражения 2 и 3 имеют разные типы, то тип результата определяется по правилам преобразования. Например, если f имеет тип double, а n – int, то результатом операции

(n > 0)? f: n;

по правилам преобразования типов будет double, независимо от того, положительно n или нет.

 

 

18. Операция запятая. «,»

Данная операция используется при организации строго гарантированной последовательности вычисления выражений (обычно используется там, где по синтаксису допустима только одна операция, а необходимо разместить две и более, например, в операторе for). Форма записи:

выражение _1, …, выражение _ N;

выражения 1, 2,…, N вычисляются последовательно друг за другом и результатом операции становится значение последнего выражения N, например:

 

19. Оператор switch.

Оператор switch (переключатель) предназначен для разветвления процесса вычислений на несколько направлений.

Общий вид оператора:

switch (выражение) {

case константа1: список операторов 1

case константа2: список операторов 2

...

case константаN: список операторов N

default: список операторов N+1 – необязательная ветвь;

}

Выполнение оператора начинается с вычисления выражения, значение которого должно быть целого или символьного типа. Это значение сравнивается со значениями констант и используется для выбора ветви, которую нужно выполнить.

В данной конструкции константы фактически выполняют роль меток. Если значение выражения совпало с одной из перечисленных констант, то управление передается в соответствующую ветвь. После этого, если выход из переключателя в данной ветви явно не указан, последовательно выполняются все остальные ветви.

Все константы должны иметь разные значения, но быть одного и того же типа. Несколько меток могут следовать подряд, и тогда переход в указанную ветвь будет происходить при совпадении хотя бы одной из них. Порядок следования ветвей не регламентируется.


В случае несовпадения значения выражения ни с одной из констант выбора происходит переход на метку default либо, при ее отсутствии, к оператору, следующему за оператором switch.

Управляющий оператор break (разрыв) выполняет выход из оператора switch. Если по совпадению с каждой константой должна быть выполнена одна и только одна ветвь, схема оператора switch следующая:

 

switch (выражение) {

case константа1: операторы 1; break;

case константа2: операторы 2; break;

 

case константаN: операторы N; break;

default: операторы (N+1); break;

}

Структурная схема

 

 

20. Операторы передачи управления: goto, continue, break, return.

Формально к операторам передачи управления относятся:

– оператор безусловного перехода goto; (goto метка;

Он предназначен для передачи управления оператору, помеченному указанной меткой. Метка представляет собой идентификатор, оформленный по всем правилам идентификации переменных с символом «двоеточие» после него, например, пустой помеченный меткой m1 оператор:

M1:;

Область действия метки – функция, где эта метка определена. В случае необходимости можно использовать блок.

Циклы и переключатели можно вкладывать вдруг в друга и наиболее характерный оправданный случай использования оператора goto – выполнение прерывания (организация выхода) во вложенной структуре.)

– оператор перехода к следующему шагу (итерации) цикла continue; (Оператор continue может использоваться во всех типах циклов (но не в операторе-переключателе switch). Наличие оператора continue вызывает пропуск «оставшейся» части итерации и переход к началу следующей, т.е. досрочное завершение текущего шага и переход к следующему шагу.)

– выход из цикла, либо оператора switch – break; (Оператор break производит досрочный выход из цикла или оператора-переключателя switch, к которому он принадлежит, и передает управление первому оператору, следующему за текущим оператором. То есть break обеспечивает переход в точку кода программы, находящуюся за оператором, внутри которого он (break) находится)

– оператор возврата из функции return. (Оператор return производит досрочный выход из текущей функции. Он также возвращает значение результата функции:

return выражение;)

 

21*. Компоненты среды Builder С++ для организации разветвлений.

См.

22. Массивы.

Массив – сложный (составной) тип данных, представляющий собой последовательность (конечную) элементов одного типа. Число элементов массива называют его размером.

Каждый элемент массива определяется именем массива и порядковым номером – индексом.

Индекс – целое число, по которому производится доступ к элементу массива.

Индексов может быть несколько. В этом случае массив называют многомерным, а количество индексов одного элемента массива является его размерностью.

 







Date: 2015-08-15; view: 883; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.016 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию