The isupper function tests for any character that is an uppercase letter or is one of an implementation-defined set of characters for which none of iscntrl, isdigit, ispunctor isspace is true. In the "C" locale, isupper returns true only for the characters defined as upper case letters (as defined in ANSI C refsection 5.2.1).