Cours de C

Chapitre 1 : Premiers contacts


1) Introduction

Le C a été créé dans les années 1972-73 par Kernighan et Ritchie dans le but d'écrire le noyau du premier Unix. Il est maintenant inconcevable d'acquérir un système Unix sans avoir un compilateur C livré avec. Linux ne déroge pas à la règle, puisqu'il est livré avec gcc : le GNU C Compilator.
Le C est un langage d'assez bas niveau. Il reste près de la machine, sans quand même atteindre les lourdeurs de l'assembleur. Ce langage possède donc des avantages et des inconvénients des langages de haut niveau et de bas niveau. Il est rapide, mais reste très portable, ce qui n'est évidemment pas le cas de l'assembleur. Le C a été normalisé par ANSI, ce qui garantit, dans la très grande majorité des cas une quasi parfaite portabilité.


2) Programme minimum :

void main(void)
{
}



3) Comment compiler ???

Avec un éditeur de texte, ecrivez ce programme ô combien inutile dans un fichier nommé mini.c (par exemple). Ensuite tapez la ligne de commande suivante :
gcc mini.c -o mini

Vous devez disposer d'un nouveau fichier : mini.
Tapez maintenant la ligne de commande mini et rien ne se passe : c'est normal car ce programme ne fait rien. Il nous permet tout de même certaines remarques :



4) Voyons maintenant un exemple plus explicite :

Tapez le fichier suivant :

/* Premier programme en C
Affichage et modification d'une variable */

#include <stdio.h>

void main()
{
int i ;

i=4;
printf("Bonjour \n") ;
printf("i=%d\n",i);
i=i+1;
printf("Maintenant i=%d\n",i);
printf("Merci, bonsoir\n");
}


Compilation : Comme tout à l'heure : gcc maxi.c -o maxi (en supposant que votre fichier s'appelle maxi.c)

Remarques :

La suite ne devrait pas poser de problèmes.

Voilà, vous savez maintenant faire une "Hello World" application.
Nous verrons les structures de contrôle (if, for, while) dans le prochain article.
D'ici là, vous pouvez toujours m'écrire à : minfo25@crisv2.univ-pau.fr

Ce document n'a été écrit qu'à titre indicatif. Je ne peux en aucun cas garantir les informations qu'il contient. Ecrivez-moi pour me signaler mes erreurs !!!