Langage de Programmation Structuré - Le Langage C - M.MOUSTAID - Le Langage C -

Langage de Programmation Structuré - Le Langage C - M.MOUSTAID - Le Langage C - M.MOUSTAID Sommaire 1. Introduction au langage 2. Éléments de base (règles d’écriture, types…) 3. Les variables 4. Opérateurs et expressions 5. Les entrées-Sorties (printf, scanf) 6. Les structures de contrôle - Le Langage C - M.MOUSTAID Sommaire 7. Classification des variables 8. Les objets structurés (tableaux, structures) 9. Les Fonctions 10. Les pointeurs 11. Les fichiers 12. Le préprocesseur (#include, #define…) - Le Langage C - M.MOUSTAID Introduction L’ordinateur est une machine non intelligente, qui sait exécuter des opérations très simples : • Opérations arithmétiques : addition, soustraction, multiplication… • Opérations de comparaisons. • Lecture de valeurs et affichage de résultats. - Le Langage C - M.MOUSTAID Crée par KERNIGHAM et RITCHIE pour développer le système d’exploitation UNIX , C est un langage compilé, c'est à dire qu'il faut: * Entrer le programme ou le code source dans l'ordinateur (à l'aide d'un EDITEUR), * le traduire en langage machine (Codes binaires compréhensibles par l'ordinateur): c'est la compilation. * l'exécuter et visualiser le résultat - Le Langage C - M.MOUSTAID Introduction Premier Programme en C Exemple: # include <stdio.h> main() { printf(’’Bonjour!’’); } La directive #include inclu le fichier stdio.h au programme avant la compilation (pour pouvoir utiliser la fonction prédéfinie printf). - Le Langage C - M.MOUSTAID Définition d'une variable – nom: • Unique pour chaque variable • Commence toujours par une lettre • Différenciation minuscule-majuscule – type: • Conditionne le format de la variable en mémoire • Peut être soit un type standard ou un type utilisateur – valeur: • Peut évoluer pendant l'exécution • initialisation grâce à l'opérateur d'affectation - Le Langage C - M.MOUSTAID Types de variables – charcaractère – int entier – short entier court – long entier long – float nombre décimal (réel) – double nombre décimal de précision supérieure – long double nombre décimal encore plus précis – unsigned int entier non signé - Le Langage C - M.MOUSTAID Déclaration • Déclaration d'une variable Type nom_de_la_variable [= valeur] • Exemple: int nb; float pi = 3.14; char c = 'a'; long i,j,k; double r = 6.28765; - Le Langage C - M.MOUSTAID LA FONCTION PRINTF La fonction printf permet d’afficher à l’ecran Syntaxe: printf("%format",nom_de_variable); - Le Langage C - M.MOUSTAID • formats: –%c caractère –%s chaîne de caractères –%dentier –%fréel –%lf double –%e réel en notation scientifique Instructions de base – opérateurs de base • +,-,*, / opérateurs arithmétique de base • % reste d'une division entière • == test d'égalité • != test de différence • <, >, <=, >= test de comparaison • ! négation • || ou logique pour évaluer une expression • && et logique pour évaluer une expression Instructions de base • Exercice d’application – opérateurs de base • a = 2+3 • a = 3%2 • a = (3==3) • a = (6==5) • a = (2!=3) • a = (6<=3) • a = !1 • a =((3==3) || (6<=3)) • a =((3==3) && (6<=3)) - Le Langage C - M.MOUSTAID Éléments de base - Le Langage C - M.MOUSTAID NOTATION RESULTAT \a cloche ou bip (alert ou audible bell) \b Retour arrière (Backspace) \f Saut de page (Form Feed) \n Saut de Ligne (Line Feed) \r Retour chariot (Carriage Return) \t Tabulation horizontaLe (HorizontaL Tab) \v Tabutation verticale (VerticaL Tab) \\ \ \' ‘ \ '' ‘’ \? ? Exercice • a et b sont des entiers, a = -21430 b = 4782, calculer et afficher a+b, a-b, a*b, a/b, a%b en format décimal, et en soignant l’interface homme/machine. • a/b donne le quotient de la division, a%b donne le reste de la division. - Le Langage C - M.MOUSTAID Exemple #include <stdio.h> #include <conio.h> void main() { char c; c =‘A’; /* c est le caractere alphanumerique A */ printf("%d\n",c); /* affichage du code ASCII en decimal */ /* et retour … à la ligne */ printf("%o\n",c); /* affichage du code ASCII en base huit /* et retour … à la ligne */ printf("%x\n",c); /* affichage du code ASCII en hexadecimal /* et retour … à la ligne */ printf("%c\n",c); /* affichage du caractère */ /* et retour à la ligne */ puts("Pour continuer frapper une touche..."); getch(); /* Attente d'une saisie clavier */ } - Le Langage C - M.MOUSTAID Correction #include <stdio.h> #include <conio.h> void main() { int a,b; a= -21430; b= 4782; printf("A + B = %d\n",a+b); printf("A - B = %d\n",a-b); printf("A x B = %d\n",a*b); printf("A sur B = %d\n",a/b); printf("A mod B = %d\n",a%b); puts("Pour continuer frapper une touche..."); getch(); /* Attente d'une saisie clavier */ } - Le Langage C - M.MOUSTAID LA FONCTION SCANF • La fonction scanf permet la saisie clavier de n'importe quel type de variable. • Les variables à saisir sont formatées, le nom de la variable est précédé du symbole & désignant l'adresse de la variable . • Tous les éléments saisis après un caractère d'espacement (espace, tabulation) sont ignorés. • Syntaxe : Scanf("format",&variable) - Le Langage C - M.MOUSTAID LA FONCTION SCANF • Exemples: char alpha; int i; float r; scanf("%c",&alpha);/* saisie d'un caractère */ scanf("%d",&i); /* saisie d'un nombre entier en décimal */ scanf("%x",&i); /* saisie d'un nombre entier en hexadécimal*/ scanf("%f",&r); /* saisie d'un nombre réel */ - Le Langage C - M.MOUSTAID Instruction de test simple • Instructions de base – instruction conditionnelle simple si alors if (expression) { instructions; } expression est évaluée. Si le résultat est vrai alors les instructions sont exécutées. – exemple int x; printf(« Entrer x: »); scanf(« %d »,&x); if (x%2==0) { printf(« %d est paire »,x); } – Instruction conditionnelle simple si alors sinon if (expression) { instructions1; } else { instrutions2; } Si le résultat de expression est vrai alors les instructions1 sont exécutées sinon on exécute l'ensemble instructions2 – exemple int x; printf(« Entrer x: »); scanf(« %d »,&x); if (x%2==0) { printf(« %d est paire »,x); } else { printf(« %d est impaire »,x); } Instruction de test simple - Le Langage C - M.MOUSTAID • Instructions de base – instruction conditionnelle multiple switch(expression) { case valeur1: instructions1;break; case valeur2: instructions2;break; . . . case valeur3: instruction3;break; default: instruction4;break; } expression est évaluée. Si le résultat vaut valeur1, alors instruction1 est exécutée et on quitte le switch, sinon si expression vaut valeur2, ……, sinon on va dans default pour exécuter instruction4. instruction conditionnelle multiple - Le Langage C - M.MOUSTAID – Permet de faire une sélection parmi plusieurs choix. Exemple: char c; printf('' entrer votre choix ''); Scanf('' %c'‘,&c); switch (c) { case 'a': printf(" 0"); break; case 'b': printf("1"); break; case 'q': printf(" 2"); break; default: printf("3"); } instruction conditionnelle multiple Algorithme : Déclaration Entier : j Chaîne :jours Début Ecrire « donner un chiffre » Lire J Cas parmi J Cas 1 : jour « lundi » Cas 2 : jour « Mardi » Cas 3 : jour « Mercredi » Cas 4 : jour « Jeudi » Cas 5 : jour « Vendredi » Cas 6 : jour « Samedi » Cas 7 : jour « Dimanche » Sinon Ecrire « erreur » Fin Cas Fin Algorithme : Déclaration Entier : j, M, A chaîne : Mois Début Ecrire « donner l’année » Lire A Ecrire « donner le jour » Lire J Ecrire « donner le mois » Lire M Cas parmi M Cas 1 : Mois « Janvier » Cas 2 : Mois « Février » …… Cas 12 : Mois « Décembre » Sinon Ecrire « erreur » Fin Cas Ecrire « la date est : »,J, Mois, A Fin Instructions de base instruction conditionnelle multiple - Le Langage C - M.MOUSTAID • Exercice 1 : Ecrire un programme qui à partir d’un nombre compris entre 1 et 7 affiche le jour correspondant. instruction conditionnelle multiple • Exercice 2 : Ecrire un programme qui permet d’entrer une date sous forme 15 10 2002 et d’afficher la date sous forme 15 octobre 2002. - Le Langage C - M.MOUSTAID Instruction de répétition –boucle pour: for(expr1;expr2;expr3) { instructions } expr1: évaluée 1 seule fois en début de boucle expr2: évaluée avant chaque itération. Si vrai alors les instructions de la boucle sont exécutées sinon la boucle est terminée expr3: évaluée à la fin de chaque itération • Exemple: // somme des 100 premiers entiers int i,s; s= 0; for(i=0;i<=100;i = i+1) { s = s+i; / / ou s+=i; } printf(" la somme vaut: %d \n",s); Instruction de répétition –boucle tant que while (expression) { instructions; } expression est évaluée avant chaque itération. Si le résultat est vrai alors les instructions sont exécutées sinon on sort de la boucle – Exemple : // somme des 100 premiers entiers int i=0,s=0; while(i<=100) { s = s+i; i = i+1; } printf(" la somme vaut: %d \n", s); Instruction de répétition – boucle répéter do { instructions; } while (expression); expression est évaluée après chaque itération. Si le résultat est vrai alors les uploads/Ingenierie_Lourd/ cours-langage-c.pdf

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