Chars are used to store letters and other signs using a coding named ASCII or UniCode, UniCode superseting ASCII in lastest versions of compilers.
ASCII - Wikipedia, the free encyclopedia
The ASCII/UniCode coding is used for input/output
When you type 0 on keyboard, you receive the code 48, but it is easier to use '0' in code rather than 48.
The ASCII/UniCode coding is used C, C++, C#, VB, Java, JS, any language.
In a computer, the screen (console mode), keyboard and files are all using ASCII/UniCode to encode every characters.
It mean that when you type 0 in Notepad and save the file, the file will hold 1 value which is 48. If you type "My name is Bond", the file will hold 77,121,32,110,97,109,101,32,105,115,32,66,111,110,100.
When you see 0, 1, 2 ... in code, the values are meant foe computation.
When you see '0', '1', '2' ... in code, it mean that it is related to Input/Output, either to check a keyboard input or to display that char on screen ...
It is easier to read '0', '1', '2' rather than 48, 49, 50 ...
It is easier to read "My name is Bond" rather than 77,121,32,110,97,109,101,32,105,115,32,66,111,110,100.