Тернарный условный оператор
Часть раздела Fundamentals путешествия по C на Coddy — урок 29 из 63.
Тернарный условный оператор — это сокращенный способ записи инструкции if-else в одну строку.
Синтаксис следующий:
condition ? value_if_true : value_if_false;Давайте рассмотрим пример. Сначала приведем традиционный оператор if-else:
int max;
if (a > b) {
max = a;
} else {
max = b;
}Теперь давайте перепишем это, используя тернарный оператор:
int max = (a > b) ? a : b;В этом примере:
a > b— это условие- Если условие истинно, возвращается
a - Если условие ложно, возвращается
b
Тернарный оператор также может быть вложенным, но это может затруднить чтение кода:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);Задание
ЛегкоСоздайте программу, которая проверяет, является ли число положительным, отрицательным или нулем, используя условный оператор. Программа должна:
- Принимать целое число от пользователя.
- Использовать условный оператор, чтобы определить, является ли число положительным, отрицательным или нулем.
- Выводить результат в формате:
"The number is [positive/negative/zero]".
Шпаргалка
Тернарный условный оператор предоставляет сокращенный способ записи инструкции if-else в одну строку.
Синтаксис:
condition ? value_if_true : value_if_false;Пример сравнения традиционного if-else с тернарным оператором:
// Традиционный if-else
int max;
if (a > b) {
max = a;
} else {
max = b;
}
// Тернарный оператор
int max = (a > b) ? a : b;Тернарный оператор может быть вложенным, хотя это снижает читаемость:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);Попробуйте сами
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
// Напишите свой код ниже
char* result =
printf("The number is %s\n", result);
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Управляющие конструкции
Оператор IfКонструкция If - ElseКонструкция Else-IfОператор Switch CaseТернарный условный операторИтоговое заданиеВложенный If - Else2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание3Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторение