Главная chevron_right Функции chevron_right Символы chevron_right isUpperCase()

isUpperCase()

isUpperCase() проверяет, является ли символ char заглавной латинской буквой (A–Z), и возвращает true или false.

Полная статья

Описание

Функция isUpperCase() проверяет, является ли переданный символ заглавной латинской буквой (A–Z). Это удобно, когда нужно разобрать пользовательский ввод, обработать текстовый протокол или отфильтровать символы по регистру прямо в скетче.

Функция возвращает true, если символ — буква верхнего регистра, и false во всех остальных случаях: строчные буквы, цифры, пробелы и спецсимволы дадут false.

Синтаксис

isUpperCase(thisChar)

Параметры

thisChar: символ, который нужно проверить. Тип данных: char.

Возвращает

true, если переданный символ — заглавная буква (A–Z). Иначе — false.

Пример кода

char myChar = 'A';  // попробуйте с 'a' — символом в нижнем регистре

void setup() {
  Serial.begin(9600);

  if (isUpperCase(myChar)) {  // проверяем, является ли myChar заглавной буквой
    Serial.println("The character is upper case");
  } else {
    Serial.println("The character is not upper case");
  }
}

void loop() {
}

Где применяется

  • Парсинг команд по Serial — проверка, что пользователь ввёл команду в верхнем регистре, например 'S' для старта.
  • Валидация ввода — фильтрация символов с клавиатурного модуля или Bluetooth-терминала перед обработкой.
  • Разбор текстовых протоколов — когда регистр символа несёт смысловую нагрузку (например, заглавная буква означает определённый тип пакета).
  • Нормализация строк — поиск заглавных букв перед приведением к нижнему регистру через toLowerCase().

Практические замечания

  • Функция работает только с латинским алфавитом (ASCII A–Z). Кириллица, символы с диакритикой и другие Unicode-символы не распознаются как буквы верхнего регистра.
  • Цифры ('0''9'), пробел, знаки препинания и управляющие символы всегда вернут false.
  • Если символ получен из Serial.read(), он приходит как int. Сначала проверьте, что значение не равно -1, и только потом приводите его к char перед передачей в isUpperCase().
  • Функция не изменяет сам символ — она только проверяет его. Для преобразования регистра используйте toUpperCase() и toLowerCase().
  • Проверку удобно комбинировать с isAlpha(): сначала убедиться, что символ вообще является буквой, а затем уточнить его регистр.

Полезные материалы