When I'm reading Weibel's proof to theorem 1.2.3, but have difficulties with understanding it.
$f: B\to C$ is monic, then $B$ is isomorphic to a subcomplex, say, $D$ of $C$. A kernel of $C\to C/B$ is a map $E\to C$, how can $E\to C$ be isomorphic to a map $f:B\to C$?
How does "$f$ is isomorphic to the kernel of $C\to C/B$" imply $f$ is the kernel of the cokernel of $f$?

One possibility of how to interpret $E\to C$ being isomorphic to $f:B\to C$ this is to view it as saying that there is an isomorphism $\phi : B\xrightarrow{\sim} E$ such that the map $f:B\to C$ and the kernel map $k:E\to C$ are related as $f = k\circ \phi$. (i.e., there is an isomorphism in the slice category $\mathbf{Ch}(A)/C$.)
Another possibility (my preferred interpretation, though I think Weibel was going for the interpretation above) is just to view it as saying $f: B\to C$ satisfies the universal property required of the kernel of the map $C\to C/B$. (Both interpretations are equivalent).
As for why this is true, if we had a map $F\to C$ such that $F\to C\to C/B$ is zero, then since $B_n$ is termwise the kernel of $C_n\to C_n/B_n$, we get a unique(!) termwise lift $F\to B$, and you can check that it has to respect the differentials, thus proving that $f: B\to C$ is the kernel of $C\to C/B$.