"Now, if y = 0 in y^x, x must be positive -- Negative x yields divide by 0, and x = 0 yields
undefined 0^0 -- READERS: Please don't
launch that thread again!."
Have a look at this interesting link:
http://www.faqs.org/faqs/sci-math-faq/specialnumbers/0to0/
My own opinion is that assigning 0^0 the value 1 is far more useful and consistent that simply leaving it undefined. It isn't more 'true', just more useful.
Also, I've found it very intuitive and enlightening to consider the value of the function x^n for integer, positive n to actually mean the number of times you need to multiply 1 by n to compute the result. So:
X^1 = 1 * X (multiply 1 by X once)
X^2 = 1 * X * X (multiply 1 by X twice)
X^3 = 1 * X * X * X (multiply 1 by X thrice)
and so on. Then we have, naturally:
X^0 = 1 (multiply 1 by X zero times)
and further, when X happens to be zero:
0^0 = 1 (multiply 1 by 0 zero times)
So this natural definition fully coincides with the usual
values of x^n for integer, positive n, and has no problem
at all when either x or n or both are zero.
For negative n, just change "multiply" to "divide".
Best regards from V.