Introduction générale au langage C Chapitre I Chapitre : 1 Introduction langage
Introduction générale au langage C Chapitre I Chapitre : 1 Introduction langage C générale au Introduction générale au langage C Chapitre I I- Historique : Dans les dernières années, aucun langage de programmation n'a pu se vanter d'une croissance en popularité comparable à celle du langage C et de son jeune frère C++. L'étonnant dans ce fait est que le langage C n'est pas un nouveau-né dans le monde informatique, mais qu'il trouve ses sources en 1972 dans les 'Bell Laboratories': Pour développer une version portable du système d'exploitation UNIX, Dennis M. Ritchie a conçu ce langage de programmation structuré, mais très 'près' de la machine. Le succès des années qui suivaient et le développement de compilateurs C par d'autres maisons ont rendu nécessaire la définition d'un standard actualisé et plus précis. En 1983, le 'American National Standards Institute' (ANSI) chargeait une commission de mettre au point 'une définition explicite et indépendante de la machine pour le langage C', qui devrait quand même conserver l'esprit du langage. Le résultat était le standard ANSI-C. En 1983 un groupe de développeurs de AT&T sous la direction de Bjarne Stroustrup a créé le langage C++. Le but était de développer un langage qui garderait les avantages de ANSI-C (portabilité, efficience) et qui permettrait en plus la programmation orientée objet. Depuis 1990 il existe une ébauche pour un Standard ANSI-C++. Entre-temps, AT&T a développé deux compilateurs C++ qui respectent les nouvelles déterminations de ANSI et qui sont considérés comme des quasi- standards. II- Avantages : Le grand succès du langage C s'explique par les avantages suivants; C est un langage : 1- Universel : Le langage C n'est pas orienté vers un domaine d'applications spéciales, comme par exemple FORTRAN (applications scientifiques et techniques) ou COBOL (applications commerciales ou traitant de grandes quantités de données). 2- Compact : Le langage C est basé sur un noyau de fonctions et d'opérateurs limité, qui permet la formulation d'expressions simples, mais efficaces. Introduction générale au langage C Chapitre I 3- Moderne : Le langage C est un langage structuré, déclaratif et récursif; il offre des structures de contrôle et de déclaration comparables à celles des autres grands langages de ce temps (FORTRAN, ALGOL68, PASCAL). 4- Près de la machine : Comme C a été développé en premier lieu pour programmer le système d'exploitation UNIX, il offre des opérateurs qui sont très proches de ceux du langage machine et des fonctions qui permettent un accès simple et direct aux fonctions internes de l'ordinateur (par .exp: la gestion de la mémoire). 6- Portable : En respectant le standard ANSI-C, il est possible d'utiliser le même programme sur tout autre système (autre hardware, autre système d'exploitation), simplement en le recompilant. 7- Extensible : Le langage C ne se compose pas seulement des fonctions standards ; il est enrichi par des bibliothèques de fonctions privées ou livrées par de nombreuses maisons de développement. III- Désavantages : Evidemment, rien n'est parfait. Jetons un petit coup d'oeil sur le revers de la médaille: 1- Efficience et compréhensibilité : En C, nous avons la possibilité d'utiliser des expressions compactes et efficientes. D'autre part, nos programmes doivent rester compréhensibles pour nous-mêmes et pour d'autres. Comme nous allons le constater sur les exemples suivants, ces deux exigences peuvent se contredire réciproquement. Introduction générale au langage C Chapitre I Exemple : Les deux lignes suivantes impriment les N premiers éléments d'un tableau A[], en insérant un espace entre les éléments et en commençant une nouvelle ligne après chaque dixième chiffre: for (i=0; i<n; i++) printf("%6d%c", a[i], (i%10==9)?'\n':' '); Cette notation est très pratique, mais plutôt intimidante pour un débutant. L'autre variante, plus près de la notation en Pascal, est plus lisible, mais elle ne profite pas des avantages du langage C: for (i=0; i<n; i=i+1) { printf("%6d", A[i]); if ((i%10) == 9) printf("\n"); else printf(" "); } 2- Limites de la portabilité : La portabilité est l'un des avantages les plus importants de C: en écrivant des programmes qui respectent le standard ANSI-C, nous pouvons les utiliser sur n'importe quelle machine possédant un compilateur ANSI-C. D'autre part, le répertoire des fonctions ANSI-C est assez limité. Si un programmeur désire faire appel à une fonction spécifique de la machine (par .exp: utiliser une carte graphique spéciale), il est assisté par une foule de fonctions 'préfabriquées', mais il doit être conscient qu'il risque de perdre la portabilité. Ainsi, il devient évident que les avantages d'un programme portable doivent être payés par la restriction des moyens de programmation. 3- Discipline de programmation : Les dangers de C : Nous voici arrivés à un point crucial: C est un langage proche de la machine, donc dangereux et bien que C soit un langage de programmation structurée, il ne nous force pas à adopter un certain style de programmation. Dans un certain sens, tout est permis et la tentation de programmer du 'code spaghetti' est grande. (même la commande 'goto', si redoutée par les puristes ne manque pas en C). Le programmeur a donc beaucoup de libertés, mais aussi des responsabilités: il doit veiller lui-même à adopter Introduction générale au langage C Chapitre I Analyser Algorithme Coder Programme IV- Les étapes de réalisation d’un programme C : 1- Activité de programmation : L’activité de programmation pet se résumer selon le schéma suivant : Spécifier Tester 2- Les étapes de réalisation d’un programme C : L’environnement de Turbo C appelé « environnement intégré » permet le développement complet de programmes, de leur saisie (écriture), à leur exécution en passant par leur compilation et leur édition de liens. On distingue alors quatre étapes : Œ Ecriture de programme ou édition : Il s’agit de la phase de saisie du texte d u programme, puis sa sauvegarde sous un nom d’extension « .c ». Ce fichier sera appelé code source ou fichier source (Exp : test.c). Compilation : Cette étape consiste à analyser syntaxiquement le p r o g r a m m e source et à le traduire en langage machine (par le compilateur). Le fichier produit comme résultat est appelé code objet ayant pour extension « .obj » (Exp : test.obj). Exécution Problème Données Enoncé Résultats Introduction générale au langage C Chapitre I Edition de liens : Le code objet créé au cours de la phase de compilation, bien q u e constitué d’instructions en langage machine, n’est pas directement exécutable. Il lui manque pour cela un ensemble de modules objets correspondant aux fonctions appelées par le programme déjà écrit (fonctions déjà prédéfinies au niveau de la bibliothèque du langage) : C’est le rôle de l’éditeur de liens qui effectuera l’incorporation de ces modules au niveau du programme. Le résultat de l’édition de liens est le programme exécutable ayant pour extension « .exe » (Exp : test.exe). Exécution : C’est la phase d’appel du programme (version exécutable) par s o n nom pour avoir les résultats. En résumé, on a : Compilateur Editeur de liens Lancement du Programme Remarque : Il est conseillé d’écrire des programmes où il y a des commentaires pour les rendre plus lisibles et plus compréhensibles. Programme Source (.c) Programme Objet (.obj) Programme Exécutable (.exe) Introduction générale au langage C Chapitre I 3- Structure d’un programme C : Un programme C est une suite de fonctions, chacune commence par « {« et se termine par « } » et dont la fonction représentant le programme principal s’appelle « main ( ) ». La structure d’un programme C se présente comme suit : Void main() { … // Déclarations … // Instructions … } fonction1(…) { … … } V- Règles générales d’écriture d’un programme C : 1- Les identificateurs : Ils servent à désigner les différents objets manipulés par le programme (variables, fonctions,…). C’est une suite de caractères alphanumériques commençant obligatoirement par une lettre. Remarques : Le caractère « _ » est considéré comme une lettre. Le langage C fait la différence entre les lettres majuscules et les lettres minuscules. La longueur d’un identificateur en langage C est fixée à 32 caractères (on peut l a modifier avec Option/Compiler/Source/Identifier/Length). 2- Les mots-clés : Ils représentent l’ensemble des mots de déclaration de types de variables et de types de fonctions et bien d’autres mots (void, char, int, if, for,…). Introduction générale au langage C Chapitre I 3- Les séparateurs : Ils représentent l’ensemble des caractères qu’on utilise pour séparer les identificateurs, les différentes instructions,…(, ; …). 4- Les commentaries : Le langage C autorise l’utilisation des commentaires notés entre « /* » et « */ » ou précédé par « // » s’il s’agit d’un commentaire sur une seule ligne, mais il n’accepte pas les commentaires imbriqués. Chapitre : Types de base en langage C Types de base en langage C Chapitre II Types de base en langage C Chapitre II I- Introduction : En C il existe quatre types de base : Les entiers (1, 2, -5, 157, etc.) : type int. Les nombres en points flottants (325, 45.14, 3.14, -47.1245, etc.) uploads/Industriel/ cours-c.pdf
Documents similaires










-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 25, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.3661MB