Introduction au Langage C, exemple de programmation modulaire

Historique du langage C

• 1972: Dennis Ritchie (Bell Labs) conçoit un langage de programmation structuré mais « près de la machine » pour développer une version portable du système d’exploitation Unix.
• 1978: Brian Kernighan et Dennis Ritchie publient The C programming language, livre de référence du standard K&R  C.
• 1983: l’ANSI commissionne une définition explicite et indépendante de la machine pour C (standard C ANSI).
• 1988: 2ème édition de The C programming language, qui devient la référence du C ANSI.
• 1983: émergence du langage C++ (Bjarne Stroustrup et al., AT&T), ajoutant au C ANSI la programmation orientée objet.

Tour d’horizon Les avantages du langage C

• Langage universel: C n’est pas orienté vers un domaine d’application particulier, comme Fortran (applications scientifiques) ou COBOL (applications de gestion).
• Langage compact: le langage est constitué d’un noyau d’opérateurs et de fonctions prédéfinies limité (formulation simple et efficace): se limite aux fonctionnalités qui peuvent être traduites efficacement en langage machine.
• Langage « près de la machine »: C offre des opérateurs qui sont très proches de ceux du langage machine et des fonctions qui permettent un accès direct aux fonctions internes de l’ordinateur, notamment pour la gestion de la mémoire.

Tour d’horizon

Limitations du langage C
• Efficacité et compréhensibilité: il peut être difficilede concilier ces deux exigences, ex.:
for (i = 0; i < n; i++)
printf(« %6d%c », a[i], (i%10 == 9) ? ‘\n’:’ ‘);
for (i = 0; i < n; i = i + 1) {
printf(« %6d », a[i]);
if ((i%10) == 9) {
}
printf(“\n“);
}
else {
printf(“ “);
}

Tour d’horizon

Limitations du langage C
• Efficacité et compréhensibilité (suite):
void fonctionObscure(char t1[ ], char t2[ ]) {
while (*t2++ = *t1++);
}
void copieTableau(char t1[ ], char t2[ ]) {
int indice;
indice = 0;
while (t1[indice] != ‘’) {
}
t2[indice] = t1[indice];
i = i + 1;
}
t2[indice] = ‘’;

Exemple de programmation modulaire
• Application: gestion d’un ensemble d’étudiants (définis par un nom, un prénom, une date de naissance et une adresse).
• Modélisation possible:
– Module « chaîne de caractères » ( chaine.c, chaine.h): définition du type chaîne de caractères et des fonctions associées (saisie, comparaison, affichage, etc.)
– Module « date » ( date.c, date.h ): définition du type date et des fonctions associées.
– Module « étudiant » ( etudiant.c, etudiant.h ): définition du type étudiant et des fonctions associées.

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Introduction au Langage C (869,07 KO) (Cours PDF)
Introduction au Langage C

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *