I see you have a bunch of rep at SO, so in case you're looking for a practical, coding-oriented answer:
angle = atan2(y2-y1, x2-x1)
(which may need to be Math.atan2
or something such, depending on your language of choice). This usually maps down to a hardware operation specifically constructed for solving exactly this problem, and is therefore more efficient than the formulas involving standard trigonometric functions you find in the other answers.
The result comes out in radians, of course.
There is a two variable function, called $\text{atan2}$ in C, that may do the job for you, if something like it is built into the piece of software that you are using.
For some discussion of the $\text{atan2}$ function, see this.
Roughly speaking, $\text{atan2}(y,x)$ is $\arctan(y/x)$ if $x$ is positive. If $x$ is negative, and $y\ge 0$, then $\text{atan2}(y,x)=\pi+\arctan(y/x)$, while if $x<0$ and $y<0$, then $\text{atan2}(y,x)=-\pi+\arctan(y/x)$. And so the program won't blow up, $\text{atan2}(y,x)$ is defined in the reasonable way when $x=0$.
In particular, $\text{atan2}(1/\sqrt{2},-1/\sqrt{2})=3\pi/4$, precisely what you wanted. You may be less happy with $\text{atan2}(-1/\sqrt{2},-1/\sqrt{2})$.
Warning: While many software packages implement an $\text{atan2}$-like function, the name and the syntax are not universal. Sometimes $x$ and $y$ are interchanged. The details for Fortran, C, Mathematica, MATLAB, and Excel, to mention some examples, are slightly different!
Best Answer
There are several different approaches you can take. Since you're asking about trigonometry and polar coordinates, here's an approach:
The angle to B can be found with $\theta_B = \sin^{-1}(B_y/B_x)$ where $B_y$ is the $y$ coordinate of B.
Then the angle to C is $\theta_C = \theta_B - A$
Finally, $C = (C_x,C_y) = (r \cos(\theta_C), r \sin(\theta_C)) $
If your origin $O$ is not at $(0,0)$, you can shift the whole thing down so that $O$ is temporarily at $(0,0)$, then you just shift your result back by the opposite amount.