Of course there is the C programming language k&r and also Expert C programming which kind of cool also, but if you want to make really great software and write great code, then your only is not books but real OSS, go write some small project, improve it, present it to community and have it criticized , and so on in a loop, look for big projects source and learn from them, one fairly interesting project is radare2[1], it's a really cool project, please feel free to choose but look at projects already made and try to understand, you will learn a bunch from doing that.
[1] https://github.com/radare/radare2