One of my older C programming books featured a sample program that translated English words into their Pig Latin equivalent. It’s time to revisit this code.
Continue reading
Category Archives: Lesson
What is That Defined Constant’s Value?
The C language uses defined constants to represent consistent values across platforms. For example, the PATH_MAX
value might be 260 on one system and 4096 on another. It’s not important to know the specific value, just use the defined constant and your code builds and runs on various systems (hopefully).
Continue reading
Sorting the Hexwords, Part II
The problem with the code from last week’s Lesson is obvious: The decimal value of FEED is 1,044,205, not 2,314,885,530,818,453,605 as shown in the output. Before I can sort the list numerically, this error must be addressed.
Continue reading
Sorting the Hexwords, Part I
The Linux dictionary stores its words sorted alphabetically. Therefore, the output from the program presented in last week’s Lesson shows valid hexwords (letters A through F, four letters or longer) in alphabetic order. But what if I want the words output in numerical order?
Continue reading
The HexWord Tally and Total
The dictionary is full of words composed of only the letters A through F, which are also hexadecimal digits. These English language hexwords can be pulled from the computer’s digital dictionary, which was demonstrated in last week’s Lesson. Time to update the code!
Continue reading
HexWords
Hexadecimal, or counting base 16, uses letters A through F to represent values 11 through 15. This base — “hex” — is common in programming as it works as a shorthand for binary values. But the letters used are also letters, which means that they can spell words.
Continue reading
Testing For the random() Function
Silly me. I once assumed that just because my compiler offered the random() function — a superior version of the C library standard rand() function — that every compiler fatured this function. Boy, was I wrong!
Continue reading
Seeing What’s Left Over with Division
Learning division in school means long division. The process involves a quotient and a remainder. For example, 42÷8 works out to 5 (quotient) with 2 remainder. On a computer, however, division renders the result as 5.25. So how do you get the remainder separated?
Continue reading
The Second K&R Program (That No One Talks About)
The original K&R, the first C programming book — and truly the programming book all others are based upon, is famous for its “Hello, world!” program. It’s the first program in the book. But what about the second program? Do you know what it is?
Continue reading
More Terminal Screen Manipulation
Bouncing a cursor on the screen is a fun programming exercise, and you can use common C library techniques and ANSI escape sequences to make it happen in a terminal window, as covered in last week’s Lesson. At this point, most programmers would be content and leave well enough alone. Not me!
Continue reading