I don't necessarily disagree with this assessment but you can easily create functionality in C that requires looking at multiple source files to understand whats going on.
x = foo(bar(), baz());
Now you have to look at the definitions for bar and baz to understand the cost of this line.I guess this is the trade-off with using a high level language. Expressivity vs transparency.