In any *-semigroup or semigroup S, it is shown that the Moore–Penrose inverse y=a†, the author’s pseudo-inverse y=a′, Chipman’s weighted inverse and the Bott–Duffin inverse are all special cases of the more general class of “(b,c)-inverses”y∈S satisfying y∈(bSy)∩(ySc), yab=b and cay=c. These (b,c)-inverses always satisfy yay=y, are always unique when they exist, and exist if and only if b∈Scab and c∈cabS, in which case, under the partial order M of Mitsch, y is also the unique M-greatest element of the set Xa=Xa,b,c={x:x∈S,xax=x and x∈(bSx)∩(xSc)} and the unique M-least element of Za=Za,b,c={z:z∈S,zaz=z,zab=b and caz=c}. The above all holds in arbitrary semigroups S, hence in particular in any associative ring R. For any complex n×n matrices a,b,c, an efficient uniform procedure is given to compute the (b,c)-inverse of a whenever it exists. In the ring case, a∈R is called “weakly invertible” if there exist b,c∈R satisfying 1-b∈(1-a)R,1-c∈R(1-a) such that a has a (b,c)-inverse y satisfying ay=ya, and it is shown that a is weakly invertible if and only if a is strongly clean in the sense of Nicholson, i.e. a=u+e for some unit u and idempotent e with eu=ue.