"Discrete mathematics" is usually code for "whichever disjointed areas of mathematics computer science students need to know". It is not really intended to be a coherent whole, and often much of the effort in such a course is spent on teaching non-mathematicians the rudiments of how proofs and rigorous arguments look.
At some schools, students who also major in mathematics are not required to take the discrete math course at all (it was that way when I studied, for example).
As a mathematics major, you can mostly expect not to need to panic. Most of the ideas that will trouble the other students in the course are ones you should already have down pat as a pure-math student, so you can relax and focus on absorbing the substance of the theory that falls outside the usual mathematics curriculum -- often "discrete math" goes deeper into areas such as graph theory, formal language theory, possibly some logic and likely some computability theory too.
You may be asked to write down proofs in more excruciating detail than you're used to in math classes, but that is just because non-math CS students often have trouble in that area and need to see all of that detail.
It's not because it's a different kind of mathematics -- and if the standards of the "discrete math" course are different, that is just a concession to the less motivated student base, not because working computer scientists are expected to write their rigorous arguments in a different style than mathematicians.
(There are cultural differences between the fields, of course, but that comes down mostly to different degrees of familiarity with different techniques -- it's not like either of the fields actively frown on use of techniques from the other one).
Best Answer
Here are some books which I think can be classified as 'reference books.' Some are less rigorous than the material you'll learn in advanced pure math courses, but will always be helpful to you. I say this as an opinion, as they have been helpful to me throughout my university career.
I didn't cover all of the areas you listed but hopefully this helps.
Abstract Algebra - Dummit and Foote, Abstract Algebra. This book is humungous and contains pretty much everything you'll need in undergraduate algebra.
Calculus - For single variable stuff I say Spivak's Calculus. For multivariable, I still look back at James Stewart's Multivariable Calculus. Although this isn't a pure math book, it contains all of the main theorems, and more, you'll learn in 2nd year. It also contains tons of examples. When you learn differential geometry you'll go back and look at these theorems in a different light. A more rigorous multivariable calculus book that is worth storing on your shelf is Spivak's Calculus on Manifolds.
Real Analysis - I think J. Marsden and M. Hoffman, Elementary Classical Analysis is a great reference.
Linear Algebra - Friedberg, Insel, Spence, Linear Algebra. I still use all the time.
Complex Analysis - L. Alhlfors, Complex Analysis contains all the fundamentals.
Topology - Munkres, Topology. I think everyone who has studied topology knows this book. A definite reference book to have.