1.2.1. Порядок выполнения инструкций
1.2.1. Порядок выполнения инструкций
По умолчанию инструкции программы выполняются одна за другой, последовательно. В программе
int main()
{
readIn();
sort();
compact();
print();
return 0;
}
первой будет выполнена инструкция readIn(), за ней sort(), compact() и наконец print().
Однако представим себе ситуацию, когда количество продаж невелико: оно равно 1 или даже 0. Вряд ли стоит вызывать функции sort() и compact() для такого случая. Но вывести результат все-таки нужно, поэтому функцию print() следует вызывать в любом случае. Для этого случая мы можем использовать условную инструкцию if. Нам придется переписать функцию readIn() так, чтобы она возвращала количество прочитанных записей:
// readIn() возвращает количество прочитанных записей
// возвращаемое значение имеет тип int
int readIn() { ... }
// ...
int main()
{
int count = readIn();
// если количество записей больше 1,
// то вызвать sort() и compact()
if ( count 1 ) {
sort();
compact();
}
if ( count == 0 )
cout "Продаж не было ";
else
print();
return 0;
}
Первая инструкция if обеспечивает условное выполнение блока программы: функции sort() и compact() вызываются только в том случае, если count больше 1. Согласно второй инструкции if на терминал выводится сообщение "Продаж не было", если условие истинно, т.е. значение count равно 0. Если же это условие ложно, производится вызов функции print(). (Детальное описание инструкции if приводится в разделе 5.3.)
Другим распространенным способом непоследовательного выполнения программы является итерация, или инструкция цикла. Такая инструкция предписывает повторять блок программы до тех пор, пока некоторое условие не изменится с true на false. Например:
int main()
{
int iterations = 0;
bool continue_loop = true;
while ( continue_loop != false )
{
iterations++;
cout "Цикл был выполнен " iterations "раз ";
if ( iterations == 5 )
continue_loop = false;
}
return 0;
}
В этом надуманном примере цикл while выполняется пять раз, до тех пор пока переменная iterations не получит значение 5 и переменная continue_loop не станет равной false. Инструкция
iterations++;
увеличивает значение переменной iterations на единицу. (Инструкции цикла детально рассматриваются в главе 5.)
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Барьеры и порядок выполнения
Барьеры и порядок выполнения В случае, когда необходимо иметь дело с синхронизацией между разными процессорами или разными аппаратными устройствами, иногда возникает требование, чтобы чтение памяти (load) или запись в память (save) выполнялись в том же порядке, как это
Порядок выполнения операций процессором
Порядок выполнения операций процессором Вспомните из материала главы 9, "Средства синхронизации в ядре", что для различных аппаратных платформ процессоры в разной степени изменяют порядок выполнения программных инструкций. Для некоторых процессоров порядок выполнения
Выбор инструкций обработки
Выбор инструкций обработки Для выбора инструкций обработки используйте образец processing-instruction():<xsl:template match="/processing-instruction()"> <I> Found a processing instruction. </I></xsl:template>Можно также указать, какую именно инструкцию обработки вы хотите выбрать, задав имя инструкции (исключая
Элемент <xsl:processing-instruction>: создание инструкций обработки
Элемент <xsl:processing-instruction>: создание инструкций обработки При помощи элемента <xsl:processing-instruction> можно создавать новые инструкции обработки. У этого элемента один атрибут:• name (обязательный). Задает имя инструкции обработки. Принимает значение шаблона значений
Порядок выполнения операторов
Порядок выполнения операторов В табл. П1.10 операторы языка JScript расположены по старшинству, т.е. в составных операторах первыми будут выполняться те из них, которые стоят в этой таблице выше. Если операторы расположены в одной строке таблицы, то они выполняются слева
Порядок слов
Порядок слов Можно указывать не только расстояние между словами, но и их порядок.Слова следуют в определенном порядке на нужном расстоянииЕсли вы точно знаете не только расстояние, но и порядок слов запроса, в котором они должны быть приведены на интересных вам
Вставка инструкций SQL в VBA-код
Вставка инструкций SQL в VBA-код Фрагменты кола, приведенные раньше в настоящей главе, должны были проиллюстрировать, как добавлять инструкции SQL в код, написанный на VBA. Здесь очень важно не забывать о том, что VBA обрабатывает инструкции SQL как текстовые строки, а не как часть
Написание инструкций SELECT
Написание инструкций SELECT Процесс создания объектов Recordset модели ADO я подробно рассмотрел раньше в настоящей главе. В этом разделе основной акцент будет сделан именно на коде SQL, необходимом для определения того, какие записи относятся к набору. Вам необходимо выполнить
Порядок выполнения операторов
Порядок выполнения операторов В сложных выражениях операторы выполняются в следующем порядке:1. ( ).2. not.3. *, /, div, mod, and, shl, shr, as.4. +, –, or, xor.5. =, <>, <, >, <=, >=, in,
Преобразование CIL-кода в набор инструкций, соответствующих платформе
Преобразование CIL-кода в набор инструкций, соответствующих платформе Ввиду того, что компоновочные блоки содержат CIL-инструкции, а не инструкции для конкретной платформы, программный код CIL перед использованием приходится в фоновом режиме компилировать. Объект, который
Порядок выполнения операций
Порядок выполнения операций Рассмотрим следующую строку: butter = 25.0 + 60.0 * n / SCALE; В этом операторе имеются операции сложения, умножения и деления. Какая операция будет выполнена первой? Будет ли 25.0 складываться с 60.0, затем результат 85.0 умножаться на n, а произведение
Приоритет и порядок выполнения
Приоритет и порядок выполнения Приоритет и ассоциативность операций языка Си влияют на порядок группирования операндов и вычисления операций в выражении. Приоритет операций существен только при наличии нескольких операций, имеющих различный приоритет. Выражения с
Узлы инструкций по обработке
Узлы инструкций по обработке Каждой инструкции по обработке соответствует свой узел. В дерево не включаются узлы инструкций, которые были приведены в декларации типа документа (DTD). Кроме этого, поскольку декларация XML не является инструкцией по обработке, ей не будет
Создание узлов комментариев и инструкций по обработке
Создание узлов комментариев и инструкций по обработке Элемент xsl:comment Этот элемент задается конструкцией вида:<xsl:comment><!-- Содержимое: шаблон --></xsl:comment>Элемент xsl:comment создает в результирующем дереве узел комментария. Текстом комментария становится результат