►Управление ходом программы с помощью команд ветвления...66
Проще всего управлять ходом программы с помощью инструкции ветвления, которая позволяет программе, в зависимости от результата логического выражения, решить, по какому из двух возможных путей выполнения инструкций следует двигаться дальше. В С++ оператор условного перехода реализуется с помощью инструкции if:
if ( m > n )
{
/* 1-я последовательность операторов. Инструкции, которые должны быть выполнены, если m больше n */
}
else
{
/* 2-я последовательность операторов. Инструкции, которые нужно выполнить в противном случае */
}
_________________
66 стр. Часть 1. Первое знакомство с С++
Прежде всего вычисляется логическое выражение m > n. Если его значение — true, программа выполняет первую последовательность операторов. Если же выражение ложно, управление передаётся второй последовательности. Оператор else не обязателен: если он опущен, С++ считает, что он существует, но является пустым.
«Если в текущей ветви оператора if имеется только одна инструкция, скобки использовать необязательно. Однако очень легко сделать ошибку, которую без скобок, определяющих структуру операторов, компилятор С++ обнаружить не сможет.»
[Атас!]
Поэтому намного безопаснее включать скобки всегда. Если друзья будут уговаривать вас не использовать скобки, не поддавайтесь!
Работу оператора if можно рассмотреть на следующем примере:
/* BranchDemo — введите два числа. */
/* Если первый аргумент больше, выполняем операторы первой ветви, если меньше — второй. */
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std ;
int main( int argc , char* pszArgs[ ] )
{
setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */
/* вводим первый аргумент... */
int arg1 ;
cout << "Введите arg1: " ;
cin >> arg1 ;
/* ... второй */
int arg2 ;
cout << "Введите arg2: " ;
cin >> arg2 ;
/* теперь решаем, что делать: */
if ( arg1 > arg2 )
{
cout << "Аргумент 1 больше, чем аргумент 2"
<< endl ;
}
else
{
cout << "Аргумент 1 не больше, чем аргумент 2"
<< endl ;
}
/* Пауза для того, чтобы посмотреть на результат работы программы */
system( "PAUSE" ) ; return 0 ;
}
__________________
67 стр. Глава 5. Операторы управления программой
Программа считывает два целых числа, вводимых с клавиатуры, и сравнивает их. Если выражение "arg1 больше arg2" истинно, то выполняется инструкция cout << "Аргумент 1 больше, чем аргумент 2 " ;. Если же нет, то управление переходит к последовательности операторов, соответствующей условию else: cout << "Аргумент 1 не больше , чем аргумент 2 " ;. Вот пример работы программы:
Введите arg1: 5
Введите arg2: 6
Аргумент 1 не больше, чем аргумент 2
Press any key to continue...
Больше книг — больше знаний!
Заберите 20% скидку на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ