C language for loop test condition is true, but does not execute statement statement statement?

  c++, question

Doubts about the execution sequence of the for loop.
When test is determined to be true, the value statement is executed

 int main(){
 int value;
 for(value = 4;   value > 0;  value /=2){
 printf("%d",value);  //View the last value of Value;
 return 0;

First cycle: value /=2 is not executed, and the result is output 4;
The second cycle: 4>0, execute value /= 2 == 2, and output 2 as the result;
The third cycle: 2>0, execute value /= 2 == 1, and output 1 as the result;
The fourth cycle: 1>0, execute value /= 2 == 0, and output 0 as the result;
This is my understanding, but the actual result only outputs 4,2,1, not 0. Is it because after the for loop executes update, it is necessary to return to test once again to determine whether to execute the statement statement statement?

The title owner may have a little deviation in his understanding of what is called “a cycle”. Look at the following flowchart and you should be able to understand it yourself.


Reference:C++ for loop