C: Difference between revisions
(→Loops) |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
[[wikipedia:C (programming language)|C]] is the core language of Unix and later GNU/Linux and the liberation of it's compiler software, ''[[wikipedia:Gnu Compiler Collection|gcc]]'' (the Gnu's alternative to the proprietary Unix C compiler (''cc'')), a foundation of the Free Software movement. | [[wikipedia:C (programming language)|C]] is the core language of Unix and later GNU/Linux and the liberation of it's compiler software, ''[[wikipedia:Gnu Compiler Collection|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 == | ||
Line 7: | Line 14: | ||
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). | 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 | * char | ||
=== int === | |||
''int'''s or integers are for whole numbers (no fractional parts). | |||
<source lang="c"> | <source lang="c"> | ||
Line 35: | Line 44: | ||
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. | 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 | == Loops == | ||
=== while === | |||
while (''expression'') | while (''expression'') | ||
''statement'' | ''statement'' | ||
for (''expr1'' | real example: | ||
<source lang="c"> | |||
var i=0; | |||
while (i<100) { | |||
printf("%d", i); | |||
i = i+1; | |||
} | |||
</source> | |||
=== for === | |||
for (''expr1''; ''expr2''; ''expr3'') | |||
''statement'' | ''statement'' | ||
is | ''for'' is actually just a compact form and is the same as saying: | ||
''expr1''; | ''expr1''; | ||
Line 51: | Line 73: | ||
} | } | ||
A simple counting example: | |||
<source lang="c"> | <source lang="c"> |
Latest revision as of 11:06, 20 October 2010
... 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