K&R C Exercise 1-10: Make Tabs and Backspaces Visible

Exercise 1-10. Write a program to copy its input to its output, replacing each tab by t, each backspace by b, and each backslash by \. This makes tabs and backspaces visible. Approach The exercise is deceptively simple to state but teaches something subtle about C: the difference between a character’s value in the program …

K&R C Exercise 1-8: Count Blanks, Tabs, and Newlines

Exercise 1-8. Write a program to count blanks, tabs, and newlines. Approach The solution maintains three independent counters and reads one character at a time using the canonical getchar() loop. The key design decision is using three separate if statements rather than else if. In this case a character can only ever be one thing …

K\&R C Exercise 1-5: Reverse Temperature Table (300 to 0)

Exercise 1-5. Modify the temperature conversion program to print the table in reverse order, that is, from 300 degrees to 0. Approach The original K&R temperature program counts up: it starts fahr at 0, adds the step each iteration, and stops when fahr > 300. Reversing the table means changing exactly three things: (1) start …

K&R C Exercise 1-3: Add a Heading to the Temperature Table

Exercise 1-3. Modify the temperature conversion program to print a heading above the table. What the Base Program Does K&R Section 1.2 introduces a program that prints a Fahrenheit-to-Celsius conversion table from 0 to 300 in steps of 20. It uses integer arithmetic — celsius = 5 * (fahr – 32) / 9 — and …

K&R C Exercise 1-4: Celsius to Fahrenheit Table

Exercise 1-4. Write a program to print the corresponding Celsius to Fahrenheit table. Approach K&R Chapter 1 opens with a Fahrenheit-to-Celsius table, converting F values to Celsius using C = 5 × (F − 32) / 9. This exercise asks for the inverse: step through Celsius values (0, 20, 40, …, 300) and compute the …