How my browser can inherently trust a CA? Does in contain hard coded public key of the CA?
Your browser (and possibly your OS) ships with a list of trusted CAs. These pre-installed certificates serve as trust anchors to derive all further trust from. When visiting an HTTPS website, your browser verifies that the trust chain presented by the server during the TLS handshake ends at one of the locally trusted root certificates.
If so, why does not it expire?
Root certificates do expire, but they tend to have exceptionally long validity times (often about 20 years). You can expect that with an update of your browser or OS, you will get fresh root certificates before the old ones expire.
Where can I see what CAs are inherently trusted by the browser?
That depends on your browser. Some browsers will just use the central root certificate store of your OS, if available.
For Mozilla Firefox, you can find information about the included certificates here and in this source code file. From within Firefox, you can view all your installed certificates by going to
about:preferences and to Advanced > Certificates > View Certificates.
For Google Chrome, the root certificate policy can be found here. From within Google Chrome, you can go to the settings, click Show advanced settings... and under HTTPS/SSL you click Manage certificates to view all installed certificates.