// Done by TheTutor -- 06/13/01
// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com
/* Что такое условные выражения? Это выражения, определяющие логические условия.
Предположим, что у вас есть программа, в которой бросаются две игральные кости.
Вы хотите проверить, равно ли число очков на обоих из них. Если число очков
равно, вы позволите игроку бросить кости еще раз.
Условные выражения значительно облегчат написание такой программы. Я перечислю
основные, помещая их в кавычки.
"&&" - Это условный оператор AND (И) -- Он подчиняется основным логическим
правилам. Предложение "Боб и Билли оба мужского пола" только тогда
будет истинно (TRUE) если Боб мужского пола И Билли тоже мужского пола.
"||" - Это условный оператор OR (ИЛИ) -- Он подчиняется основным логическим
правилам. Предложение "Боб или Билли мужского пола" только тогда будет
ложным (FALSE) если и Боб и Билли оба НЕ мужского пола. Если Боб мужчина,
выражение истинно. Если Билли мужчина, выражение истинно. Если и Боб и
Билли оба мужчины, выражение истинно.
"!" - Это условный оператор NOT (НЕ) -- И снова, он подчиняется основным
логическим правилам. Предложение "Знаки stop не синие" истинно (TRUE).
Знаки stop НЕ синие, они красные с белым.
** Помните, что любая величина, отличная от нуля, воспринимается как TRUE.
"==" - Это условный оператор равенства -- Для начала, он НЕ устанавливает двум переменным
одно и то же значение. Он проверяет, являются ли две величины равными. Например:
if(2 == 2) // Выражение истинно
if(2 == 4) // Выражение ложно
"<" - Это условный оператор "меньше" -- Подчиняется основной логике. Например:
if(2 < 6) // Выражение истинно
if(6 < 2) // Выражение ложно
if(2 < 2) // Выражение также ложно -- Два НЕ меньше двух (два равно двум)
">" - Это условный оператор "больше" -- Подчиняется основной логике. Например:
if(10 > 5) // Выражение истинно
if(3 > 7) // Выражение ложно
if(4 > 4) // Выражение также ложно -- Четыре НЕ больше четырех (они равны)
"<=" - Это условный оператор "меньше или равно" -- Работает абсолютно также, как и
оператор "<" --
if(2 <= 2) // Выражение истинно. Два меньше ИЛИ равно двум.
">=" - Это условный оператор "больше или равно" -- Работает абсолютно также, как и
оператор ">" --
if(4 >= 4) // Выражение истинно. Четыре больше ИЛИ равно четырем.
"!=" - И наконец, оператор "не равно". Работает согласно основной логике. Предложение
"Пятьдесят долларов не равно двум долларам" является истинным. (Если это не так,
у меня есть 2 доллара, чтобы поменяться с вами).
Программа, идущая ниже не делает ничего особо зрелищного -- Мы просто используем все эти
условные операторы, чтобы вы лучше поняли, как они работают.
*/
#include <stdlib.h> // чтобы мы смогли использовать "EXIT_SUCCESS"
#include <stdio.h> // чтобы мы смогли использовать "printf()"
int main()
{
int num1 = 20;
int num2 = 0;
/* Я не буду ничего особо комментировать в программе -- Посмотрите на то, что
выводится, и затем снова на текст программы -- Попробуйте изменять числа и
убедитесь, что вы точно ЗНАЕТЕ заранее, что будет напечатано на экран.
Я предлагаю следующие комбинации (если хотите, придумайте свои)
num1 = 0; num1 = -20; num1 = 22; num1 = 5;
num2 = 0; num2 = 0; num2 = 22; num2 = 15;
*/
// Примечание переводчика: true statement - истинное выражение, false statement - ложное выражение
if(num1 && num2)
printf("%d AND %d is a true statement\n\n",num1,num2);
else
printf("%d AND %d is a false statement\n\n",num1,num2);
if(num1 || num2)
printf("%d OR %d is a true statement\n\n",num1,num2);
else
printf("%d OR %d is a false statement\n\n",num1,num2);
if(!num1)
printf("NOT %d is a true statement\n\n",num1);
else
printf("NOT %d is a false statement\n\n",num1);
if(num1 == num2)
printf("%d EQUALS %d is a true statement\n\n",num1,num2);
else
printf("%d EQUALS %d is a false statement\n\n",num1,num2);
if(num1 < num2)
printf("%d is LESS THAN %d is a true statement\n\n",num1,num2);
else
printf("%d is LESS THAN %d is a false statement\n\n",num1,num2);
if(num1 > num2)
printf("%d is GREATER THAN %d is a true statement\n\n",num1,num2);
else
printf("%d is GREATER THAN %d is a false statement\n\n",num1,num2);
if(num1 <= num2)
printf("%d is LESS THAN OR EQUAL TO %d is a true statement\n\n",num1,num2);
else
printf("%d is LESS THAN OR EQUAL TO %d is a false statement\n\n",num1,num2);
if(num1 >= num2)
printf("%d is GREATER THAN OR EQUAL TO %d is a true statement\n\n",num1,num2);
else
printf("%d is GREATER THAN OR EQUAL TO %d is a false statement\n\n",num1,num2);
if(num1 != num2)
printf("%d DOES NOT EQUAL %d is a true statement\n\n",num1,num2);
else
printf("%d DOES NOT EQUAL %d is a false statement\n\n",num1,num2);
return EXIT_SUCCESS; // Программа успешно завершилась
}
// © 2001 GameTutorials
// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com
|