Apart from Alexander Gruber's answer, we may also determine the eigenvalues in two other ways.
Call your matrix $A$. As the case $b=0$ is trivial, we assume that $b\not=0$. First, note that if $v\perp b$, then $(v^T, 0)$ will be a left eigenvector of $A$ corresponding to the eigenvalue $1$. Hence the multiplicity of this eigenvalue is at least $n-2$.
Next, if $\lambda\not=1$ is an eigenvalue of $A$, then by a determinant formula for block matrices, we have $0=\det(A-\lambda I)=\det(I-\lambda I)\det[(c-\lambda)-b^T(I-\lambda I)^{-1}b]$ and therefore $(c-\lambda)-\|b\|^2/(1-\lambda)=0$. Hence the remaining two eigenvalues of $A$ are given by the two roots of the quadratic equation $\lambda^2 - (c+1)\lambda + (c-\|b\|^2)=0$.
Alternatively, suppose $w^T=(b^T+v^T, q-1)$ is a left eigenvectors of $A$, where $v\perp b$. Then $w^TA = \left(qb^T + v^T,\ \|b\|^2 + b^Tv + (q-1)c\right)$. In order that $qb^T+v^T$ is a multiple of $b^T+v^T$, we must have $v=0$ and the eigenvalue is $q$. So, by comparing the last elements of $w^T$ and $w^TA$, we must have $\|b\|^2 + (q-1)c = q(q-1)$, i.e. $q^2 - (c+1)q + (c-\|b\|^2)=0$.