%cpu 列と C 列は、ほとんど同じではありませんが、同じことを示しています。 ps/output.c の ps のソースを見ると、pr_c と pr_cpu の違いがわかります
ご想像のとおり、C は %cpu の整数値です。奇妙な違いは、C が最大 99 に固定されているのに対し、%cpu はそうではないことです (%cpu のチェックはありますが、形式が xx.x% から xxx% に変更されるだけです)。
さて、なぜCにこのクランプがあるのか よくわかりません。少し恣意的なようです。これは procps 3.2.7 (2006) から存在しているので、おそらくシングル CPU の時代からのものでした