It prints three characters: ' ' -> 32, '!' -> 33, '\n' -> 10
a determines the number of repetition of the character to print from the array. b is the index in the array for a. c determines when to print the new line character '\n'.
c='Z' -> 90 so c/ 9 -> 10
The difference between 32 and 33 is the least significant bit. 33^b&1 toggles the least significant according to the index variable b. Basically an even/odd condition.