Strictly speaking no. Modern CPUs, in order to improve performance, do tons and tons of optimizations under the hood. They execute things in parallel, leverage branch prediction, pipelining, etc. such that they can actually start, or even complete, operations that are supposed to happen after something that isn't actually done yet.
However, you don't need to worry about that. Great pains are taken to hide these implementation details from you. While those operations may not actually take place in the given order, it is impossible for you to ever observe the fact that they are out of order. In other words, you can always be sure that the resulting state of the computer after executing that code will be whatever it would be if the statements were executed in order. If the processor chooses to execute them out of order it will never result in a program that functions differently.
Of course, as said in the comments, this only applies to the execution of a single thread. When you have multiple threads executing there are very few guarantees about the observed order of execution of each operation.