1 Chapitre 1 Les éléments de base du langage C Le C a été développé conjointeme
1 Chapitre 1 Les éléments de base du langage C Le C a été développé conjointement au système d'exploitation UNIX, dans les Laboratoires BELL par Dennis Ritchie en 1971. Le grand succès du langage C s'explique par les avantages suivants: universel : C n'est pas orienté vers un domaine d'applications spéciales, comme par exemple FORTRAN (applications scientifiques et techniques). compact et rapide: C est basé sur un noyau de fonctions et d'opérateurs limité, qui permet la formulation d'expressions simples, mais efficaces. 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. extensible : C ne se compose pas seulement des fonctions standards; le langage est animé par des bibliothèques de fonctions privées ou livrées par de nombreuses maisons de développement. I Structure d’un programme C Pour écrire un code C il faut : entrer un texte (le programme source) dans l'ordinateur (à l'aide d'un programme appelé EDITEUR). Ce texte doit être enregistré avec l’extension (*.C) ou (*.CPP). le traduire en langage machine (c'est à dire en codes binaires compréhensibles par l'ordinateur) : c'est la compilation et, si plusieurs modules ont été compilés séparément, l'édition de liens (LINK ou BIND). On obtient ainsi un fichier objet (*.obj). l'exécuter et on aura enfin un exécutable (*.exe). Un programme en C comporte : Une entête (header) constitué de méta instructions ou directives destinées au pré processeur (par exemple : inclusion de librairies de fonctions prédéfinies). Un bloc principal appelé main () : Qui représente la fonction principale (programme principale en algorithmique). Le corps des fonctions placées avant ou après le main() dans un ordre quelconque, les une après les autres. Partout, les variables et les fonctions font l’objet d’une déclaration précisant leur type. Exemple : calcul de la surface d’un cercle 2 En Pascal Langage C vers I Langage C vers II Program surface_cercle ; Const PI = 3.14 ; Function f_surface (rayon : real) : real ; Var s : real; Begin s:= rayon*rayon*PI; f_surface :=s; End ; Var surface : real ; Begin Surface:=f_surface(2.0); writeln(surface); end; #include <stdio.h> #define PI 3.14 float f_surface(float rayon) {float s; s=rayon*rayon*PI; return(s); } void main() { float surface; surface=f_surface (2.0); printf ("%f\n", surface); } #include <stdio.h> #define PI 3.14 float f_surface(float); void main () { float surface; surface=f_surface (2.0); printf ("%f\n", surface); } float f_surface(float rayon) {float s; s=rayon*rayon*PI; return(s); } II Les composants élémentaires du C : Un programme en langage C est constitué des six groupes de composants élémentaires suivants : les identificateurs les mots-clefs les constantes les chaînes de caractères, les opérateurs les signes de ponctuation. On peut ajouter à ces six groupes les commentaires, qui ne sont pas considérés par le pré processeur. II.1. Les identificateurs : C'est le nom affecté à une variable. Le nombre de caractères peut être limité, cela dépend du compilateur utilisé. L’identificateur d’une variable doit toujours être écrit de la même façon : Mon_Identificateur ≠ mon_identificateur ≠ MON_IDENTIFICATEUR. Les seuls caractères autorisés pour les noms de variables sont : - lettres NON accentuées ; - chiffres (sauf au début du nom) ; - caractères souligné « _ » II.2. Les mots clés : Un certain nombre de mots sont réservés pour le langage C et ne peuvent donc pas être utilisés comme identificateurs. L'ANSI-C compte 32 mots clefs : auto double int struct break else long switch case enum register typedef 3 char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while II.3. Les commentaires : Un commentaire débute par /* et se termine par */. Par exemple, /* Ceci est un commentaire */ « // » permet d’écrire un commentaire sur une même ligne II.4. Les constantes : Une constante est une valeur qui apparaît littéralement dans le code source d'un programme, le type de la constante étant déterminé par la façon dont la constante est écrite. Les constantes vont être utilisées, par exemple, pour l’initialisation de variables. II.4.1 Les constantes entières Une constante entière peut être représentée de 3 manières différentes suivant la base dans laquelle elle est écrite : décimale : par exemple, 0 et 2437 sont des constantes entières décimales. octale : la représentation octale d'un entier correspond à sa décomposition en base 8. Les constantes octales doivent commencer par un zéro. Par exemple, les représentations octales des entiers 0 et 255 sont respectivement 00 et 0377. hexadécimale : la représentation hexadécimale d'un entier correspond à sa décomposition en base 16. Les lettres de a/A à f/F sont utilisées pour représenter les nombres de 10 à 15. Les constantes hexadécimales doivent commencer par 0x ou 0X. Par exemple, les représentations hexadécimales de 14 et 255 sont respectivement 0xe et 0xff. Exemple : int Nb_lignes ; /* déclaration d’une variable de type entier */ Nb_lignes = 15 ; /* initialisation de cette variable à 15 */ #define TEL 75410452 const int annee = 2002 ; /* affecte une valeur à une variable, cette valeur ne pourra plus être changé par la suite */ II.4.2 Les constantes réelles Elles sont de l’une des deux formes suivantes : En notation décimale. Exemple : 2.5 -123.47 …. En notation scientifique. Exemple : -14.5 e-2 (-14.5 10-2) 4 II.4.3 Les constantes caractères Les constantes caractères permettent de désigner les valeurs entières correspondant aux codes ASCII des caractères. Elles sont sous une des formes suivantes : ‘x’ désigne le caractère imprimable x ( Sauf l’apostrophe et l’antislash et les guillemets) ‘\nnn’ désigne le caractère de code octal nnn (nnn est un nombre dans la base 8) Notion symbolique : ‘\n’ Passage à la ligne suivante ‘\r’ Retour du curseur en début de ligne ‘\b’ Déplacement du curseur d’un caractère vers la gauche ‘\f’ Déplacement à la page suivante ‘\t’ Déplacement du curseur d’une tabulation vers la droite ‘\v’ Déplacement du curseur d’une tabulation vers le bas II.4.4 Les constantes chaînes de caractères Une constante chaîne de caractères est une suite de caractères entourés par des guillemets. Par exemple, ''Ceci est une chaîne de caractères'' (ATTENTION : en pascal une chaîne est entourée par deux apostrophes ‘ceci est une chaîne en pascal’). Elle peut contenir des caractères non imprimables, désignés par les représentations vues précédemment. Par exemple, ''ligne 1 \n ligne 2'' A l'intérieur d'une chaîne de caractères, le caractère '' doit être désigné par \''. Remarque : Le compilateur ajoute « \0 » à la fin de la chaîne dans la mémoire. Il faut savoir distinguer la constante caractère de la constante chaîne de caractère. Ainsi ‘x’ et "x" ne sont pas équivalents. Le premier représente la valeur numérique du caractère x, le second est une chaîne ne comprenant qu’un caractère (la lettre x) en plus \0 final. II.5 Les types de données En C, il n’existe que quelques types fondamentaux de données : Le type char : représente un caractère. Le type int : un nombre entier. Le type float : un nombre en virgule flottante en simple précision. Le type double : un nombre en virgule flottante en double précision. Des qualificatifs peuvent préciser le type int : short, long, unsigned, signed. Les qualificatifs signed et unsigned peuvent préciser le type char. Le qualificatif long peut préciser le type double. Quand une déclaration ne précise pas le type de base, int est supposé le type par défaut. Exemple : short int x ; unsigned long y ; /* int implicite */ Long double z ; 5 unsigned char ch ; II.5.1 Déclaration de variables Les variables doivent toutes être déclarées avant d’être utilisées. A une variable correspond un espace en mémoire et un mécanisme permettant d’adresser cet emplacement. En C une variable est caractérisé par : Son nom (un identificateur) Son type (type de base ou type définie par l’utilisateur) Une déclaration de variables a la forme : Exemple: int var_globale1=0, var_globale2; float var ; int i,j,k ; char backslash=’\\’; int i=0 ;/*décalaration et initialisation*/ float eps=1.0 e-5 ; II.5.2 Déclaration de constantes Les constantes doivent toutes être déclarées et initialisées avant d’être utilisées. Il existe 2 méthodes pour la déclaration des constantes. Méthode 1 : #define nom_cste valeur /* Sans point virgule à la fin */ Exemple : #define PI 3.14 Le compilateur ne réserve pas de place en mémoire. Les constantes déclarées par #define s'écrivent traditionnellement en majuscules, mais ce n'est pas une obligation. Méthode 2 : const type nom_cste = valeur ; Exemple : const float PI = 3.14 ; Dans ce cas, le compilateur réserve de la place en mémoire (ici 4 octets), pour la variable PI, mais dont on ne peut changer la valeur. II.5.3 Conversion de types Le langage C permet d'effectuer des opérations de conversion de type: On utilise pour cela type liste de variables initialisées ou non; uploads/Litterature/ chapitre-1-les-elements-de-base-du-langage-c.pdf
Documents similaires










-
40
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 03, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.9335MB