Learning C and Assembly: Week Two
Week 2 of my C and Assembly journey, where I dove into C syntax with K.N. King's book and practiced hands-on exercises to sharpen foundational skills.
Chris Hansen Tech is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com. As an Amazon Associate, I earn from qualifying purchases.
Week two of my C and Assembly learning journey focused on getting deep into the fundamentals of C. I’ve been working through C Programming: A Modern Approach by K.N. King—a book that’s often recommended for its thorough coverage of the language. It definitely lives up to the hype.
K.N. King C Programming: A Modern Approach
I didn’t get much time to work on this project last week, and this post is a bit delayed thanks to the Memorial Day holiday here in the USA. I spent time with the kids at the zoo and playing outside—and I also made a trip to Minneapolis for the Home Assistant Community Day, which was a great chance to meet others who are deep into smart home automation.
Most of my time I had was spent hands-on, completing the exercises in the early chapters. Topics this week included:
- Formatted input/output (
printf
,scanf
) - Expressions and selection statements
- Loops and control flow
- Working with basic types
Even though these are concepts I already understand from working in C# and Delphi, doing them in C is a different kind of muscle memory. I made a point to not just complete the exercises, but also expand on them with better formatting, input validation, and clearer output—trying to make everything I write beginner-friendly, even if I’m the only beginner reading it.
One of the highlights this week was when I asked ChatGPT to compare my version of calendar.c
to the one in the book. It said mine was
better for learning. I’ll take the win.
Community and Progress
I also joined the “C and Assembly Developers” community on X. It’s been a solid group of people sharing resources, projects, and code reviews. It helps to know there are others going through the same learning process—even if many of them are far ahead.
What I Didn’t Get To
I didn’t spend time on requirements analysis or architecture this week. Between family life and trying to keep up the coding momentum, something had to give. That said, I think the deeper I go in C, the more it’ll shape how I think about problem decomposition and structure—which ties back to analysis in its own way.
Lessons This Week
- Don’t forget the
&
inscanf
. Trust me. - Reviewing your own code with another set of eyes—even if it’s AI—is incredibly useful.
- Doing the “boring” parts with care builds habits that scale when things get complex.
Next week, I plan to keep going with the book and start tying in some analysis practices—even if lightly—to keep that side of the project alive.
For the full background of why I’m learning C and Assembly, check out my project kick-off post.