C
... a programming language to follow B.
C is the core language of Unix and later GNU/Linux and the liberation of it's compiler software, gcc (the Gnu's alternative to the proprietary Unix C compiler (cc)), a foundation of the Free Software movement.
Key differences from Python
For those coming to C from Python, there are several important differences:
- All variables have a fixed type (int, char, etc) and must be declared before use
- Whitespace (spaces, tabs, newlines) does not generally matter in C. Blocks (like for loops, if statements) are always indicated with curly braces {}. Indentation is still recommended for readability however.
- Source must be compiled first before executing.
Variables
Variables in C are strictly typed meaning they always are one particular kind of representation of information (an integer number, a character, a string of text).
- int
- char
int
int's or integers are for whole numbers (no fractional parts).
int i = 0;
printf("%d\n", i);
(short and long are "qualifiers" that then can be used before the word in as in:
short int foo;
long int bar;
In these cases the word int can be left out.)
Strings
Strings in C are arrays of characters.
char text[] = "pioneering jazz electronic organ recordings";
int textlen = strlen(text);
printf("%s id %d chars long, and starts with %c\n", text, textlen, text[0]);
Abstractly a string in C is simply a pointer; that is, a numeric memory location pointing to the first character of the text in the memory.
Loops
while
while (expression) statement
real example:
var i=0;
while (i<100) {
printf("%d", i);
i = i+1;
}
for
for (expr1; expr2; expr3) statement
for is actually just a compact form and is the same as saying:
expr1; while (expr2) { statement expr3; }
A simple counting example:
int i;
for (i=0; i<10; i++) {
printf("Hello %d\n", i);
}
If-Else
if (expression) statement else statement
Else-if allows for more than one possibility:
if (expression) statement else if (expression) statement else if (expression) statement else statement