\begin{figure}[c]
figure does not have a c option so that is a syntax error, but this image appears to be
part of the title layout so not a float at all so you do not want the figure environment at all.
\begin{center}
OK although it introduces vertical space
\rotatebox{0}{\scalebox{.40}{\includegraphics{fig1.png}}}
\rotatebox{0} (as has been previously noted) is just an inefficient way of doing \mbox \scalebox can be more simply done by using the scale options on the graphic.
\caption{This is a Flower}
\end{center}
Just use
\begin{center}
\includegraphics[scale=0.4]{fig1.png}
This is a flower
\end{center}
In the case of book you need to add this to \maketitle (oruse the titlepage environment.

\documentclass{book}
\usepackage[demo]{graphicx}
\long\def\addimage#1\vfil#2\vfil#3!!{\def\maketitle{#1\vfil#2\titleimage\vfil#3}}
\expandafter\addimage\maketitle!!
\begin{document}
\title{\textbf{ \Huge{My \LaTeX}}}
\author{\textbf{MKS}}
\date{\today}
\newcommand\titleimage{%
\begin{center}
\includegraphics{fig1.png}
\par
This is a Flower
\end{center}}
\maketitle
\end{document}