We empirically address the question of how stock prices respond to changes in demand. We quantify the relations between price change G over a time interval Deltat and two different measures of demand fluctuations: (a) Phi, defined as the difference between the number of buyer-initiated and seller-initiated trades, and (b) Omega, defined as the difference in number of shares traded in buyer- and seller-initiated trades. We find that the conditional expectation functions of price change for a given Phi or Omega, <G>(Phi) and <G>(Omega) ("market impact function"), display concave functional forms that seem universal for all stocks. For small Omega, we find a power-law behavior <G>(Omega) approximately Omega(1/8) with delta depending on Deltat (delta approximately 3 for Deltat=5 min, delta approximately 3/2 for Deltat=15 min and delta approximately 1 for large Deltat). We find that large price fluctuations occur when demand is very small-a fact that is reminiscent of large fluctuations that occur at critical points in spin systems, where the divergent nature of the response function leads to large fluctuations.