Suppose When a user doing the registration, site will ask that "Do you like to show your email ID?" If the user selects YES then the site will show his email ID and if it selecet no the site will not, I am new to the drupal, so please help me.
Check out the following modules
A successor of Profile Privacy for Drupal 7 that works with standard Field API (ie. non-profile) user fields.
In easier-to-understand terms:
- All the user fields should have an "alterable privacy" checkbox.
- If this checkbox is ticked, the user should be presented with an additional checkbox for the privacy-enabled fields on user edit forms to be able to make that fields' values private.
- If this second checkbox is ticked for a field of a user, only the site administrators (members of roles with the "Access private fields" permission) and the user herself should be able to view that field's value.
This module allows users to set privacy options for their profile fields when using the core profile.module. It does not create any settings pages or configuration screens, and it integrates seamlessly with the existing profile module.
Check this out: Override user pages with a view
You should as well build up a view for the user page to control if the email address is displayed or not.