+ 3
Yes.
The 3rd one will be invalid though.
For the first one, the compiler is supposed to search the include folders linked under the compiler section of the IDE. So if the header is a custom one, and is not located in the 'include' folder under the default compiler installation directory, an error will be returned.
The second one indicates that the header is a local header for the respective folder and the compiler searches only the local project folder or the folder containing the C++ file for this header.
The third one may be invalid as I don't think end users are allowed to create headers without a file extension, as atleast this is how it is in CodeBlocks.