This book is a comprehensive and systematic account of the theory of p-adic and classical modular forms and the theory of the special values of arithmetic L-functions and p-adic L-functions. The approach is basically algebraic, and the treatment is elementary. No deep knowledge from algebraic geometry and representation theory is required. The author's main tool in dealing with these problems is taken from cohomology theory over Riemann surfaces, which is also explained in detail in the book. He also gives a concise but thorough treatment of analytic continuation and functional equation. Graduate students wishing to know more about L-functions will find this a unique introduction to this fascinating branch of mathematics.