Par Philippe ROLLAND
bibliographie:
Le language C. Kernigan et Ritchie. Masson
La programmation sous UNIX. Rifflet. MacGraw-Hill
Manuel de l'utilisateur de Turbo C. Delanoë. Masson
CodeWarrior: Pascal Language Reference
Introduction au language C. Jean-Yves Martin. Support de cours : Ecole Centrale de Nantes.
Informatique : Module i1. Robbes, Tallineau, Tartier. Support de cours : Université de Nantes.
Encyclopedia Universalis
- Fonctions
- Variables
- Données simples et structurées
- Structures conditionnelles et répétitives
- Pointeurs et tableaux
Toutes les fonctions peuvent être appelées de façon recurssives. Leurs variables locales sont alors recréées à chaque appel. Ces variables sont dites automatiques.Retour
Les définitions des fonctions ne peuvent pas être emboitées. Ce qui est accepté par le langage Pascal, que cela soit pour les procédures ou les fonctions.
Les déclarations peuvent être déclarées dans un bloc structurés. En C, un bloc est un couple d'accolade ouvrante fermante (ie { et } ) ; c'est-à-dire l'équivalent du begin-end en Pascal. A noter que cela était impossible en Pascal.
Les fonctions peuvent être compilées séparement.
Les variables peuvent avoir des portées différentes. Elles peuvent être :
interne à une fonctionD'autre part les variables mis à part leur type, peuvent avoir certaines propriétées :
externe, mais
connu seulement d'un seul fichier
globale sur tout le projet
automatiqueen C, c'est le compilateur qui attribuera le registre associé à une variable déclarée register, ie ce n'est pas le programmeur.
statique
register
Finallement, les variables ont un type. Ce type peut être soit fondamentale soit plus complexe, ie basé sur une structure, une réunion, pointeur, ...
Les types fonfamentaux (norme ANSI : American National Standard Institut) sont :
Type | DEC PDP-11 | HoneyWell 6000 |
---|---|---|
char | 8 bits | 9 bits|
int | 16 | 36 |
short | 16 | 36 |
long | 32 | 36 |
float | 32 | 36 |
double | 64 | 72 |
les caractères (char)A partir de ces objets fondamentaux, à l'aide de constructeurs tel que
les entiers (int, short, long, (unsigned)) : par exemple (int sur 32 bits, short sur 16, long sur 32). Les unsigned sont des entiers (int, short, ou long) positifs.
les nombres à virgules flotante (float, double)
structureson peut construire des données structurées.
réunions
fonctions
pointeurs et tableaux
Les conditionnelles :
if <proposition> {action(s)}Les répétitives :
if <proposition> {action(s)} else {action(s)_bis}
switch (<variable>) { case <valeur_variable> : action(s) }
while <proposition> { action(s)}
for (exp1 ; exp2 ; exp3) { action(s) }
Les arguments des fonctions sont transmis en recopiant de l'argument. Ce qui implique qu'il est impossible pour la fonction appelée de modifier l'argument dans le programme appelant.On note que les noms de tableaux en C, correspondent à l'adresse d'origine de ces tableaux.
Quand on veut réaliser un appel par variable, on fournit explicitement l'adresse de cette variable ; ie un pointeur.