Initiation au langage C -------------------------------------------------------
Initiation au langage C --------------------------------------------------------------- Module A2I-1: Informatique 1 Masters: * Électronique et Systèmes de Communication (ESCom) * Mécanique et Énergétique(ME) * Physique et Sciences de la Matière(PSM) Pr. A. ZIYYAT 2007/2008 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.1. Un exemple de programme en langage C : Voici un programme en C : #include <stdio.h> #define TVA 18.6 main() { float HT; float TTC; printf ("Veuillez entrer le prix H.T. :"); scanf("%f",&HT); TTC=HT*(1+(TVA/100)); printf("Prix T.T.C. :%f\n",TTC); } Voici un exemple de l’exécution de ce programme: Veuillez entrer le prix H.T. :100 Prix T.T.C. :118.600000 1.2 Structure d’un programme en langage C La ligne : main() C’est une entête de fonction. Dans ce cas, le programme ne possède qu'une seule fonction, la fonction principale (main function). Cette ligne est obligatoire en C : elle définit le "point d'entrée" du programme, c'est à dire l'endroit où débutera l'exécution du programme. Le nom main est imposé. Le programme principal vient à la suite de cette entête. Il est délimité par des accolades { et }. Les instructions situées entre ces accolades forment un bloc, dit bloc d’instructions. Le bloc d’instruction de notre exemple comporte des déclarations de variables et des instructions. 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.3 Déclarations Les deux instructions : float HT; float TTC; sont des déclarations. Elles sont sous la forme : type listevariables; Une variable est une case mémoire de l'ordinateur, que l'on se réserve pour notre programme. On définit le nom que l'on choisit pour chaque variable, ainsi que son type, ici float, c'est à dire réel (type dit à virgule flottante, d'où ce nom). Les trois types scalaires de base du C sont l'entier (int), le réel (float) et le caractère (char). On ne peut jamais utiliser de variable sans l'avoir déclarée auparavant. Une faute de frappe devrait donc être facilement détectée. 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.3 Instructions Une instruction est un ordre élémentaire que l'on donne à la machine, qui manipulera les données (variables) du programme, ici soit par appel de fonctions (printf , scanf) soit par affectation (=). Toutes les instructions se terminent par un ;. Notre programme comporte 4 instructions: 1: printf ("Veuillez entrer le prix H.T. :"); 2: scanf("%f",&HT); 3: TTC=HT*(1+(TVA/100)); 4: printf("Prix T.T.C. :%f\n",TTC); Voyons ces quatre instructions: 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.3 Instructions L’instruction : printf ("Veuillez entrer le prix H.T. :"); appelle en fait une fonction prédéfinie (fournie avec le langage C) nommée printf. Ici, cette fonction reçoit un argument qui est : "Veuillez entrer le prix H.T. :" Les guillemets servent à délimité une "chaine de caractères" (suite de caractères). printf: affiche à l'écran le texte qu'on lui donne (entre parenthèses, comme tout ce que l'on donne à une fonction, et entre guillemets, comme toute constante texte en C). L’autre instruction contenant printf à la fin du programme, soit : printf("Prix T.T.C. :%f\n",TTC); affiche le résultat stocké dans TTC. Seulement cette fois ci, la fonction « printf » reçoit ici deux arguments. Pour comprendre son fonctionnement, il faut savoir que le premier argument de prinf est ce que l’on nomme un « Format ». Il s’agit d’une commande précisant comment afficher les informations qui sont fournis par les arguments. 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.3 Instructions scanf("%f",&HT); scanf attend que l'on entre une valeur au clavier, puis la met dans la mémoire (on préfère dire variable) HT, sous format réel (%f). La fonction scanf reçoit ici deux arguments. 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.3 Instructions TTC=HT*(1+(TVA/100)); une affectation : on commence par diviser TVA par 100 (à cause des parenthèses), puis on y ajoute 1, puis on le multiplie par le contenu de la variable HT. Le résultat de ce calcul est stocké (affecté) dans la variable cible TTC. Une affectation se fait toujours dans le même sens : on détermine (évalue) tout d'abord la valeur à droite du signe =, en faisant tous les calculs nécessaires, puis elle est transférée dans la mémoire dont le nom est indiqué à gauche du =. On peut donc placer une expression complexe à droite du =, mais à sa gauche seul un nom de variable est possible, aucune opération. 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.4 Directives du pré processeur Les directives du pré processeur commencent toujours par # Exemple: #include. Ici la fonction principale main() contient la fonction printf(). En réalité le compilateur ne connaît pas la fonction printf() bien qu'il s'agisse d'une fonction standard du langage C. Cette fonction est effectivement stockée dans un fichier annexe, contenant une librairie de fonctions, appelé fichier de définition (dits aussi fichier d'en-tête ou fichier header), dont l’extension est .h. Il s'agit donc de préciser au compilateur dans quel fichier se trouve la définition de la fonction printf()... Celle-ci se trouve dans le fichier d'en-tête appelé stdio.h. L'incorporation de la déclaration de la fonction printf() se fait au moyen de l'instruction #include (que l'on place en début de fichier) suivie des balises < et > contenant le nom de fichier contenant la définition de la fonction. La déclaration include doit se trouver avant toute utilisation des méthodes déclarées, sinon le compilateur générera au minimum un warning 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 1.4 Directives du pré processeur Les directives du pré processeur commencent toujours par # #include : inclure le fichier définissant (déclarant) les fonctions standard d'entrées/sorties (en anglais STanDard In/Out), qui feront le lien entre le programme et la console (clavier/écran). Dans cet exemple il s'agit de scanf et printf. #define : définit une constante. A chaque fois que le compilateur rencontrera, dans sa traduction de la suite du fichier en langage machine, le mot TVA, ces trois lettres seront remplacées par 18.6. Ces transformation sont faites dans une première passe (appelée pré compilation), où l'on ne fait que du "traitement de texte", c'est à dire des remplacements d'un texte par un autre sans chercher à en comprendre la signification. Il existe d'autres commandes du pré-processeur qui seront détaillées dans ce cours. Les instructions dédiées au pré-processeur ne se terminent pas par un point-virgule ! 1. Présentation du langage C par l’exemple ------------------------------------------------------------------- 2.1 Les identificateurs En C, on désigne les objets (variables, fonctions, etc.) que l'on manipule par un nom, appelé aussi « identificateur ». Pour être valide, le premier caractère d'un identificateur doit obligatoirement être une lettre (A...Z, a...z) ou un underscore (_) Les caractères suivants sont choisis parmi les lettres (A...Z, a...z), les chiffres (0...9) ou l'underscore ( _). La norme ANSI n'impose aucune limite sur la longueur d'un nom. Toutefois le compilateur ne tiendra compte que des 32 premiers caractères. Attention : le C est sensible à la casse (case sensitive) C'est à dire qu'il fait la distinction entre les majuscules et les minuscules. Ex.: les spécifications du langage C précisent que la fonction principale doit être appelée main() et non Main() ou MAIN() 2. Quelques règles d’écriture ------------------------------------------------------------------- Exemples d’identificateurs: 2. Quelques règles d’écriture ------------------------------------------------------------------- nom réservé float _707 signe – interdit Nom-de-variable nom_de_variable_1 caractère spécial @ toto@mailcity.com nom_de_variable commence par un chiffre 123Nom_De_Variable Nom_De_Variable comporte des espaces Nom de Variable Variable Raison Incorrect Correct 2.2 les mots-clés Les noms réservés en C sont les mots-clé du langage. Ci-dessous la liste de tous les noms réservés par la norme ANSI. Ces noms ne peuvent être utilisés comme identificateurs d’objets (noms de variables, de fonctions ou de types). Il est possible que certains compilateurs y ajoutent quelques mots qui leur sont propres. Liste des noms réservés: 2. Quelques règles d’écriture ------------------------------------------------------------------- void unsigned union Typedef switch struct while volatile static sizeof signed short return register Long int if goto for float extern enum else double do default continue const char, case, break auto 2.3 Les séparateurs Deux identificateurs successifs entre lesquels la syntaxe n’impose aucun signe particulier (tel que: , = ; * ( ) [ ] { }) doivent impérativement être séparés soit par un espace, soit par une fin de ligne. float x,y et non floatx,y float x,y,z et plus lisiblement float x, y, z 2.4 Le format libre En C, la mise en page est parfaitement libre Les fins de ligne jouent le rôle de séparateurs, comme un espace, sauf dans les constantes chaînes, où elle sont interdites) •Une ligne peut comporter plusieurs instructions •Une instruction peut s’étendre sur plusieurs lignes •Attention à la lisibilité du programme 2. Quelques règles d’écriture ------------------------------------------------------------------- 2.5 Les commentaires Les commentaires sont des textes explicatifs destinés aux lecteurs du programme et qui n’ont aucune incidence sur le compilateur. En C, il est possible d'insérer un commentaire partout où l'insertion d'un espace est possible. Un commentaire commence par une barre oblique suivie d'une étoile ( /* ), et se termine par une étoile suivie d'une barre oblique ( */ ). Tout ce qui est compris entre les deux symboles est totalement ignoré par le compilateur. /* Ceci est un commentaire */ Le symbole // permet de mettre uploads/s3/ c-masterescom.pdf
Tags
Administration------------------------------------------------------------------- valeur fonction fonctions fichierDocuments similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 02, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.7811MB