This chapter goes into more depth about relational and logical operators. You will have to use these concepts to write complex programs that other people can read and follow.
7. Character Data and Operators
7.2. Lexical Ordering
The order in which the characters of a character set are arranged, their
lexical order, is an important feature of the character set. It especially
comes into play for such tasks as arranging strings in alphabetical order.
Although the actual integer values assigned to the individual characters by ASCII and UNICODE encoding seem somewhat arbitrary, the
characters are, in fact, arranged in a particular order. For example, note
that various sequences of digits, '0'...'9', and letters, 'a'...'z' and
'A'...'Z', are represented by sequences of integers (Table 5.11). This
makes it possible to represent the lexical order of the characters in terms of
the less than relationship among integers. The fact that 'a' comes before 'f'
in alphabetical order is represented by the fact that 97 (the integer code for
'a') is less than 102 (the integer code for 'f'). Similarly, the digit '5' comes
before the digit '9' in an alphabetical sequence because 53 (the integer code
for '5') is less than 57 (the integer code for '9').
This ordering relationship extends throughout the character set. Thus,
it is also the case that 'A' comes before 'a' in the lexical ordering because 65
(the integer code for 'A') is less than 97 (the integer code for 'a'). Similarly,
the character '[' comes before '}' because its integer code (91) is less than
125, the integer code for '}'.