Definitely check out CS50 on edx. It's widely considered to be one of the best introductory computer science courses.
There's also a four-course sequence of C programming courses on Coursera. I used these alongside CS50, to approach the concepts from a different perspective. Here they are in order:
Writing, Running and Fixing Code in C
Pointers, Arrays, and Recursion
Interacting with the System and Managing Memory
And if you're interested in hardware at all, the Introduction to IoT specialisation uses C programming with Arduino (the first course is an intro to IoT and the 2nd and 3rd courses deal with C/Arduino; the subsequent courses go into Python/Raspberry Pi so you can skip those).
Build Your Own Lisp may also be of interest to you. I haven't done this one yet but it was highly recommended to me.
That said, if you do decide to buy books at some point, I highly recommend the two books that are used in CS50: C Programming, Absolute Beginner's Guide by Greg Perry and Programming in C, 4th ed., by Stephan Kochan.