I am supposed to teach an introductory C course with an unusual slant, and have trouble finding an appropriate textbook. The course will begin traditionally enough with variables, loops, conditionals, structures, pointers and fopen/fclose. Beyond that, however, every course and textbook I had seen is heavy on data structures, and touches on other topics lightly if at all. Whereas I need to stress data types, converting them one into the other, and bit manipulation. By the end of the course I do not care if my students know what a linked list is, let alone a binary tree, but they must have good understanding of ASCII, binary and hexadecimal. For example, it must be clear to them why number 353 is actually stored as 0x01 0x61 if it's and INT, but 0x33 0x35 0x33 if it's a CHAR*. Or why converting a numeric CHAR into an INT involves subtracting 48 -- and not 30, as previous example might suggest.

Is there a textbook with such emphasis on data types, bits, and hexadecimal, or am I doomed to writing my own?