Alan,
You always should try in practice after you read, so you could check if you're right. How to check?
Here is how I think in my head about them ("++x", "x--", "--x"), like about a standalone expressions.
At the beginning you have x = 3.
1. x = 3
2. Since it is pre-increment, you
increment "x" first (3+1),
only then you place it in expression
int y = 4 * 5 / ...
3. As you know, your "x" is 4 now. Next step you have post-decrement (x--). So you
first place your current "x" value to expression,
then decrement.
int y = 4 * 5 / 4 + ...
4. You know from previous step. That your "x" after was placed to expression, then had to be decremented (4 - 1 = 3). So the last one you have is "--x". And current "x" is 3. So again,
decrement first again, and only
then place to expression.
int y = 4 * 5 / 4 + 2
5. And, since first multiplication/division, then addition,
you should think about it as:
int y = ((4 * 5) / 4) + 2
So you have:
int y = 20 / 4 + 2;
int y = 5 + 2;
int y = 7;
Hope it helps a bit.