Code structure. What is "?"

The question mark ? is the conditional ternary operator.

condition ? result1 : result2

If condition is true, the entire expression evaluates to result1, and otherwise to result2.

int dir = (steps > 0)? HIGH:LOW;

This is the same as

if(steps>0)
{dir = HIGH;}
else
{ dir = LOW);