¿Por qué el alfabeto se divide en múltiples rangos en este código C?

En una biblioteca personalizada vi una implementación: inline int is_upper_alpha(char chValue) { if (((chValue >= 'A') && (chValue <= 'I')) || ((chValue >= 'J') && (chValue <= 'R')) || ((chValue >= 'S') && (chValue <= 'Z'))) return 1; return 0; } ¿Es...