Généralités sur le langage C
2 participants
Page 1 sur 1
Généralités sur le langage C
Historique
Le langage C est né en 1972 dans les laboratoires de la Bell Telephone (AT&T) des travaux de Brian Kernighan et Dennis Ritchie.
Il a été conçu à l'origine pour l'écriture du système d'exploitation UNIX (90-95% du noyau est écrit en C) et s'est vite imposé comme le langage de programmation sous UNIX.
Très inspiré des langages BCPL (Martin Richard) et B (Ken Thompson), il se présente comme un "super-assembleur" ou "assembleur portable". En fait c'est un compromis entre un langage de haut niveau (Pascal, Ada ...) et un langage de bas niveau (assembleur).
Il a été normalisé en 1989 par le comité X3J11 de l'American National Standards Institute (ANSI).
Caractéristiques
Langage structuré, conçu pour traiter les tâches d'un programme en les mettant dans des blocs.
Il produit des programmes efficaces : il possède les mêmes possibilités de contrôle de la machine que l'assembleur et il génére un code compact et rapide..
Déclaratif : normalement, tout objet C doit être déclaré avant d'être utilisé. S'il ne l'est pas, il est considéré comme étant du type entier.
Format libre : la mise en page des divers composants d'un programme est totalement libre.
Cette possibilité doit être exploitée pour rendre les programmes lisibles.
Modulaire : une application pourra être découpée en modules qui pourront être compilés séparément.
Un ensemble de programmes déjà opérationnels pourra être réuni dans une librairie. Cette aptitude permet au langage C de se développer de lui même.
Souple et permissivité : peu de vérifications et d'interdits, hormis la syntaxe. Il est important de remarquer que la tentation est grande d'utiliser cette caractéristique pour écrire le plus souvent des atrocités.
Transportable : les entrées/sorties sont réunies dans une librairie externe au langage
Structure d'un programme C
Un programme C est composé de :
Directives du préprocesseur : elles permettent d'effectuer des manipulations sur le texte du programme source *avant la compilation :
*inclusion de fichiers,
*substitutions,
*macros,
*compilation conditionnelle.
Une directive du préprocesseur est une ligne de programme source commençant par le caractère dièse (#).
Le préprocesseur (/lib/cpp) est appelé automatiquement, en tout premier, par la commande /bin/cc.
Déclarations/définitions :
Déclaration : la déclaration d'un objet C donne simplement ses caractéristiques au compilateur et ne génère aucun code.
Définition : la définition d'un objet C déclare cet objet et crée effectivement cet objet.
Fonctions : Ce sont des sous-programmes dont les instructions vont définir un traitement sur des variables.
Des commentaires : éliminés par le préprocesseur, ce sont des textes compris entre /* et */.
Structure d'une fonction
Une fonction est un bloc de code d'une ou plusieurs instructions qui peut renvoyer une valeur à l'expression qui l'utilise.
Elle peut retourner une valeur à la fonction appelante.
Le programme principal est une fonction dont le nom doit impérativement être main.
Les fonctions ne peuvent pas être imbriquées.
La forme générale (en ANSI)d'une fonction est :
[classe] [type] nom( [liste_de_parametres_formels] )
bloc_de_la_fonction
Les éléments entre [] dans cette syntaxe, signifique que cet élément est facultatif, car une valeur par défaut existe.
Structure d'un bloc
-Un bloc est une suite d'instructions élémentaires délimitées par des accolades { et }
-Un bloc peut contenir un ou plusieurs blocs inclus
-Un bloc peut commencer par des déclarations/définitions d'objets qui seront locaux à ce bloc. Ces objets ne pourront être utilisés que dans ce bloc et les éventuels blocs inclus à ce bloc.
Structure d'une instruction
-Une instruction élémentaire est une expression terminée par le caractère ; (point virgule)
-L'instruction nulle est composée d'un ; seul.
-Il est recommandé, afin de faciliter la lecture et le "deboguage" de ne mettre qu'une seule instruction par ligne dans le source du programme
Le langage C est né en 1972 dans les laboratoires de la Bell Telephone (AT&T) des travaux de Brian Kernighan et Dennis Ritchie.
Il a été conçu à l'origine pour l'écriture du système d'exploitation UNIX (90-95% du noyau est écrit en C) et s'est vite imposé comme le langage de programmation sous UNIX.
Très inspiré des langages BCPL (Martin Richard) et B (Ken Thompson), il se présente comme un "super-assembleur" ou "assembleur portable". En fait c'est un compromis entre un langage de haut niveau (Pascal, Ada ...) et un langage de bas niveau (assembleur).
Il a été normalisé en 1989 par le comité X3J11 de l'American National Standards Institute (ANSI).
Caractéristiques
Langage structuré, conçu pour traiter les tâches d'un programme en les mettant dans des blocs.
Il produit des programmes efficaces : il possède les mêmes possibilités de contrôle de la machine que l'assembleur et il génére un code compact et rapide..
Déclaratif : normalement, tout objet C doit être déclaré avant d'être utilisé. S'il ne l'est pas, il est considéré comme étant du type entier.
Format libre : la mise en page des divers composants d'un programme est totalement libre.
Cette possibilité doit être exploitée pour rendre les programmes lisibles.
Modulaire : une application pourra être découpée en modules qui pourront être compilés séparément.
Un ensemble de programmes déjà opérationnels pourra être réuni dans une librairie. Cette aptitude permet au langage C de se développer de lui même.
Souple et permissivité : peu de vérifications et d'interdits, hormis la syntaxe. Il est important de remarquer que la tentation est grande d'utiliser cette caractéristique pour écrire le plus souvent des atrocités.
Transportable : les entrées/sorties sont réunies dans une librairie externe au langage
Structure d'un programme C
Un programme C est composé de :
Directives du préprocesseur : elles permettent d'effectuer des manipulations sur le texte du programme source *avant la compilation :
*inclusion de fichiers,
*substitutions,
*macros,
*compilation conditionnelle.
Une directive du préprocesseur est une ligne de programme source commençant par le caractère dièse (#).
Le préprocesseur (/lib/cpp) est appelé automatiquement, en tout premier, par la commande /bin/cc.
Déclarations/définitions :
Déclaration : la déclaration d'un objet C donne simplement ses caractéristiques au compilateur et ne génère aucun code.
Définition : la définition d'un objet C déclare cet objet et crée effectivement cet objet.
Fonctions : Ce sont des sous-programmes dont les instructions vont définir un traitement sur des variables.
Des commentaires : éliminés par le préprocesseur, ce sont des textes compris entre /* et */.
Structure d'une fonction
Une fonction est un bloc de code d'une ou plusieurs instructions qui peut renvoyer une valeur à l'expression qui l'utilise.
Elle peut retourner une valeur à la fonction appelante.
Le programme principal est une fonction dont le nom doit impérativement être main.
Les fonctions ne peuvent pas être imbriquées.
La forme générale (en ANSI)d'une fonction est :
[classe] [type] nom( [liste_de_parametres_formels] )
bloc_de_la_fonction
Les éléments entre [] dans cette syntaxe, signifique que cet élément est facultatif, car une valeur par défaut existe.
Structure d'un bloc
-Un bloc est une suite d'instructions élémentaires délimitées par des accolades { et }
-Un bloc peut contenir un ou plusieurs blocs inclus
-Un bloc peut commencer par des déclarations/définitions d'objets qui seront locaux à ce bloc. Ces objets ne pourront être utilisés que dans ce bloc et les éventuels blocs inclus à ce bloc.
Structure d'une instruction
-Une instruction élémentaire est une expression terminée par le caractère ; (point virgule)
-L'instruction nulle est composée d'un ; seul.
-Il est recommandé, afin de faciliter la lecture et le "deboguage" de ne mettre qu'une seule instruction par ligne dans le source du programme
sweetty- Equipe du Forum
- Messages : 40
Date d'inscription : 10/09/2007
Age : 36
Re: Généralités sur le langage C
De rien Admin
sweetty- Equipe du Forum
- Messages : 40
Date d'inscription : 10/09/2007
Age : 36
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|