Filière: MPI Année Universitaire 2019 - 2020 Enseignants : Majdi JRIBI Amina JA

Filière: MPI Année Universitaire 2019 - 2020 Enseignants : Majdi JRIBI Amina JARRAYA Atelier programmation I 2 Plan du cours Chapitre 1 : Eléments de base du langage c Chapitre 2 : Les structures conditionnelles et itératives Chapitre 3 : Les tableaux et les chaines de caractères Chapitre 4 : Les pointeurs Chapitre 5 : Les fonctions Chapitre 6 : Les enregistrements Chapitre 7 : Les fichiers 3 Chapitre 1 Eléments de base du langage c 4 Chapitre 1 1- Introduction 2- Structure d’un programme en C 3- Manipulation de variables 3.1- Déclaration de variables et types 3.2- Opérateurs de base 3.3- Conversion de type 3.4- Quelques fonctions de la bibliothèque <math.h> 4- Les fonctions d’affichage et de lecture 4.1- Fonction d’affichage 4.2- Fonction de lecture 4.3- Fonction fflush(stdin) 5- Exercice 5 1- Introduction Processus de programmation Code source édité (mon programme) Traduction .c • Penser à résoudre un problème quelconque • Conception d’un algorithme • Préciser ces entrées et les sorties ! • Structures de données utilisées ! • Description d’un ensemble d'actions • Exécution dans un certain ordre • … • Édition d’un brouillon 6 1- Introduction Processus de programmation Problème Enoncé Algorithme Programme Spécification Résolution Codage 7 1- Introduction Processus de programmation Code source (Programme.c) Code source (Programme.c) Mon programme .c Code objet (Programme.obj) Code objet (Programme.obj) Programme exécutable (Programme.exe) Programme exécutable (Programme.exe) Compilation Edition des liens Exécution Mon programme .obj Mon programme .exe Analyse du programme et détection des erreurs lexiques et syntaxiques Combiner différents fichiers objets pour créer un fichier exécutable Résultats fournis par le programme et Détection d’éventuelles erreurs logiques 2-Structure d’un programme C 8  Un programme C se présente de la façon suivante : Insertion de bibliothèques à utiliser void main() /* Programme principal */ { /* Début du programme */ Déclarations de variables; /* Corps du programme */ Instructions ; } /* Fin du programme */ Remarque : Chaque programme C doit renfermer une fonction du nom de « main » (Fonction principale de chaque programme C). 9 Remarques  Chaque instruction doit obligatoirement se terminer par ; .  Le langage C possède assez peu d'instructions, il fait appel à des bibliothèques. Exemples : math.h : bibliothèque de fonctions mathématiques stdio.h : bibliothèque d'entrées/sorties standard (Lire, Ecrire)  Le langage C distingue les minuscules des majuscules. Les mots réservés du langage C doivent être écrits en minuscules. 2-Structure d’un programme C 10 #include <stdio.h> void main() { printf("Bonjour!\n"); } Point d'entré du programme Fin du programme Point d'entré du programme Première instruction Point d'entré du programme Inclusion de la bibliothèque contenant la fonction d’affichage printf Début du programme 8 10 2-Structure d’un programme C 11 3-Manipulation de variables 3.1- Déclaration de variables et types Prototype  Une variable est une zone mémoire caractérisée par un: Nom Type Type nom_de_la_variable [= valeur] ; […]: Facultatif Les variables doivent être déclarées avant leur utilisation. 12 3-Manipulation de variables 3.1- Déclaration de variables et types Les noms des variables sont composés de lettres et de chiffres. L’ensemble des symboles utilisables: Lettres ‘a’, ’b’,………..., ‘z’, ’A’, ’B’,………., ’Z’. Chiffres 0, 1, 2,…….’9’. Le symbole ‘_’. Le nom d’une variable doit obligatoirement commencer par une lettre ou le symbole ‘_’. Le langage C distingue les majuscules et les minuscules. NOM et nom sont deux variables différentes. Les noms de variables ne peuvent pas être des mots réservés (do, else, void,…). 13 3-Manipulation de variables 3.1- Déclaration de variables et types Correct Correct Incorrect Correct Incorrect Correct Incorrect Incorrect Incorrect Correct Salaire SALAIRE *SALAIRE Salaire_1 3Salaire Salair Salaire-annuel Salaire. Profession du pere Profession_du_pere  Correct / Incorrect ?? 14 3-Manipulation de variables 3.1- Déclaration de variables et types  Toute variable doit être déclarée avant son utilisation. Type NomVariable; int nbre_occurrence; float racine; Une variable peut être initialisée lors de la déclaration. int nbre_occurrence = 0; float racine = 12.34; Une variable non initialisée a une valeur indéfinie. Plusieurs variables peuvent être déclarées à la fois. float x = 23.5, y, z = 3.5*x; Une variable ne peut être déclarée 15 3-Manipulation de variables 3.1- Déclaration de variables et types NomVariable = Expression; Affectation avec des valeurs constantes: On va ranger une valeur dans une variable. Temperature = 29; Affectation avec des valeurs de variables: La valeur à placer dans une variable peut provenir d’une autre variable. x = 8; y = x; Affectation avec des valeurs d’expressions: On peut ranger dans une variable le résultat d’un calcul. x = 5; y = x * 3;  Exemple d’affectation 16 Type Description char caractère int entier short entier court long entier long float nombres décimaux double nombres décimaux de précision supérieure long double nombres décimaux encore plus précis unsigned int entier non signé 3-Manipulation de variables 3.1- Déclaration de variables et types 17 Exemples de déclaration de variables: int nb; float pi = 3.14; char c = 'a'; long i,j,k; double r = 6.2879821365; 3-Manipulation de variables 3.1- Déclaration de variables et types Déclaration de constantes 18 3-Manipulation de variables 3.1- Déclaration de variables et types Une constante est une donnée dont la valeur ne peut pas varier. Utilisation de valeurs constantes pour calculer, initialiser des variables, ... Une constante ne peut être initialisée qu’à la déclaration. Déclaration d’une constante: Ajout du qualificateur de type const void main() { const int x = 4; const float pi = 3.14 ; ... } 19 3-Manipulation de variables 3.2- Opérateurs de base Opérateurs arithmétiques :  + : addition  a + b  - : soustraction  a – b * : multiplication  a * b / : division (entière et rationnelle)  a / b Si a et b sont des entiers (a = 7; b = 2) a / b donne 3 Si a ou b est un réel (a = 7; b = 2.0) a / b donne 3.5 % : modulo (reste de la division entière)  a % b a = 7; b = 2 alors a%b donne 1 20 3-Manipulation de variables 3.2- Opérateurs de base && : et logique (AND) || : ou logique (OR) ! : négation (NOT) Opérateurs logiques: Pas de type booléen en C. 1: vrai ou 0: faux a b a && b a || b ! a 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 Les opérateurs logiques considèrent toute valeur différente de zéro comme vrai et zéro comme faux. (4 < 10) 1 (vrai) !(5 > 1) 0 (faux) (5 > 1) || !(4 < 8) 1 (vrai) 21 3-Manipulation de variables 3.2- Opérateurs de base Opérateurs de comparaison : (1: vrai ou 0: faux)  == : égal à  a == b != : différent de  a != b < : strictement inférieur  a < b <= : inférieur ou égal  a <= b > : strictement supérieur  a > b >= : supérieur ou égal  a >= b Les résultats des opérateurs de comparaison et des opérateurs logiques sont du type int: la valeur 1 correspond à la valeur booléenne vrai. la valeur 0 correspond à la valeur booléenne faux. 22 Exemples a = 2; valeur de a: 2 r = 3%2; valeur de r: 1 a=a+r ; valeur de a: 3 a = (3==3); valeur de a: 1 a = (6==5); valeur de a: 0 a = (2!=3); valeur de a: 1 a = (6<=3); valeur de a: 0 a = !1; valeur de a: 0 a =((3==3) || (6<=3)); valeur de a: 1 a =((3==3) && (6<=3)); valeur de a: 0 3-Manipulation de variables 3.2- Opérateurs de base Le langage C autorise des écritures simplifiées pour l’incrémentation et la décrémentation de variables :  i = i+1; i++;  i = i-1;  i--;  a = a+b;  a+= b;  a = a-b;  a-= b;  a = a * b;  a*= b;  a = a / b;  a/= b; a=i++;  a=i; i=i+1; a=++i;  i=i+1; a=i; 23 3-Manipulation de variables 3.2- Opérateurs de base L'opérateur de conversion de type, appelée cast ( ), permet de modifier explicitement le type d'un objet. Syntaxe: (type) objet Exemple: int i=3, j=2; float x; x= (float) i/j; /* x=1.5 */ 24 3-Manipulation de variables 3.3- Conversion de type sqrt : racine carrée d’un entier ou d’un réel Exemple : sqrt(16) = 4 floor et ceil: arrondissement d’un réel Exemple : floor(2.3) = 2 floor(4.7) = 4 ceil (2.3) = 3 ceil (4.7) = 5 pow : puissance nième de x (xn) Exemple : pow(2,3)=23=8 25 3-Manipulation de variables 3.4- Quelques fonctions de la bibliothèque <math.h> 4-Les fonctions d’affichage et de lecture Utiliser la bibliothèque <stdio.h> Pour l’affichage et la saisie, nous devons spécifier les formats de variables: %d: int %f: float %c: char %lf: long double %s: les chaînes de caractères 26 Syntaxe: Exemple: La partie chaine de caractères peut contenir des caractères spéciaux par exemple: \n: uploads/Ingenierie_Lourd/ chapitre-1-modifie.pdf

  • 17
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager