Введение в условные выражения C: if / else и переключатель
Любой язык программирования предоставляет программистам возможность делать выбор.
Мы хотим сделать X в некоторых случаях и Y в других случаях.
Мы хотим проверять данные и делать выбор в зависимости от состояния этих данных.
C предоставляет нам 2 способа сделать это.
Первый - этоif
заявление, с егоelse
помощник, а второй -switch
утверждение.
if
Вif
оператор, вы можете проверить, выполняется ли условие, а затем выполнить блок, указанный в фигурных скобках:
int a = 1;
if (a == 1) {
/* do something */
}
Вы можете добавитьelse
блок для выполнения другого блока, если исходное условие оказывается ложным;
int a = 1;
if (a == 2) {
/* do something /
} else {
/ do something else */
}
Остерегайтесь одного распространенного источника ошибок - всегда используйте оператор сравнения==
в сравнениях, а не в операторе присваивания=
, иначеif
условная проверка всегда будет истинной, если только аргумент не0
, например, если вы:
int a = 0;
if (a = 0) {
/* never invoked */
}
Почему это происходит? Поскольку условная проверка будет искать логический результат (результат сравнения), а0
число всегда приравнивается к ложному значению. Все остальное верно, включая отрицательные числа.
У вас может быть несколькоelse
блоков путем объединения несколькихif
заявления:
int a = 1;
if (a == 2) {
/* do something /
} else if (a == 1) {
/ do something else /
} else {
/ do something else again */
}
switch
Если вам нужно сделать слишком много блоков if / else / if для выполнения проверки, возможно, потому что вам нужно проверить точное значение переменной, тогдаswitch
может быть вам очень полезно.
Вы можете указать переменную как условие и сериюcase
точки входа для каждого ожидаемого значения:
int a = 1;
switch (a) {
case 0:
/* do something /
break;
case 1:
/ do something else /
break;
case 2:
/ do something else */
break;
}
Нам нужноbreak
ключевое слово в конце каждого кейса, чтобы избежать выполнения следующего кейса по окончании предыдущего. Этот «каскадный» эффект может быть полезен в некоторых творческих целях.
В конце вы можете добавить «универсальный» случай с пометкойdefault
:
int a = 1;
switch (a) {
case 0:
/* do something /
break;
case 1:
/ do something else /
break;
case 2:
/ do something else /
break;
default:
/ handle all the other cases */
break;
}
Скачать мою бесплатнуюСправочник C
Больше уроков по clang:
- Введение в язык программирования C
- C Переменные и типы
- Константы C
- Операторы C
- C Условные выражения
- Как работать с петлями на C
- Введение в массивы C
- Как определить длину массива в C
- Введение в строки C
- Как найти длину строки в C
- Введение в указатели C
- Цикл по массиву с помощью C
- Логические значения в C
- Введение в функции C
- Как использовать NULL в C
- Основные концепции ввода-вывода в C
- Двойные кавычки против одинарных кавычек в C
- Как вернуть строку из функции C
- Как решить неявное объявление предупреждения библиотечной функции в C
- Как проверить значение символа в C
- Как напечатать процентный символ с помощью printf () на C
- Спецификаторы и модификаторы преобразования C
- Как получить доступ к параметрам командной строки в C
- Объем переменных в C
- Можете ли вы вкладывать функции в C?
- Статические переменные в C
- C Глобальные переменные
- Ключевое слово typedef в C
- C Перечислимые типы
- Структуры C
- Заголовочные файлы C
- Препроцессор C