What is the domain and range of f(x)=3^x-4?

You should have an idea what

f(x) = 3^x looks like

its domain is any real number of x
the range is y>0

so you have f(x) = 3^x - 4 , which just drops the curve down 4 units
the domain is still x ∈ R , the domain is y > -4

if you meant: f(x) = 3^(x-4) , then y = 3^x was shifted to the right 4 units.
domain still x ∈ R, range : y > 0