C wars: Chapter 4: A new loop
Chapter four: A new loop
Today, I'll talk about one of the most important structures in programming:
This series is taking a 24 hour break. Yes, no post on Wednesday.
You know what a loop is in real life, right?
A loop in programming does the same thing, except it does it based on a boolean value.
Loop #1: While.
This loop has no magic. Just does the code inside
bool is true:
Let me introduce you to a new function,
This reads a char from STDIN and returns it.
So let's make a program that reads input:
This introduces a few new concepts.
When you put an assignment in
(), you can use it to compare.
is equal to
Loop #2: For loops
These are a little more complex.
They have the syntax
The assignment is usually
int i = 0.
i to 0;
The bool is a boolean, usually dealing with
i < 10.
And change is how to change the variable.
Now is a ripe time to introduce to two new operators:
This changes tha
int by one.
There are two forms:
What's the difference?
Well, i++ adds one to i, but returns i.
While ++i will say:
Now, back to the for loop:
To print all the numbers between 1-100, you would use:
Loop #3: Do while.
This loop is a bit overlooked.
To know why this loop exisits, we have to look a little close at the while loop.
If you have this code:
Will it run. No. (We can't tell if it will halt, though.)
However, if you use a d-w (do-while), it will run.
The D-W syntax is:
Again, bool is a boolean condition.
So you can complete your homework, I need to teach you one more thing:
This computes the remainder between two numbers.
It's commonly used to check if a number is even.
if (num % 2 == 0)
Now, make a program that computes the Collatz conjucture
The Collatx conjucture states:
If a number is even, divide it by two.
If not, triple it and add one.
If you do this enough, it will become one.
Impliment this in C.
Please progmpt the user for input and print out the number after each cycle:
Part One: The Segfault menace