There is no reason to add headers unless you actually need them.
Although for example you could define "OK" such as
Variables are critical parts of programming. They are really unavoidable.
1- My knowledge is not at the level that i can decide exactly which headers are needed , but just based on my general understanding and guessing i decide .
One example is that computer works on the mathematics and computing base so a math.h header (latest/best) possibly always will be useful.
2- I do-not/did-not define OK as 0 or 1 , i just defined that as the real meaning of it.
Here again i am going to be dragged into discussion ..but i have to answer just to answer , so i enter the discussion again :
I believe/understand that we are moving on the wrong basis , because :
OK != 0/1
True != 1/0
False != 0/1
but they have their real meanings as i mentioned before and you can see those meanings in any English dictionary
Here there is/was/has-been a problem :
Humans originally/mainly used their feet to move , but now/today they use wheels (cars, etc) , air-planes , ships , space-ships ...and far tomorrow ..maybe jump as in the movie named : jumper etc
So we have to use our feet (old definitions) while moving towards jumping !..etc
Most/nearly-all software are based on the old definitions , even computers bios and hardware are designed to work on the 0||1 (do-something or do-nothing) but it is the wrong basis !
I do not know how this must be , or , what exactly we should do , but i know that we should start moving forward while still using our feet !
3- variables are a basis for experimenting but not common in nature , but programming/programmers are mainly using variables (which are virtual and not real facts) ... as you said :
..but they should not be basis for programming/computer-training ..
Sorry if i waste time