The expression used with the !if, !elif, and !elseif directives can consist of integer constants, string constants, built-in functions, or exit codes returned by programs. Integer constants can use the C unary operators for numerical negation (-), one's complement (~), and logical negation (!). Any of the C binary operators listed below any also be used: