Généralités
Le langage C est né vers 1972 dans les laboratoires de BELL Telephone des travaux de Brian Kuningan et Debbie Ritchie. Il a été conçu au début pour l'écriture du système d'exploitation UNIX et s'est vite imposé comme langage de programmation sous UNIX. Aujourd'hui le langage C est l'est des langages les plus utilisés. Il est à la fois facile à utiliser et très efficace. Il souffre cependant d'être compliqué et illisible.
Structure d'un programme en C
Un programme en C est composé:
- Des directives de compilation
- Déclaration des variables
- Déclaration des fonctions
- Les commentaires
- La fonction principale
- La définition des fonctions
Les directives de compilation
Les directives de compilation ou directives du professeur permettent d'effectuer des manipulations sur le texte du programme source avant la compilation. On distingue:
- Les directives d'inclusion de fichier
- Les directives de substitution
Une directive de compilation est une ligne du programme source commençant par le caractère #.
Les directives d'inclusion sont reconnues par le mot #include
Alors que les directives de substitution sont reconnues par le mot #define
Exemple:
#define N 5
Déclaration des variables
Comme en Pascal, la déclaration d'un objet en C donne tout simplement ses caractéristiques au compilateur et ne gère aucun code.
Exemple:
var a : integer;
Déclaration des fonctions
Les fonctions sont des sous-programmes donc les instructions définissent un traitement sur les variables. Une fonction est donc un bloc de code constitué d'une ou de plusieurs instructions et pouvant renvoyer une valeur.
Les commentaires
Les commentaires sont éliminés par le processeur lors de la compilation. Ce sont des textes compris entre /* et */
Fonction principale main
De façon générale, un programme en C est un ensemble de fonction dont la fonction principale est appelée main(). Sa structure est la suivante:
main ()
{[déclaration des variables locales];
ensemble des instructions;
return 0;
}
Définition des fonctions
Le langage C ne permet d'écrire que des fonctions, pas de procédure. Une procédure peut être écrite en utilisant une fonction ne renvoyant pas de valeur, ou en ignorant la valeur de retour d'une fonction permet de créer effectivement cette fonction.
- En C une instruction élémentaire est une expression terminée par le caractère ; .
- L'instruction nulle est constituée d'un seul ; .
- Il est recommandé afin de faciliter la lecture et le débogage, de ne mettre qu'une seulle instruction par ligne dans la source du programme.
Exemple de programme en C
/**********************
Mon premier programme
************************/
#include
#define DEBUT 1
#define FIN 10
#define MSG "Mon premier programme"
int carre(intx); /"déclaration des fonctions*/
int cube (intx);
main()
{
/*Programme principale*/
int i; /*déclaration des variables*/
printf (MSG);
printf ("\n");
for(i=DEBUR; i<=FIN; i++)
{printf("%d carré: %d ", i, carre(i));
printf("cube: %d \n", cube(i));
} /*fin de la boucle for*/
return 0;
} /*fin de la fonction main*/
/*définition de la fonction*/
in carre (int x)
{
return x*x;
}
/*définition de la deuxième fonction*/
int cube (int x)
{
returne x*carre(x);
}
Création d'un programme en C
La création d'un programme exécutable en C se passe en plusieurs étapes:
- La saisie du texte du programme grâce à un éditeur de texte.
- La traduction du programme: La traduction des programmes en C se fait en deux étapes:
- Le traitement par le préprocesseur qui consiste à éliminer tous les directions de compilation en vu de l'obtention d'un programme (code source) en langage C pure.
- La compilation proprement dite qui produit un module objet: C'est la traduction en langage machine du code source fourni par le préprocesseur.
- L'éditeur des liens: Le module objet créé par le compilateur n'est pas directement exécutable. Il lui manque au moins les différents modules objet correspondant aux fonctions prédéfinies utilisées par le programme.
Exemple: printf ; scanf;
L'éditeur des liens cherche dans les bibliothèques ses modules et les insèrent à leur place. Le résultat de l'éditeur des liens est un programme exécutable qui peut s'exécuter de façon autonome
Quelques éléments de la bibliothèque standard
La bibliothèque standard est constituée de plusieurs sous bibliothèques. A chaque sous bibliothèque est associé un fichier en-tête qui a pour extension .h
stdio.h (standard input output)
stdio.h permet de gérer les entrées-sorties:
- Les fichiers
- La lecture
- L'écriture
ctype.h
ctype.h permet d'effectuer des tests su les caractères et la conversion minuscule majuscule.
string.h
string.h permet la manipulation des chaînes de caractère.
math.h
math.h permet l'utilisation des fonctions mathématiques.
stdlib.h
stdlib.h permet la conversion des types, l'allocation de la mémoire.