В жизни все мы должны принимать решения. Чтобы принять решение, мы взвешиваем наши возможности, как и наши программы.
Вот общая форма структур принятия решений, найденных в C.
int target = 10;
if (target == 10) {
printf("Target is equal to 10");
}
if
заявлениеif
Оператор позволяет проверить , если выражение true
или false
, и выполнить другой код в зависимости от результата.
Чтобы оценить, равны ли две переменные, используется ==
оператор, как и в первом примере.
Операторы неравенства также могут использоваться для оценки выражений. Например:
int foo = 1;
int bar = 2;
if (foo < bar) {
printf("foo is smaller than bar.");
}
if (foo > bar) {
printf("foo is greater than bar.");
}
Мы можем использовать else
ключевое слово для выполнения кода, когда наше выражение оценивается как false
.
int foo = 1;
int bar = 2;
if (foo < bar) {
printf("foo is smaller than bar.");
} else {
printf("foo is greater than bar.");
}
Иногда у нас будет более двух результатов на выбор. В этих случаях мы можем «связать» несколько if
else
операторов вместе.
int foo = 1;
int bar = 2;
if (foo < bar) {
printf("foo is smaller than bar.");
} else if (foo == bar) {
printf("foo is equal to bar.");
} else {
printf("foo is greater than bar.");
}
Вы также можете вкладывать if
else
операторы, если хотите.
int peanuts_eaten = 22;
int peanuts_in_jar = 100;
int max_peanut_limit = 50;
if (peanuts_in_jar > 80) {
if (peanuts_eaten < max_peanut_limit) {
printf("Take as many peanuts as you want!\n");
}
} else {
if (peanuts_eaten > peanuts_in_jar) {
printf("You can't have anymore peanuts!\n");
}
else {
printf("Alright, just one more peanut.\n");
}
}
Два или более выражения можно вычислить вместе с помощью логических операторов, чтобы проверить, оцениваются ли два выражения true
вместе или хотя бы одно из них. Чтобы проверить, соответствуют ли оба выражения обоим выражениям true
, используйте оператор AND &&
. Чтобы проверить, соответствует ли хотя бы одно из выражений true
, используйте оператор OR ||
.
int foo = 1;
int bar = 2;
int moo = 3;
if (foo < bar && moo > bar) {
printf("foo is smaller than bar AND moo is larger than bar.");
}
if (foo < bar || moo > bar) {
printf("foo is smaller than bar OR moo is larger than bar.");
}
Аналогичным !
образом можно использовать оператор NOT :
int target = 9;
if (target != 10) {
printf("Target is not equal to 10");
}
В этом упражнении вы должны построить if
оператор внутри оператора guessNumber
функции, который проверяет, guess
равно ли число 555. Если это так, функция должна распечатать с использованием printf
«Верно. Вы угадали!». Если guess
меньше 555, функция должна распечатать с пометкой printf
«Ваше предположение слишком мало». Если guess
больше 555, функция должна распечатать с пометкой printf
«Ваше предположение слишком велико».
\n
в конец строки printf.