Предложение if
Спросим у эксперта
Вопрос: Зачем в С++ предусмотрены различные типы данных для целых чисел и значений с плавающей точкой? Почему не сделать все числа одного типа?
Ответ: С++ предоставляет различные типы данных, чтобы вы могли писать более эффективные программы. Целочисленная арифметика работает быстрее вычислений с плавающей точкой. И если вам в программе не нужны дробные числа, то нет смысла идти на издержки, связанные с использованием типов floatи double. Кроме того, объем памяти, требуемый для размещения данных одного типа, может быть меньше, чем для данных другого типа. Предоставляя различные типы данных, С++ дает вам возможность наилучшим образом использовать системные ресурсы. Наконец, некоторые алгоритмы требуют использования (или по крайней мере выигрывают от использования) определенных типов данных. Набор встроенных типов данных С++ обеспечивает максимальную гибкость при разработке программ.
Цель 1.8. Два управляющих предложения
Каждая функция выполняется предложение за предложением, от начала к концу. Однако с помощью различных управляющих предложений, включенных в язык С++, можно изменить этот поток выполнения. Позже мы рассмотрим управляющие предложения детально, здесь же кратко остановимся только на двух таких предложениях, так как мы будем использовать их в дальнейших примерах программ.
С помощью условного предложения языка С++ if можно селективно выполнять определенный участок программы. Предложение ifязыка С++ действует так же, как и в любом другом языке. Оно, в частности, синтаксически идентично предложениям ifязыков С, Java и С#. Его простейшая форма выглядит следующим образом:
if(условие) предложение;
Здесь условие представляет собой выражение, результат которого воспринимается либо как истина (true), либо как ложь (false). В С++ истина соответствует ненулевому значению, а ложь - нулевому. Если условие истинно, предложение будет выполняться. Если условие ложно, предложение не выполняется. Например, следующий фрагмент выводит на экран фразу 10 меньше 11, потому что 10 действительно меньше 11.
if (10 < 11) cout << "10 меньше 11";
Рассмотрим, однако, следующее предложение:
if (10 > 11) cout << "эта строка не выводится";
В этом случае, поскольку 10 не больше 11, предложение coutвыполняться не будет. Разумеется, операнды внутри предложения if не обязательно должны быть константами. В качестве операндов можно использовать и переменные.
В С++ определен полный набор операторов отношения, которые используются в условных выражениях. Эти операторы перечислены ниже:
Оператор | Значение |
< | Меньше чем |
<= | Меньше чем или равно |
> | Больше чем |
>= | Больше чем или равно |
== | Равно |
!= | Не равно |
Обратите внимание на то, что проверка на равенство требует использования двойного знака равенства.
Ниже приводится программа, иллюстрирующая использование предложения if:
// Демонстрация использования if.
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
a = 2;
b = 3;
cout << "а меньше чем b\n";
// это предложение ничего не выведет на экран
if (a == b) cout << "это вы не увидите\n" ;
cout << “\n”;
c = a – b; // с содержит -1
cout << “с содержит -1\n”;
if (c >= 0) cout << "с неотрицательно\n";
if (c < 0) cout << "с отрицательно\n" ;
cout << “\n”;
с = b - с; теперь содержит 1
cout << "с сопесжит 1\п";
if (c >= 0) cout << "с неотрицательно\n";
if (c < 0) cout << "с отрицательно\n" ;
return 0;
}
Ниже приведен вывод этой программы:
a меньше, чем b
c содержит -1
c отрицательно
c содержит 1
c неотрицательно