si facile:

in c come in altri linguaggi esistono gli STATI LOGICI, che si ottengono mediante operatori appositi(< > >= <= e altri) oppure con test come if o while. questi 2 stati corrispondono a TRUE e FALSE. Ma il c non possiede questi 2 valori booleani se non sotto forma di numeri.

inoltre ogni numero diverso da zero se testato corrisponte a TRUE.
mentre zero corrisponde a FALSE.

il for funziona cosi:

la prima istruzione è l'inizializzazione, avviene una sola volta, poi il for passa alla seconda istruzione(dopo il punto e virgola) che è la condizione. Verifica se la condizione è TRUE e se lo è, esegue il ciclo. Se non metti maggiore uguale alla prima verifica saresti già nella condizione di FALSE(ma attento l'operatore di controllo uguaglianza è ==). e poi avviene la terza istruzione del for, cioè l'incremento o decremento della variabile. Questo è nel for standard...più usato...ma siccome sono 3 istruzioni, si possono usare anche in altro modo.