Techniques de programmation! ! M. Nassar Ecole Nationale Supérieure d’Informati

Techniques de programmation! ! M. Nassar Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes - Rabat - 2 q Découvrir le langage C q Eléments de programmation q Structures de contrôle q Les tableaux q Les structures q Gestion dynamique de la mémoire q Programmation modulaire : les fonctions q Le préprocesseur et la compilation conditionnelle q La compilation séparée Contenu du cours 3 Section 1 Découvrir le langage C Présentation du langage C Forme Générale d'un programme Compilation d'un programme Types de données de base 4 Découvrir le langage C Présentation du langage C Introduction • Développé par Denis Ritchie au début des années 70 pour travailler sur les toutes premières versions du système d’exploitation UNIX. • Le langage C peut remplacer l’assembleur dans le domaine de la programmation système. • C peut être utilisé pour développer des applications ou des logiciels de base. C’est aussi la base incontournable pour passer à la programmation orienté objet avec C++. 5 Présentation du langage C Eléments de base C possède les éléments de base de la programmation : ⇒ Procédures ⇒ Fonctions ⇒ Blocs ⇒ Constantes et Variables ⇒ Structures de contrôle ⇒ … Découvrir le langage C 6 Forme générale d ’un programme Exemple #include <stdio.h> main() { printf (ʺ″ LANGAGE C \nBonjour… ! ʺ″ ); } « Bonjour.C » présenté ci-dessous, permet d’afficher en deux lignes sur l’écran le message d’accueil. LANGAGE C Bonjour… ! Bonjour.c Découvrir le langage C 7 Forme générale d ’un programme Structure d ’un programme ⇒ Fonctions ⇒ Fichiers #include ⇒ Bloc d ’instructions ⇒ Macro-instruction 8 Forme générale d ’un programme Structure d ’un programme / Fichiers #include • Généralement, les programmes C font appel à des fonctions externes pour réaliser des opérations d’entrée-sortie ou autres. • Le programmeur doit informer le compilateur sur l’existence de ces fonctions en incluant le fichier en-tête approprié : #include <fichier.h> • La bibliothèque la plus utilisée est stdio.h qui contient l’ensemble des fonctions standard d’entrée-sortie parmi lesquelles on trouve printf. Découvrir le langage C 9 Forme générale d ’un programme Structure d ’un programme / Fonction • Un programme source C se présente sous la forme d’une ou de plusieurs fonctions. • Chaque fonction comporte un ou plusieurs blocs d’instructions pour réaliser une tâche précise. • Chaque fonction peut faire appel à une autre fonction du programme. • La fonction principale de tout programme C s’appelle main(). Découvrir le langage C 10 Forme générale d ’un programme Structure d ’un programme / Bloc d ’instruction • Le corps d’un bloc débute par le signe { et se termine par } • Le concept structure les programmes complexes. • Les blocs peuvent être emboîtables, conditionnels ou inconditionnels. • Les blocs contiennent soit des instructions simples, soit des appels à d’autres fonctions ou à des sous-programmes externes. Découvrir le langage C 11 Forma générale d ’un programme Instruction / Macro-instruction • Une instruction est un mot clé permettant d’exécuter une tâche bien donnée. • C permet aussi d’utiliser des macro-instructions traitées par un pré-processeur au moment même de la compilation du programme. • Une macro-instruction peut par exemple remplacer une chaîne de caractères, inclure un fichier de code, réaliser une compilation conditionnelle Découvrir le langage C 12 Forma générale d ’un programme Commentaires • Les commentaires incorporés dans le programme sont placés entre les délimiteurs /* et */ , ou bien après // • Toute instruction C se termine par un point-virgule excepté les déclarations de fonctions, les accolades et les macro-instructions du pré-processeur. Découvrir le langage C 13 Section 2 Eléments de programmation Constantes et Variables Fonction printf, Fonction scanf Expressions, Opérateurs Conversion de types 14 Eléments de programmation Mots réservés Mots clés prédéfinis en C : à éviter comme identificateurs Auto else long switch Break enum register typedef Case extern return union Char float short unsigned Const for signed void Default goto sizeof volatile Do if static while Double int struct 15 Constantes Constantes entières Constante : donnée inchangée qui ne peut varier pendant l’exécution d’un programme. Déclaration : #define Max 100 Constantes entières Une constante entière se présente sous forme décimale, octale ou hexadécimale Décimal…………....Octal…………..Hexadécimal Entier………….….25…………………...031……………..….0x19 120……..……………0170………….……0x78 Long………………25L………..………...031L………………0x19L 120L………..……….0170L……………...0x78L Eléments de programmation 16 Constantes Constantes réelles Une constante réelle représente un nombre à virgule flottante (de type float ou double) sous forme décimale ou exponentielle. 123. -123 123.45 .123 .00123E+2 123.456E-2 00123 E+2 <===> 0.00123*102 123.47 E-2 <===> 123.47/10-2 Eléments de programmation 17 Constantes Constantes caractères Une constante caractère (de type char) peut représenter tout caractère mis entre apostrophes : 'R' 'r' 'i' '£' ': ’ Les constantes caractères sont codées en interne de l’ordinateur par leurs valeurs ASCII. 'A' est représenté par la valeur 65 ; 'B ’ // par la valeur 66 ; etc.... Eléments de programmation 18 Constantes Séquences d ’échappement Caractère de contrôle non-imprimable : composé d ’un antislash suivi d’une suite de caractères. Séquence………………Effet \n……………………….nouvelle ligne (new line) \r………………………..retour chariot (carriage return) \t………………………..tabulation horizontale \v……………………….tabulation verticale Eléments de programmation 19 Constantes Séquences d ’échappement \a……………………….signal sonore (alarme) \b……………………….retour-arrière d’un caractère (backspace) \f……………………….saut de page (from feed) \’……………………….affiche une apostrophe \’’………………………affiche un guillemet \\……………………….affiche une barre oblique inverse \ddd………………….affiche un code ASCII en représentation octale \xddd…………………idem en représentation hexadécimale Eléments de programmation 20 Variables Syntaxe Variable : • emplacement mémoire contenant une donnée modifiable, • caractérisée par un nom identificateur et un type. Syntaxe : type nomvar1, nomvar2, nomvar3,… ; • type représente un type de donnée tel que char, int, short, long, float ou double • le nom d’une variable: - composé de lettres, de chiffres du caractère souligné, - ne doit pas commencer par un chiffre • Le compilateur différencie les majuscules et les minuscules dans les noms des variables Eléments de programmation 21 Variables Exemple Char L ; int A, B, iNbre_1 ; float X, Y, fNbre1 ; Eléments de programmation 22 Variables Affectation Opérateur d’affectation = L’instruction a = 16 ; permet d’affecter la valeur entière 16 à la valeur a déjà définie Dans une affectation le type de la valeur affectée doit correspondre au type de la variable définie. Une variable peut être initialisée lors de sa définition : int a = 16, b =1, iNbre_1 =64 ; Eléments de programmation 23 Entrées/sorties Bibliothèque de fonction E/S Le langage C dispose d’un bibliothèque de fonctions (stdio.h) pour gérer les entrées-sorties. Il suffit d’inclure, au début du programme, l’instruction pré- processeur : #include <stdio.h> Eléments de programmation 24 printf est la fonction qui permet d’afficher des résultats à l’écran. Syntaxe printf(" chaîne de formatage ", [argument1, argument2,…]) ; La chaîne de formatage : format d’affichage du résultat Entrées/sorties Fonction de sortie printf : syntaxe Eléments de programmation 25 • Les codes de formats permettent d’interpréter ou convertir les données des arguments à afficher. • Ces codes doivent correspondre en nombre et en type aux arguments dans la fonction printf. %d ou %i……………..Nombre entier sous forme décimale %u……….………………Nombre Entier non signés %o………….……………Nombre Entier sous forme Octal %x ou %X……..…....Nombre Entier sous forme hexadécimal %c…………………….…Caractère ASCII Entrées/sorties Fonction printf : codes de formats Eléments de programmation 26 %f…………….Nombre à virgule flottante sous forme exponentielle %e ou % E …….Nombre à virgule flottante sous forme exponentielle %g ou % G…Nombre à virgule flottante sous forme décimale ou exponentielle si l’exposant est inférieur à - 4 ou supérieur à la précision de la valeur. %s………………Chaîne de caractères %p………………Pointeur: adresse mémoire d’une autre donnée Entrées/sorties Fonction printf : codes de formats Eléments de programmation 27 #include<stdio.h> main() { printf(" Génie ") ; printf(" Logiciel\n " ) ; printf(" Formation Langage C\n\n " ) ; printf(" Les caractères %c et %c ont les codes ASCII :%d et %d \n\n ”, 'A', 'a', 'A', 'a') ; printf(" %f est un nombre réel \n\ n" , 1.234) ; printf (" Réels en notation exponentielle :%e %e %e \n " , 123.4, 0.00123, 0.01234e5, 123.40e-6) ; printf (" %s " , " Fin des exemples " ); } Entrées/sorties Fonction printf : Exemple Eléments de programmation 28 scanf est la fonction qui permet de lire les données saisies à partir du clavier. Syntaxe : scanf (" codes formats ", [ adresse1, adresse 2, adresse3,….]) ; Pour faire référence à l’adresse d’une variable, utiliser l’opérateur & devant l’identificateur de cette variable. Mêmes codes formats que printf. Entrées/sorties Fonction d ’entrée scanf :syntaxe Eléments de programmation 29 #include<stdio.h> main() { char lettre ; int Nbre1, Nbre2 ; float Nbre3 ; printf(" Taper une lettre : ") ; scanf(" %c", &lettre) ; printf(" Vous avez taper la lettre %c\n ", lettre) ; printf(" Taper trois nombres : ") ; scanf(" %d %d %f ", & Nbre1, &Nbre2, &Nbre3) ; printf ("Les nombres entrés sont : \n \t %d \t %d \t %f ", Nbre1, Nbre2, Nbre3) ; } Entrées/sorties Fonction scanf :exemple Eléments de programmation 30 Saisie ou affichage non formaté d’un seul caractère : getchar () et putchar (). #include <stdio.h> main() { char x ; printf(" Taper une lettre et valider par entrée : ") ; x=getchar() uploads/Management/ info-ensias.pdf

  • 50
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 06, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.4317MB