A sentinel-controlled loop
Requires a “priming read”
“Priming read” means you read one
data value (or set of data values) before
entering the while loop
Process data value(s) and then read
next value(s) at end of loop